本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
建立使用 VPC Lattice 的服務
您可以使用 AWS Management Console 或 AWS CLI 來建立具有 VPC Lattice 的服務。
先決條件
在您開始教學課程之前,請務必先達成以下先決條件:
-
AWS CLI 已安裝並設定最新版本的 。如需詳細資訊,請參閱安裝 AWS Command Line Interface。
注意
您可以使用雙堆疊服務端點,透過 IPv4 和 IPv6 AWS CLI從 、 SDKs 和 Amazon ECS API 與 Amazon ECS 互動。如需詳細資訊,請參閱使用 Amazon ECS 雙堆疊端點。
-
設定以使用 Amazon ECS。 中所述的步驟已完成。
-
您的 IAM 使用者具有 IAM AmazonECS_FullAccess 政策範例中指定的必要許可。
建立搭配 使用 VPC Lattice 的服務 AWS Management Console
請依照下列步驟,使用 建立具有 VPC Lattice 的服務 AWS Management Console。
開啟主控台,網址為 https://console.aws.amazon.com/ecs/v2
。 -
在導覽頁面中,選擇叢集)。
-
在叢集頁面上,選擇要在其中建立服務的叢集。
-
在 Services (服務) 索引標籤上,選擇 Create (建立)。
如果您之前從未建立服務,請遵循使用主控台建立 Amazon ECS 服務中的步驟,然後在到達 VPC Lattice 區段時繼續執行這些步驟。
-
勾選按鈕以選擇開啟 VPC Lattice。
-
若要使用現有角色,針對 Amazon ECS 的 ECS 基礎設施角色,請選擇您在建立 VPC Lattice 目標群組時已建立要使用的角色。若要建立新的角色,請建立 ECS 基礎設施角色。
-
選擇 VPC。
VPC 取決於您在註冊任務定義時選取的聯網模式。如果您使用
host
或network
模式搭配 EC2 啟動類型,請選擇您的 VPC。對於
awsvpc
模式,系統會根據您在聯網下選擇的 VPC 自動選取 VPC,且無法變更。 -
在目標群組下,選擇目標群組。您需要選擇至少一個目標群組,最多可有五個目標群組。選擇新增目標群組以新增其他目標群組。針對您選擇的每個目標群組,選擇連接埠名稱、通訊協定和連接埠。若要刪除目標群組,請選擇移除。
注意
-
如果您想要新增現有的目標群組,則需要使用 AWS CLI。如需如何使用 新增目標群組的說明 AWS CLI,請參閱《 AWS Command Line Interface 參考》中的 register-targets。
-
雖然 VPC Lattice 服務可以有多個目標群組,但每個目標群組只能新增至一個服務。
-
-
此時,您會導覽至 VPC Lattice 主控台以繼續設定。這是您在接聽程式預設動作或現有 VPC Lattice 服務的規則中包含新目標群組的位置。
如需詳細資訊,請參閱 VPC Lattice 服務的接聽程式規則。
重要
您需要允許安全群組或任務的傳入規則vpc-lattice
字首,且運作狀態檢查可能會失敗。
建立搭配 使用 VPC Lattice 的服務 AWS CLI
使用 AWS CLI 建立具有 VPC Lattice 的服務。將每個使用者輸入預留位置
替換為自己的資訊。
-
建立目標群組組態檔案。下列範例命名為
tg-config.json
{ "ipAddressType": "IPV4", "port": 443, "protocol": "HTTPS", "protocolVersion": "HTTP1", "vpcIdentifier": "
vpc-f1663d9868EXAMPLE
" } -
使用下列命令來建立 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" }
-
下列名為
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
\ --serviceNameecs-service-vpc-lattice
\ --cli-input-json file://ecs-service-vpc-lattice.json