Amazon ECS マネージドインスタンスタスクにネットワークインターフェイスを割り当てる - Amazon Elastic Container Service

Amazon ECS マネージドインスタンスタスクにネットワークインターフェイスを割り当てる

Amazon ECS マネージドインスタンスで awsvpc ネットワークモードを利用することで、アプリケーション間の通信および VPC 内のその他サービスとの通信におけるい管理能力が向上し、よりシンプルなコンテナネットワークが実現します。awsvpc ネットワークモードによりコンテナのセキュリティも強化されます。これは、セキュリティグループやネットワークモニタリングツールを、タスク内でより詳細なレベルで利用できるためです。

デフォルトでは、インスタンスタイプがトランキングをサポートしている場合、すべての Amazon ECS マネージドインスタンスには、起動時にトランク Elastic Network Interface (ENI) がプライマリ ENI としてアタッチされます。ENI トランキングをサポートするインスタンスタイプについて、詳しくは「Amazon ECS コンテナネットワークインターフェイスの増加でサポートされるインスタンス」を参照してください。

注記

選択したインスタンスタイプがトランク ENI をサポートしていない場合、インスタンスは通常の ENI で起動されます。

インスタンスで実行される各タスクは、プライマリプライベート IP アドレスを持つ、トランク ENI にアタッチされた独自の ENI を受け取ります。VPC がデュアルスタックモード対応に設定されており、かつ IPv6 CIDR ブロックを備えたサブネットを利用する場合は、ENI に対しても IPv6 アドレスが割り当てられます。パブリックサブネットを使用する場合、サブネットの IPv4 パブリックアドレス指定を有効にすることで、オプションでパブリック IP アドレスを Amazon ECS マネージドインスタンスのプライマリ ENI に割り当てることができます。詳しくは「Amazon VPC ユーザーガイド」の「サブネットの IP アドレス指定属性を変更する」を参照してください。タスクには、一度に 1 つの ENI しか関連付けられません。

また、同じタスクに属するコンテナでも、localhost インターフェイス経由での通信が可能になります。VPC とサブネットについて、詳しくは「Amazon VPC ユーザーガイド」の「Amazon VPC の仕組み」を参照してください。

以下のオペレーションを行うには、インスタンスにアタッチされたプライマリ ENI が必要です。

  • イメージのダウンロード – コンテナイメージは、プライマリ ENI を介して Amazon ECR からダウンロードされます。

  • シークレットの取得 – Secrets Manager のシークレットおよびその他の認証情報は、プライマリ ENI を介して取得されます。

  • ログのアップロード – ログはプライマリ ENI を介して CloudWatch にアップロードされます。

  • 環境ファイルのダウンロード – 環境ファイルはプライマリ ENI を介してダウンロードされます。

アプリケーショントラフィックはタスク ENI を経由します。

各タスクにはそれぞれ独自の ENI が提供されるため、VPC フローログなどのネットワーキング機能を使用して、タスクとの間で送受信されるトラフィックをモニタリングできるようになります。詳細については、「Amazon VPC ユーザーガイド」の「VPC フローログ」を参照してください。

AWS PrivateLink を活用することもできます。VPC インターフェースエンドポイントを設定することで、プライベート IP アドレスを通じて Amazon ECS の API にアクセスができます。AWS PrivateLink は、VPC と Amazon ECS 間のすべてのネットワークトラフィックを Amazon ネットワークに制限します。インターネットゲートウェイ、NAT デバイス、または仮想プライベートゲートウェイは必要ありません。詳細は「Amazon ECS インターフェイス VPC エンドポイント (AWS PrivateLink)」を参照してください。

awsvpc ネットワークモードでは、Amazon VPC トラフィックミラーリングを活用して、トランク ENI がアタッチされていないインスタンスタイプを使用する場合に、ネットワークトラフィックのセキュリティとモニタリングを行うこともできます。詳しくは「Amazon VPC トラフィックミラーリングガイド」の「What is Traffic Mirroring?」を参照してください。

awsvpc モードに関する考慮事項

  • タスクには、Amazon ECS サービスに紐づいた ENI 管理用ロールが必要です。このロールは、クラスターまたはサービスの作成時に自動で生成されます。

  • タスク ENI は Amazon ECS によって管理され、手動で削除または変更することはできません。

  • スタンドアロンタスク (RunTask) の実行時、またはサービス (CreateService/UpdateService) の作成または更新時の、assignPublicIp を使用したタスク ENI へのパブリック IP アドレス割り当てはサポート対象外です。

  • タスクレベルで awsvpc ネットワークを設定する場合は、Amazon ECS マネージドインスタンスのキャパシティプロバイダーの起動テンプレートの一部として指定したのと同じ VPC を使用する必要があります。起動テンプレートで指定されたサブネットやセキュリティグループとは異なるサブネットやセキュリティグループを使用できます。

  • awsvpc ネットワークモードタスクの場合は、ロードバランサーターゲットグループを設定するときに ip ターゲットタイプを使用します。Amazon ECS は、サポートされているネットワークモードのターゲットグループ登録を自動的に管理します。

デュアルスタックモードでの VPC の使用

デュアルスタックモードで VPC を使用する場合、タスクは IPv4 または IPv6、あるいはその両方を経由して通信できます。IPv4 と IPv6 アドレスは、互いに独立しています。そのため、VPC 内で IPv4 と IPv6 のルーティングとセキュリティを別々に設定する必要があります。VPC をデュアルスタックモード用に設定する方法については、「Amazon VPC ユーザーガイド」の「既存の VPC を IPv4 から IPv6 に移行する」を参照してください。

VPC でインターネットゲートウェイまたは送信専用インターネットゲートウェイを設定した場合は、その VPC をデュアルスタックモードで使用できます。この設定により、IPv6 アドレスが割り当てられたタスクは、インターネットゲートウェイまたは送信専用インターネットゲートウェイを介して、インターネットへのアクセスが可能になります。NAT ゲートウェイはオプションです。詳細については、Amazon VPC ユーザーガイドの「インターネットゲートウェイ」および「Egress-only インターネットゲートウェイ」を参照してください。

以下の条件が満たされた場合、Amazon ECS タスクには IPv6 アドレスが割り当てられます。

  • タスクをホストする Amazon ECS マネージドインスタンスのインスタンスは、バージョン 1.45.0 以降のコンテナエージェントを使用します。インスタンスが使用しているエージェントのバージョンを確認し、必要に応じて更新する方法については、「Amazon ECS コンテナエージェントをアップデートする」を参照してください。

  • dualStackIPv6 アカウント設定が有効になります。詳細については、「アカウント設定による Amazon ECS 機能へのアクセス」を参照してください。

  • タスクは awsvpc ネットワークモードを使用しています。

  • VPC とサブネットは、IPv6 に対して有効になっています。この設定には、指定されたサブネットで作成されたネットワークインターフェイスが含まれます。VPC をデュアルスタックモードに設定する方法について、詳しくは「Amazon VPC ユーザーガイド」の「IPv6 へ移行する」および「サブネットの IP アドレス指定属性を変更する」を参照してください。