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

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

AWS マネジメントコンソールまたは AWS CLI のいずれかを使用して、VPC Lattice でサービスを作成できます。

前提条件

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

AWS マネジメントコンソールで VPC Lattice を使用するサービスを作成する

AWS マネジメントコンソールを使用して 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 つのサービスにのみ追加できます。

    • IPv6 専用設定でサービスを作成するには、IP アドレスタイプが IPv6 のターゲットグループを選択します。

  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
    注記

    IPv6 専用設定でサービスを作成するには、IP アドレスタイプが IPv6 のターゲットグループを作成します。詳細については、「AWS CLI コマンドリファレンス」の「create-log-group」を参照してください。

    出力例:

    { "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