Fargateプラットフォームバージョン をLATESTにすると1.4.0を指すようになった。
1.3.0から1.4.0の主な変更点は下記の通り。
- EFSエンドポイントのサポート
- ボリュームサイズが単一ボリュームで20GBに
- ネットワーク経路の変更
- CloudWatch Container Insightsにネットワーク関連のメトリクス追加
- CAP_SYS_PTRACEのサポート
- メタデータサービスv4の提供
- メタデータサービスにネットワーク関連の情報とAZ情報の追加
- 共通ECSエージェントからFargate専用エージェントへの変更
ネットワーク関連の変更点
いまいちネットワーク関連の変更点がよく分からなかったので調べた。
FargateのENI
Fargateは、コンテナを実行する仮想サーバーをAWSユーザーから隠蔽することで、管理コストを減らしてくれる。
仮想サーバーは、AWS管轄のVPCで動作しており、そのVPC内のENIがアサインされる。
これを Fargate ENI と呼ぶ。
仮想サーバー上で動作する個々のFargateタスクには、AWSユーザー側のVPCのENIがアサインされる。
これを Task ENI と呼ぶ。
通信処理ごとのネットワーク経路
1.3.0までは、一部の通信をFargate ENI経由で行っていた。
Fargate ENIなのでAWSユーザーからは見えないVPC上を経由していたはず。
一部の通信はこちら。
- ECRへのログイン
- Secrets Managerへのアクセス
- Parameter Storeへのアクセス
1.4.0からは、Fargate ENIが使われなくなり、全てTask ENIを経由するようになった。
Task ENIはAWSユーザーのVPCを経由し、ユーザーの管理下にあることになる。
注意点
ネットワーク経路の変更に伴って、VPCエンドポイント経由でアクセスしているリソースの追加設定が必要になる。
ECRに対する処理は、ログインとイメージのダウンロードがあり、それぞれにエンドポイントがあるため1.4.0以降は両方の設定が必要になる。
ECR関連のVPCエンドポイントについては、こちらにまとめた。