概要
ECS Fargateを運用していると時々にFargateのソフトウェア・アップデートが来たりします。
その対応と確認方法まとめです。
通知内容
Event type code: AWS_ECS_SECURITY_NOTIFICATION
English follows Japanese | 英語のメッセージは日本語の後にございます
ソフトウェアアップデートが Fargate にデプロイされました。これには、CVE パッチまたはその他の重要なパッチが含まれています。お客様で必要なアクションはございません。起動されたすべての新しいタスクは、自動的に最新のソフトウェアバージョンを使用します。実行中のタスクでは、これらの更新を適用するにはタスクを再起動する必要があります。下記のECSサービスの一部として実行されているタスクは、日本時間2023年1月19日 09:00:00 から自動的に更新されます。
影響を受けるリソースの一覧は、[影響を受けるリソース] (Affected resources) タブから [クラスタ] (Cluster) | [サービス] (Service) 形式でご確認いただけます。
日本時間2023年1月19日 09:00:00 以降、Fargateはこれらのタスクを徐々に再開し始めます。通常、サービスは更新中にほとんど中断されないはずです。タスクがローカルの一時ストレージに保存したデータは、スケールダウンイベントと同様に利用できなくなります。この再起動のタイミングを制御したい場合は、force-new-deployment を指定する ECS コマンドラインインターフェイスからupdate-service コマンドを実行することにより、日本時間2023年1月19日 09:00:00 より前にサービスを更新できます。例:
$ aws ecs update-service --service service_name \
--cluster cluster_name --force-new-deployment
Fargate の更新プロセスの詳細については、ECS 開発者ガイド [1] を参照してください。
ご質問やご不明な点がある場合は、AWS サポート [2] までお問い合わせください。
[1] https://docs.aws.amazon.com/AmazonECS/latest/userguide/task-maintenance.html
[2] https://aws.amazon.com/support
Affected resources (showing 3 of 3)
XXXcluster/XXXservice
XXXcluster/XXXservice
XXXcluster/XXXservice
対応方法
CloudShellでコマンド実行
- 確認コマンド
- サービス名
- プラットフォーム名
- プラットフォームバージョン
- サービス作成時刻
※このサービス作成時刻(.deployments[].createdAt)が重要で、Fargateのソフトウェア・アップデートが実行されたかどうかの判断材料になります
aws ecs describe-services --cluster <cluster name> --services <service name> | jq -r '.services[] | .serviceName, .launchType, .platformVersion, .deployments[].createdAt'
アップデートコマンド
aws ecs update-service --service <service name> \
--cluster <cluster name> --force-new-deployment
まとめ
ソフトウェア・アップデートの対応自体はとても簡単で影響範囲もほぼ発生しないものなのですが、アップデートが実施されたかの確認方法が記載されていなかったので、
色々調べてサポートへ問い合わせを実施したりした結果、サービス自体が再生成されていれば問題ないとのことでした。
確認方法としてはちょっともやっとする所ではありますが、これもマネージド・サービス故なので割り切っていこうと思います。
この記事が同じことで悩んでる方に役立てば幸いです。