Amazon ECS でコンテナ化されたアプリケーションにソフトウェアバージョンの一貫性が強制されるように

投稿日: 2024年7月11日

Amazon Elastic Container Service (Amazon ECS) は、コンテナ化されたアプリケーションのソフトウェアバージョンの一貫性を強制するようになりました。これにより、アプリケーション内のすべてのタスクは同一になり、デプロイのパイプラインで定義された保護手段がすべてのコード変更に適用されることになります。

お客様は、HTTP ベースのマイクロサービスなどの長時間実行アプリケーションを Amazon ECS サービスとしてデプロイし、コンテナイメージタグを使用してこれらのサービスを設定することが少なくありません。コンテナイメージはイミュータブルですが、イメージタグはデフォルトではイミュータブルではありません。また、イメージタグを使用してコンテナ化されたアプリケーションを設定するときに、異なるバージョンが意図せずデプロイされることを防ぐ標準的なメカニズムはありません。このような不整合を防ぐため、Amazon ECS は、Amazon ECS サービスに更新をデプロイするときに、コンテナイメージタグをイメージダイジェスト (イメージマニフェストの SHA256 ハッシュ) に解決し、サービス内のすべてのタスクが同一であることと、このイメージダイジェストで起動することを強制するようになりました。つまり、タスク定義で「LATEST」などのミュータブルなイメージタグを使用し、デプロイ後にサービスがスケールアウトされた場合でも、新しいタスクの起動には正しいイメージ (サービスのデプロイ時に使用されたもの) が使用されます。
 

Amazon ECS は、すべての商用および AWS GovCloud (米国) リージョン内で AWS Fargate プラットフォームバージョン 1.4.0 以上か Amazon ECS エージェントのバージョン v1.70.0 以上で実行されるサービスのうち、2024 年 6 月 25 日以降に作成または更新されたものについて、ソフトウェアバージョンの一貫性を自動的に強制します。詳細については、こちらのブログ記事またはドキュメントをご覧ください。