Amazon EC2 Container Service (ECS) の動的ポートマッピングをセットアップしたいのですが、その方法を教えてください。

Application Load Balancer の動的ポートマッピングを使用すると、同じ ECS サービスの複数のタスクを ECS クラスターで実行しやすくなります。

Classic Load Balancer の場合は、コンテナインスタンスにポート番号を静的にマッピングする必要があります。ポート間の競合が発生するため、同じインスタンスで 1 つのタスクの複数のコピーを実行することはできません。Application Load Balancer では動的ポートマッピングが許可されます。同じコンテナインスタンスで 1 つのサービスの複数のタスクを実行できます。

動的ポートマッピングのセットアップ方法は次のとおりです。

  1. Amazon EC2 コンソールで、Application Load Balancer とターゲットグループを作成します。詳細については、「Application Load Balancer の作成」を参照してください。
  2. サービスの作成時に、ロードバランサーをサービスにマッピングします。詳細については、「ロードバランサーを使用するようにサービスを設定する」を参照してください。
  3. [ポート] で、デフォルトのトラフィックポートを使用します。[上書き] を選択しないでください。選択すると、ヘルスチェックのトラフィックが正しくルーティングされなくなります。
    注意: タスク定義は、ポート 0 を使用するように設定する必要があります。インスタンスのエフェメラルポート範囲のポートがランダムに使用されるため、ロードバランサーとバックエンドインスタンスのセキュリティグループおよび NACL 設定で、エフェメラルポート範囲を介したロードバランサーからインスタンスへのトラフィックが許可されていることを確認してください。エフェメラルポート範囲の詳細については、「PortMapping」を参照してください。セキュリティグループの設定の詳細については、「コンテナインスタンスのセキュリティグループルールを作成する」を参照してください。
  4. サービスのタスクを実行し、Amazon EC2 コンソールで結果を確認します。

ロードバランサーを追加できるのは、サービスの作成時のみです。サービスの作成後は、サービス定義で指定したターゲットグループ ARN、ロードバランサー名、コンテナ名、およびコンテナポートを変更できません。既存のサービスのロードバランサー設定を追加、削除、または変更することはできません。サービスのタスク定義を更新する場合、サービスの作成時に指定したコンテナ名とコンテナポートは、タスク定義のままにしておく必要があります。詳細については、「負荷分散の概念」を参照してください。

これで、ECS サービスの動的ポートマッピングがセットアップされました。


このページは役に立ちましたか? はい | いいえ

AWS サポート ナレッジ センターに戻る

サポートが必要ですか? AWS サポートセンターをご覧ください。

公開日: 2016-05-26

更新日: 2017-12-19