ECS タスクのネットワークモードを確認

タスクの通信と分離の要件に合うネットワークモードを選びます。

説明

awsvpc は ECS タスクごとにネットワークインターフェイスを割り当て、タスク単位のセキュリティグループを利用できます。Fargate ではこのモードが必要ですが、EC2 では用途に応じて他のモードも利用できます。none では外部と通信できません。

想定される影響

要件に合わないモードを使うと、必要な通信ができなくなったり、タスク単位のアクセス制御が難しくなったりするおそれがあります。

対処方法

タスク単位のネットワーク制御が必要なら NetworkMode: awsvpc を使い、サービスの作成時やタスクの実行時にサブネットとセキュリティグループを指定してください。外部通信が不要なタスクの none 設定を一律に変更しないでください。

例

この例は外部通信が必要なタスクを想定し、none から awsvpc に変更します。タスクのサイズと実行時のネットワーク設定は省略しています。

変更前

yaml
Resources:
  TaskDefinition:
    Type: AWS::ECS::TaskDefinition
    Properties:
      NetworkMode: none
      ContainerDefinitions:
        - Name: app
          Image: amazon/amazon-ecs-sample

変更後

yaml
Resources:
  TaskDefinition:
    Type: AWS::ECS::TaskDefinition
    Properties:
      NetworkMode: awsvpc
      ContainerDefinitions:
        - Name: app
          Image: amazon/amazon-ecs-sample

参考資料