EC2 の Amazon ECS タスクネットワークオプション - Amazon Elastic Container Service

EC2 の Amazon ECS タスクネットワークオプション

Amazon EC2 インスタンスでホストされる Amazon ECS タスクのネットワーク動作は、タスク定義で定義されているネットワークモードに左右されます。Amazon ECS では、別のネットワークモードを使用する特別の必要性がある場合を除き、awsvpc ネットワークモードの使用を推奨します。

使用可能なネットワークモードは次のとおりです。

ネットワークモード EC2 の Linux コンテナ EC2 の Windows コンテナ [Description] (説明)

awsvpc

可能

はい

このタスクには、独自の Elastic Network Interface (ENI) とプライマリプライベート IPv4 または IPv6 アドレスが割り当てられます。これにより、タスクに Amazon EC2 インスタンスと同じネットワークプロパティが与えられます。

bridge

はい

いいえ

タスクは、そのタスクをホストする各 Amazon EC2 インスタンス内で実行される、Linux 上の Docker の組み込み仮想ネットワークを使用します。Linux の組み込み仮想ネットワークでは、bridge Docker ネットワークドライバーが使用されます。これは、タスク定義でネットワークモードが指定されていない場合の、Linux のデフォルトのネットワークモードです。

host

はい

いいえ

タスクは、そのタスクをホストする Amazon EC2 インスタンスの ENI にコンテナポートを直接マッピングすることで Docker の組み込み仮想ネットワークをバイパスする、ホストのネットワークを使用します。ダイナミックポートマッピングは、このネットワークモードでは使用できません。このモードを使用するタスク定義内のコンテナには、特定の hostPort 番号を指定する必要があります。ホストのポート番号は、複数のタスクで使用できません。その結果として、1 つの Amazon EC2 インスタンスで同じタスク定義のタスクを複数実行することはできません。

none

はい

いいえ

このタスクには外部ネットワーク接続がありません。

default

いいえ

はい

タスクは、そのタスクをホストする各 Amazon EC2 インスタンス内で実行される、Windows 上の Docker の組み込み仮想ネットワークを使用します。Windows の組み込み仮想ネットワークは nat Docker ネットワークドライバーを使用します。これは、タスク定義でネットワークモードが指定されていない場合の、Windows のデフォルトのネットワークモードです。

Linux の Docker ネットワークについて、詳しくは「Docker ドキュメント」の「ネットワーク機能の概要」を参照してください。

Windows の Docker ネットワークについて詳しくは、Microsoft の Containers on Windows ドキュメント内、「Windows コンテナネットワーク」を参照してください。

IPv6-only モードで VPC を使用する

IPv6-only 設定では、Amazon ECS タスクは IPv6 経由でのみ通信します。IPv6-only 設定の VPC とサブネットを設定するには、IPv6 CIDR ブロックを VPC に追加し、IPv6 CIDR ブロックのみを含む新しいサブネットを作成する必要があります。詳しくは「Amazon VPC ユーザーガイド」の「VPC の IPv6 サポートを追加する」および「サブネットを作成する」を参照してください。

また、IPv6 ターゲットでルートテーブルを更新し、IPv6 ルールでセキュリティグループを設定する必要があります。詳しくは「Amazon VPC ユーザーガイド」の「ルートテーブルを設定する」および「セキュリティグループルールを設定する」を参照してください。

