

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

# 建立使用 VPC Lattice 的服務
<a name="ecs-vpc-lattice-create-service"></a>

您可以使用 AWS 管理主控台 或 AWS CLI 來建立具有 VPC Lattice 的服務。

## 先決條件
<a name="create-ecs-vpc-lattice-prereqs"></a>

在您開始教學課程之前，請務必先達成以下先決條件：
+  AWS CLI 已安裝並設定最新版本的 。如需詳細資訊，請參閱[安裝 AWS Command Line Interface](https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2.html)。
**注意**  
您可以使用雙堆疊服務端點，透過 IPv4 和 IPv6 AWS CLI從 、 SDKs 和 Amazon ECS API 與 Amazon ECS 互動。如需詳細資訊，請參閱[使用 Amazon ECS 雙堆疊端點](dual-stack-endpoint.md)。
+ [設定以使用 Amazon ECS。](get-set-up-for-amazon-ecs.md) 中所述的步驟已完成。
+ 您的 IAM 使用者擁有 [AmazonECS\_FullAccess](security-iam-awsmanpol.md#security-iam-awsmanpol-AmazonECS_FullAccess) IAM 政策範例中指定的所需許可。

## 建立搭配 使用 VPC Lattice 的服務 AWS 管理主控台
<a name="ecs-lattice-create-console"></a>

請遵循下列步驟，透過 AWS 管理主控台建立使用 VPC Lattice 的服務。

1. 開啟主控台，網址為 [https://console.aws.amazon.com/ecs/v2](https://console.aws.amazon.com/ecs/v2)。

1. 在導覽頁面中，選擇**叢集**)。

1. 在**叢集**頁面上，選擇要建立服務的叢集。

1. 在 **Services** (服務) 索引標籤上，選擇 **Create** (建立)。

   如果您之前從未建立服務，請遵循[使用主控台建立 Amazon ECS 服務](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/create-service-console-v2.html)中的步驟，然後在到達 VPC Lattice 區段時繼續執行這些步驟。

1. 勾選按鈕以選擇**開啟 VPC Lattice**。

1. 若要使用現有角色，請在 **Amazon ECS 的 ECS 基礎結構角色**欄位中，選擇一個已建立的角色，以便在建立 VPC Lattice 目標群組時使用。若要建立新角色，請**建立 ECS 基礎結構角色**。

1. 選擇 **VPC**。

   **VPC** 取決於您在註冊任務定義時選取的聯網模式。如果您搭配 EC2 使用 `host` 或 `network` 模式，請選擇 VPC。

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

1. 在**目標群組**下，選擇一個或多個目標群組。您需要選擇至少一個目標群組，最多可以選擇五個。選擇**新增目標群組**以新增額外的目標群組。針對選擇的每個目標群組，選擇**連接埠名稱**、**通訊協定**與**連接埠**。若要刪除目標群組，請選擇**移除**。
**注意**  
若要新增現有的目標群組，需要使用 AWS CLI。如需如何使用 新增目標群組的指示 AWS CLI，請參閱《 * AWS Command Line Interface 參考*》中的 [register-targets](https://docs.aws.amazon.com/cli/latest/reference/vpc-lattice/register-targets.html)。
雖然 VPC Lattice 服務可以有多個目標群組，但每個目標群組只能新增至一項服務。
若要在純 IPv6 組態中建立服務，請選擇 IP 位址類型為 `IPv6` 的目標群組。

1. 此時，您會導覽至 VPC Lattice 主控台以繼續設定。在這裡，您可以將新的目標群組加入接聽程式的預設動作或現有 VPC Lattice 服務的規則中。

   如需詳細資訊，請參閱 [VPC Lattice 服務的接聽程式規則](https://docs.aws.amazon.com/vpc-lattice/latest/ug/listener-rules.html)。

**重要**  
您需要允許安全群組或任務使用傳入規則 `vpc-lattice` 字首，否則運作狀態檢查可能會失敗。

## 建立搭配 使用 VPC Lattice 的服務 AWS CLI
<a name="ecs-lattice-create-cli"></a>

使用 AWS CLI 建立具有 VPC Lattice 的服務。將每個{{使用者輸入預留位置}}替換為自己的資訊。

1. 建立目標群組組態檔案。下列範例名為 `tg-config.json`

   ```
   {
       "ipAddressType": "IPV4",
       "port": 443,
       "protocol": "HTTPS",
       "protocolVersion": "HTTP1",
       "vpcIdentifier": "{{vpc-f1663d9868EXAMPLE}}"
   }
   ```

1. 使用下列命令來建立 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 Command Reference* 中的 [create-target-group](https://docs.aws.amazon.com/cli/latest/reference/vpc-lattice/create-target-group.html)。

   輸出範例：

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

1. 下列名為 {{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}}
   ```