Amazon ECS の動的ポートマッピングを設定する方法を教えてください。

所要時間1分
0

Amazon Elastic Container Service (Amazon ECS) のコンテナインスタンスに動的ポートマッピングを設定しようと思います。

簡単な説明

Classic Load Balancer では、同じインスタンスでタスクの複数のコピーを実行することはできません。代わりに、Classic Load Balancer を使用するときは、コンテナインスタンスのポート番号を静的にマッピングする必要があります。ただし、Application Load Balancer は動的ポートマッピングを使用するため、同じコンテナインスタンスの 1 つのサービスから複数のタスクを実行できます。

**注:**ネットワークロードバランサーは動的ポートマッピングにも使用することができます。「Network Load Balancer」と「Network Load Balancer の作成」を参照してください。

解決策

動的ポートマッピングを設定するには、次の手順に従います:

  1. Application Load Balancerとターゲットグループを作成します。
    **重要:ターゲットグループを作成するときにヘルスチェックトラフィックを正しくルーティングするには、「高度なヘルスチェック設定」を展開します。****[ポート] で、[トラフィックポート]**を選択します。
  2. Amazon ECS コンソールを開き、作成または更新中タスク定義のホストポートを0に設定します。必ずアプリケーションのコンテナポートマッピングを設定してください。
    **重要:**host および awsvpcネットワークモードは、動的ホストポートマッピングをサポートしていません。
  3. ロードバランサーからコンテナインスタンスへのインバウンドトラフィックを受け入れるルールを追加します。セキュリティグループとネットワークアクセスコントロールリスト (ネットワーク ACL) では、ロードバランサーからインスタンスへのトラフィックをエフェメラルポート範囲で受け入れる必要があります。
    **注:**エフェメラルポート範囲の詳細については、「PortMapping」を参照してください。
  4. Amazon ECS コンソールを開き、サービスを、作成した Application Load Balancer を使用する設定にします。
    **重要:**ロードバランサーは、サービスの作成時にのみ追加できます。サービスの作成後は、ターゲットグループの Amazon リソースネーム (ARN)、コンテナ名、またはサービス定義で指定したコンテナポートを変更することはできません。既存のサービスのロードバランサー構成の追加、削除、または変更はできません。サービスタスク定義を更新する場合、サービスの作成時に指定したコンテナ名とコンテナポートはタスク定義に残しておく必要があります。詳細については、「サービスロードバランシング」を参照してください。
  5. Amazon Elastic Compute Cloud (Amazon EC2) コンソールを開き、ナビゲーションペインから [ターゲットグループ] を選択します。ターゲットグループのハイパーリンク名を選択します。作成したサービスのタスクにどのポートが使用されているかは、[ターゲット] タブで確認できます。

動的ポートマッピングが正しく設定されていれば、ターゲットグループに登録されているターゲットと、タスクに割り当てられたポートが表示されます。また、次のエフェメラルポート範囲の登録済みターゲットにもタスクが表示されます: 49153—6553532768—61000

関連情報

Elastic Load Balancing とは?

Application Load Balancer とは?

AWS公式
AWS公式更新しました 2年前
コメントはありません

関連するコンテンツ