はじめに
AWS Fargate は、インフラ管理不要でコンテナを実行できるサーバーレスなコンテナ実行環境です。
Fargate を活用する際、タスクのネットワーク構成を理解することは、セキュリティや可観測性の観点で重要です。
本記事では、Fargate 起動タイプの Amazon ECS タスクにおけるネットワークの仕組みを簡潔に紹介します。
Fargate 起動タイプの Amazon ECS タスクにおけるネットワークオプション
ENI(Elastic Network Interface)の割り当て
Fargate の ECS タスクには、プライマリプライベート IP を備えた ENI が自動で割り当てられます。
- パブリックサブネット: ENI にパブリック IP 割り当て可
- IPv6 対応サブネット: IPv6 アドレス割り当て可
- 1 タスクに 1 ENI: 単一の ENI を持つ
コンテナ間通信
同一タスク内のコンテナ間では localhost
を用いて通信が可能です。
インターネット接続
- パブリックサブネット: パブリック IP を通じて直接接続
- プライベートサブネット: NAT ゲートウェイ経由
- ECR 利用時: PrivateLink によるプライベート通信が可能
VPC フローログ
ENI 単位での通信を監視可能。トラフィックの可視化に活用できます。
AWS PrivateLink
Amazon ECS API への通信をインターネットに依存せず、Amazon ネットワーク内で完結できます。
ENI 管理と IAM
ENI の作成は AWS が自動管理。対応する IAM ポリシー設定も必要です。
プラットフォームバージョン別挙動
アクション | v1.3.0 以下 | v1.4.0 | Windows v1.0.0 | IAM 権限 |
---|---|---|---|---|
ECR 認証 | Fargate ENI | タスク ENI | タスク ENI | 実行ロール |
イメージプル | タスク ENI | タスク ENI | タスク ENI | 実行ロール |
ログ送信 | タスク ENI | タスク ENI | タスク ENI | 実行ロール |
FireLens | タスク ENI | タスク ENI | タスク ENI | タスク IAM |
Secrets 取得 | Fargate ENI | タスク ENI | タスク ENI | 実行ロール |
EFS | - | タスク ENI | タスク ENI | タスク IAM |
アプリ通信 | タスク ENI | タスク ENI | タスク ENI | タスク IAM |
ネットワークモード
-
パラメータ:
networkMode
- 型: 文字列
- 必須: はい
Fargate タスクは awsvpc
モードが必須です。
このモードでは以下の特徴があります:
- ENI を通じて EC2 と同様のネットワーク機能が利用可能
- ポートは ENI に直接マッピング(動的ホストポートマッピング不可)
-
NetworkConfiguration
の指定が必要
none
モードの場合、外部通信不可・ポートマッピング不可となります。
まとめ
Fargate タスクでは、ネットワークモードに awsvpc
を使用し、ENI による分離・可視化が基本設計です。
パブリック IP、NAT、PrivateLink などのネットワーク構成に応じて設計を最適化することが重要です。
タスク単位のセキュリティ制御や監査が可能になるため、要件に応じたネットワーク設計の参考になれば幸いです!
参考文献