以下の考慮事項に注意してください。

  • Amazon ECS サービスを IPv6-only サブネットを使用する設定に直接更新するか、別の IPv6-only サービスを作成し、Amazon ECS ブルー/グリーンデプロイを用いて新サービスへのトラフィック移行を行うことで、IPv4-only 設定の更新および IPv6-only 設定のデュアルスタックを有効にすることが可能です。Amazon ECS におけるブルー/グリーンデプロイについて、詳しくは「Amazon ECS ブルー/グリーンデプロイ」を参照してください。

  • IPv6-only Amazon ECS サービスは、IPv6 ターゲットグループを保有するデュアルスタックロードバランサーを使用する必要があります。Application Load Balancer または Network Load Balancer の背後で稼働する既存の Amazon ECS サービスを移行する場合は、新しいデュアルスタックロードバランサーを作成して旧ロードバランサーからトラフィックを切り替えるか、既存のロードバランサーの IP アドレスタイプを更新します。

    Network Load Balancer について、詳しくは「Network Load Balancer ユーザーガイド」の「Network Load Balancer を作成する」および「Network Load Balancer の IP アドレスタイプを更新する」を参照してください。Application Load Balancer について、詳しくは「Application Load Balancer ユーザーガイド」の「Application Load Balancer を作成する」および「Application Load Balancer の IP アドレスタイプを更新する」を参照してください。

  • IPv6-only 設定は Windows ではサポートされていません。IPv6-only 設定でタスクを実行するには、Amazon ECS 最適化 Linux AMI を使用する必要があります。Amazon ECS 最適化 AMI について、詳しくは「Amazon ECS に最適化された Linux AMI」を参照してください。

  • IPv6-only 設定でタスクを実行するコンテナインスタンスを起動するときは、--enable-primary-ipv6 EC2 パラメータを使用してインスタンスのプライマリ IPv6 アドレスを設定する必要があります。

    注記

    プライマリ IPv6 アドレスがない場合、ホストまたはブリッジネットワークモードのコンテナインスタンスで実行されているタスクは、ロードバランサーまたは AWS Cloud Map に登録されません。

    Amazon EC2 インスタンスを実行する --enable-primary-ipv6 について、詳しくは「AWS CLI Command Reference」の「run-instances」を参照してください。

    AWS マネジメントコンソールを利用したコンテナインスタンス起動について、詳しくは「Amazon ECS Linux コンテナインスタンスの起動」を参照してください。

  • デフォルトでは、Amazon ECS コンテナエージェントは、インスタンスのデフォルト IPv4 および IPv6 ルートを確認することで、そのコンテナインスタンスが IPv6-only 設定に対応しているかどうかを検出します。この動作を上書きするには、インスタンスの /etc/ecs/ecs.config ファイルで ECS_INSTANCE_IP_COMPATIBILITY パラメータを ipv4 または ipv6 に設定してください。

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

  • IPv4-only エンドポイントと交信する IPv6-only 設定の Amazon ECS タスクにおいては、IPv6 から IPv4 へのネットワークアドレス変換に DNS64 と NAT64 を設定できます。詳細については、Amazon VPC ユーザーガイドDNS64 および NAT64 を参照してください。

  • IPv6-only 設定の Amazon ECS ワークロードでは、Amazon ECR からイメージを取得する際に Amazon ECR デュアルスタックイメージ URI エンドポイントを使用する必要があります。詳しくは「Amazon Elastic Container Registry ユーザーガイド」の「Getting started with making requests over IPv6」を参照してください。

    注記

    Amazon ECR は、IPv6-only 設定のタスクが使用するデュアルスタックインターフェイス VPC エンドポイントには対応していません。詳しくは「Amazon Elastic Container Registry ユーザーガイド」の「Getting started with making requests over IPv6」を参照してください。

  • Amazon ECS Exec は IPv6-only 設定には対応していません。

Amazon ECS の IPv6-only モードをサポートしている AWS リージョン

IPv6-only 設定でのタスクは、Amazon ECS が利用可能な以下の AWS リージョンで実行できます。

  • 米国東部(オハイオ)

  • 米国東部 (バージニア北部)

  • 米国西部 (北カリフォルニア)

  • 米国西部 (オレゴン)

  • アフリカ (ケープタウン)

  • アジアパシフィック (香港)

  • アジアパシフィック (ハイデラバード)

  • アジアパシフィック (ジャカルタ)

  • アジアパシフィック (メルボルン)

  • アジアパシフィック (ムンバイ)

  • アジアパシフィック (大阪)

  • アジアパシフィック (ソウル)

  • アジアパシフィック (シンガポール)

  • アジアパシフィック (シドニー)

  • アジアパシフィック (東京)

  • カナダ (中部)

  • カナダ西部 (カルガリー)

  • 中国 (北京)

  • 中国 (寧夏)

  • 欧州 (フランクフルト)

  • 欧州 (ロンドン)

  • 欧州 (ミラノ)

  • 欧州 (パリ)

  • 欧州 (スペイン)

  • イスラエル (テルアビブ)

  • 中東 (バーレーン)

  • 中東 (アラブ首長国連邦)

  • 南米 (サンパウロ)

  • AWS GovCloud (米国東部)

  • AWS GovCloud (米国西部)