スキップしてコンテンツを表示

Amazon EC2 の Amazon ECS タスクで静的 IP アドレスまたは Elastic IP アドレスを使用する方法を教えてください。

所要時間1分
0

Amazon Elastic Compute Cloud (Amazon EC2) コンテナインスタンスで実行される Amazon Elastic Container Service (Amazon ECS) タスクに、静的 IP アドレスまたは Elastic IP アドレスを使用したいです。

解決策

静的 IP アドレスまたは Elastic IP アドレスを Amazon ECS タスクに直接追加することはできません。

代わりに、次のいずれかの手順を実行します。

  • アウトバウンドトラフィックの静的 IP アドレス用に NAT ゲートウェイを作成します。
    注: ダウンストリームユーザーが静的 IP アドレスを必要とする場合は、コンテナインスタンスを NAT ゲートウェイのあるプライベートサブネットに配置します。次に、IP アドレスの許可リストで NAT ゲートウェイの IP アドレスを使用します。
  • インバウンドトラフィックの静的 IP アドレスでは、ネットワークモードホストブリッジを使用します。次に、タスクをホストする Amazon EC2 コンテナインスタンスに Elastic IP アドレスを関連付けます。

タスクが複数のコンテナインスタンスに分散している場合は、次の解決策を実行してインバウンドトラフィックに静的 IP アドレスを使用します。

注: 次の解決策は、ネットワークモードがホストブリッジawsvpc のいずれかである Amazon ECS 最適化 Amazon Linux Amazon マシンイメージ (AMI) を使用するタスクを対象としています。

ターゲットグループを作成する

ターゲットグループを作成します[ターゲットタイプの選択][インスタンス] を選択し、[プロトコル][TCP] を選択します。

重要: サービスのタスク定義で awsvpc ネットワークモードを使用している場合は、[ターゲットタイプの選択][IP アドレス] を選択します。

Network Load Balancer がターゲットグループを使用するように設定する

注: ロードバランサーのセキュリティグループルールでは、コンテナインスタンスまたはタスクの Elastic ネットワークインターフェイスへのアウトバウンドトラフィックを、トラフィックおよびヘルスチェック用のポートで許可する必要があります。かかるルールでは、クライアントからのインバウンドトラフィックをリスナー用ポートで許可する必要もあります。動的ポートマッピングを設定する場合、セキュリティグループはエフェメラルポート (通常は 32768 ~ 65535) でのアウトバウンドトラフィックを許可する必要があります。

ターゲットグループを Network Load Balancer にアタッチし、次の設定を行います。

  • [IP アドレスタイプ][IPv4] を選択します。
  • [VPC] では、コンテナインスタンスの仮想プライベートクラウド (VPC) を選択します。

(オプション) Network Load Balancer ノードでクロスゾーン負荷分散を有効にして、すべてのアベイラビリティーゾーンの登録済みターゲットにトラフィックを分散します。

Amazon ECS サービスを作成する

Amazon ECS サービスを作成し、クラスターに登録されている EC2 インスタンスでタスクを起動します。サービス定義で作成した Network Load Balancer とターゲットグループを指定します。

コンテナインスタンスまたはタスクのネットワークインターフェイス用セキュリティグループでは、トラフィックポートとヘルスチェック用のポートでロードバランサーからのインバウンドトラフィックを許可する必要があります。また、動的ポートマッピングを使用する場合は、セキュリティグループはロードバランサーからのインバウンドトラフィックを、エフェメラルポート範囲で許可する必要があります。

サービスでタスクが開始すると、Amazon ECS はサービス定義内のコンテナインスタンスまたは IP アドレスとポートをターゲットグループに登録します。次に、ロードバランサーはトラフィックをそのコンテナインスタンスまたは IP アドレスにルーティングします。ロードバランサーの静的 IP アドレスをタスクの固定エントリポイントとして使用します。

関連情報

負荷分散により、Amazon ECS サービスのトラフィックを分散する

Amazon ECS で Network Load Balancer を使用する

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

関連するコンテンツ