[小ネタ] Fargate のメンテナンスでは待機時間なしでタスクがリタイアすることがある
AWS Fargate タスクのリタイア通知による運用の可視性の向上 | Amazon Web Services ブログ
稀に重大なセキュリティアップデートがある場合、AWS Fargate は設定したタスクのリタイア待機時間を上書きし、待機時間無しで対象のタスクをリタイアさせることがあります。この場合、fargateTaskRetirementWaitPeriod を 0 に設定した場合と同じ挙動となります。
上記の通り待機時間なしでタスクがリタイアすることもあります。
対策
AWS Fargate on Amazon ECS のタスクの廃止とメンテナンス - Amazon Elastic Container Service
AWS Fargate のタスク廃止による影響を最小限に抑えるには、ワークロードをデプロイするときに Amazon ECS のベストプラクティスに従う必要があります。REPLICA サービススケジューラを使用するサービスのデフォルトの maximumPercent 値は 200% です。そのため、AWS Fargate が廃止タスクを開始すると、Amazon ECS はまず新しいタスクをスケジュールし、それが実行されるのを待ってから、古いタスクを廃止します。maximumPercent 値を 100% に設定すると、Amazon ECS は最初にタスクを停止し、次にタスクを置き換えます。
...
サービスでローリング更新 (ECS) のデプロイタイプが使用されている場合、minimumHealthyPercent は、デプロイ時に RUNNING 状態に留まる必要があるサービスのタスクの下限数を表します。
maximumPercent および minimumHealthyPercent を調整する方法があります。
以下のブログでタスクの起動および停止順序が紹介されているのであわせてご参照ください。
ECS のデプロイでコンテナ数が一時的に増えることを防ぎたいです。多重起動を制御する方法を教えてください | DevelopersIO
まとめ
今回は Fargate のメンテナンスでは待機時間なしでタスクがリタイアすることがあるという内容を紹介しました。
どなたかの参考になれば幸いです。
Discussion