VPC Lattice を使用するサービスを作成する - Amazon Elastic Container Service

VPC Lattice を使用するサービスを作成する

AWS Management Consoleまたは AWS CLI のいずれかを使用して、VPC Lattice でサービスを作成できます。

前提条件

個のチュートリアルを開始する前に、次の前提条件を満たしていることを確認します。

AWS Management Consoleで VPC Lattice を使用するサービスを作成する

AWS Management Consoleを使用して VPC Lattice でサービスを作成するには、次のステップに従います。

  1. コンソール (https://console.aws.amazon.com/ecs/v2) を開きます。

  2. ナビゲーションページで、[クラスター] を選択します。

  3. [クラスター] ページで、サービスを作成するクラスターを選択します。

  4. [Services] (サービス) タブから、[Create] (作成) を選択します。

    以前にサービスを作成したことがない場合は、「コンソールを使用した Amazon ECS サービスの作成」のステップに従い、VPC Lattice セクションまで進んだら、これらのステップを続行します。

  5. ボタンをオンにして [VPC Lattice を有効にする] ことを選択します。

  6. 既存のロールを使用するには、[Amazon ECS の ECS インフラストラクチャロール] で、VPC Lattice ターゲットグループの作成時に使用する作成済みのロールを選択します。新しいロールを作成するには、[ECS インフラストラクチャロールの作成] を選択します。

  7. VPC を選択します。

    [VPC] は、タスク定義を登録したときに選択したネットワークモードによって異なります。EC2 起動タイプで host または network モードを使用する場合は、VPC を選択します。

    awsvpc モードでは、VPC は [ネットワーク] で選択した VPC に基づいて自動的に選択され、変更することはできません。

  8. [ターゲットグループ] で、1 つまたは複数のターゲットグループを選択します。少なくとも 1 つのターゲットグループを選択する必要があります。最大 5 つのターゲットグループを選択できます。追加のターゲットグループを追加するには、[ターゲットグループの追加] を選択します。選択した各ターゲットグループの [ポート名][プロトコル]、および [ポート] を選択します。ターゲットグループを削除するには、[削除] を選択します。

    注記
    • 既存のターゲットグループを追加する場合は、AWS CLI を使用する必要があります。AWS CLI を使用してターゲットグループを追加する方法については、「AWS Command Line Interface リファレンス」の「register-targets」を参照してください。

    • VPC Lattice サービスは複数のターゲットグループを持つことができますが、各ターゲットグループは 1 つのサービスにのみ追加できます。

  9. この時点で、VPC Lattice コンソールに移動してセットアップを続行します。ここでは、リスナーのデフォルトアクションまたは既存の VPC Lattice サービスのルールに新しいターゲットグループを含めます。

    詳細については、「Listener rules for your VPC Lattice service」を参照してください。

重要

セキュリティグループにインバウンドルール vpc-lattice プレフィックスを許可しないと、タスクやヘルスチェックが失敗する可能性があります。

AWS CLIで VPC Lattice を使用するサービスを作成する

AWS CLI を使用して、VPC Lattice でサービスを作成します。各ユーザー入力プレースホルダーを独自の情報に置き換えます。

  1. ターゲットグループ設定ファイルを作成します。以下の例は tg-config.json という名前です

    { "ipAddressType": "IPV4", "port": 443, "protocol": "HTTPS", "protocolVersion": "HTTP1", "vpcIdentifier": "vpc-f1663d9868EXAMPLE" }
  2. 以下のコマンドを使用して、VPC Lattice ターゲットグループを作成します。

    aws vpc-lattice create-target-group \ --name my-lattice-target-group-ip \ --type IP \ --config file://tg-config.json

    出力例:

    { "arn": "arn:aws:vpc-lattice:us-east-2:123456789012:targetgroup/tg-0eaa4b9ab4EXAMPLE", "config": { "healthCheck": { "enabled": true, "healthCheckIntervalSeconds": 30, "healthCheckTimeoutSeconds": 5, "healthyThresholdCount": 5, "matcher": { "httpCode": "200" }, "path": "/", "protocol": "HTTPS", "protocolVersion": "HTTP1", "unhealthyThresholdCount": 2 }, "ipAddressType": "IPV4", "port": 443, "protocol": "HTTPS", "protocolVersion": "HTTP1", "vpcIdentifier": "vpc-f1663d9868EXAMPLE" }, "id": "tg-0eaa4b9ab4EXAMPLE", "name": "my-lattice-target-group-ip", "status": "CREATE_IN_PROGRESS", "type": "IP" }
  3. 以下の ecs-service-vpc-lattice.json という名前の JSON ファイルは、VPC Lattice ターゲットグループに Amazon ECS サービスをアタッチするために使用される例です。以下の例の portName は、タスク定義の portMappings プロパティの name フィールドで定義したものと同じです。

    { "serviceName": "ecs-service-vpc-lattice", "taskDefinition": "ecs-task-def", "vpcLatticeConfigurations": [ { "targetGroupArn": "arn:aws:vpc-lattice:us-west-2:123456789012:targetgroup/tg-0eaa4b9ab4EXAMPLE", "portName": "testvpclattice", "roleArn": "arn:aws:iam::123456789012:role/ecsInfrastructureRoleVpcLattice" } ], "desiredCount": 5, "role": "ecsServiceRole" }

    以下のコマンドを使用して Amazon ECS サービスを作成し、上記の json 例を使用して VPC Lattice ターゲットグループにアタッチします。

    aws ecs create-service \ --cluster clusterName \ --serviceName ecs-service-vpc-lattice \ --cli-input-json file://ecs-service-vpc-lattice.json