建立使用 VPC Lattice 的服務 - Amazon Elastic Container Service

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

建立使用 VPC Lattice 的服務

您可以使用 AWS Management Console 或 AWS CLI 來建立具有 VPC Lattice 的服務。

先決條件

在您開始教學課程之前,請務必先達成以下先決條件:

建立搭配 使用 VPC Lattice 的服務 AWS Management Console

請依照下列步驟,使用 建立具有 VPC Lattice 的服務 AWS Management Console。

  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 取決於您在註冊任務定義時選取的聯網模式。如果您使用 hostnetwork 模式搭配 EC2 啟動類型,請選擇您的 VPC。

    對於 awsvpc 模式,系統會根據您在聯網下選擇的 VPC 自動選取 VPC,且無法變更。

  8. 目標群組下,選擇目標群組。您需要選擇至少一個目標群組,最多可有五個目標群組。選擇新增目標群組以新增其他目標群組。針對您選擇的每個目標群組,選擇連接埠名稱通訊協定連接埠。若要刪除目標群組,請選擇移除

    注意
    • 如果您想要新增現有的目標群組,則需要使用 AWS CLI。如需如何使用 新增目標群組的說明 AWS CLI,請參閱《 AWS Command Line Interface 參考》中的 register-targets

    • 雖然 VPC Lattice 服務可以有多個目標群組,但每個目標群組只能新增至一個服務。

  9. 此時,您會導覽至 VPC Lattice 主控台以繼續設定。這是您在接聽程式預設動作或現有 VPC Lattice 服務的規則中包含新目標群組的位置。

    如需詳細資訊,請參閱 VPC Lattice 服務的接聽程式規則

重要

您需要允許安全群組或任務的傳入規則vpc-lattice字首,且運作狀態檢查可能會失敗。

建立搭配 使用 VPC Lattice 的服務 AWS CLI

使用 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 檔案是用來將 Amazon ECS 服務連接至 VPC Lattice 目標群組的範例。以下範例中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