

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

# VPC Lattice 中的目標群組
<a name="target-groups"></a>

VPC Lattice 目標群組是執行應用程式或服務的目標或運算資源集合。支援的目標類型包括 EC2 執行個體、IP 地址、Lambda 函數、Application Load Balancer、Amazon ECS 任務和 Kubernetes Pod。您也可以將現有的服務連接到目標群組。如需搭配 VPC Lattice 使用 Kubernetes 的詳細資訊，請參閱[AWS 閘道 API 控制器使用者指南](https://www.gateway-api-controller.eks.aws.dev/)。

每個*目標群組*會用來將請求轉送到一個或多個註冊的目標。當您建立接聽程式規則時，您可以指定目標群組和條件。規則的條件符合時，會將流量轉送到對應的目標群組。您可以針對不同類型的請求，建立不同的目標群組。例如，為一般請求建立一個目標群組，為包含特定規則條件的請求建立其他目標群組，例如路徑或標頭值。

![\[具有接聽程式、接聽程式規則和兩個目標群組的服務。\]](http://docs.aws.amazon.com/zh_tw/vpc-lattice/latest/ug/images/service.png)


您可以為每個目標群組定義服務的運作狀態檢查設定。除非您在建立目標群組時覆寫這些設定，或是在之後修改設定，否則每個目標群組都會使用預設的運作狀態檢查設定。在您為接聽程式在規則中指定目標群組之後，服務會持續監控向目標群組註冊的所有目標的運作狀態。服務會將請求路由至運作狀態良好的已註冊目標。

若要在服務接聽程式的規則中指定目標群組，目標群組必須與服務位於相同的帳戶中。

VPC Lattice 目標群組類似於 Elastic Load Balancing 提供的目標群組，但無法互換。

**Topics**
+ [建立目標群組](create-target-group.md)
+ [登記目標](register-targets.md)
+ [設定運作狀態檢查](target-group-health-checks.md)
+ [路由組態](#target-group-routing-configuration)
+ [路由演算法](#target-group-routing-algorithm)
+ [Target type (目標類型)](#target-type)
+ [IP 地址類型](#target-group-ip-address-type)
+ [HTTP 目標](http-targets.md)
+ [Lambda 函數作為目標](lambda-functions.md)
+ [Application Load Balancer 作為目標](alb-target.md)
+ [通訊協定版本](#target-group-protocol-version)
+ [更新標籤](target-group-tags.md)
+ [刪除目標群組](delete-target-group.md)

# 建立 VPC Lattice 目標群組
<a name="create-target-group"></a>

您會向目標群組註冊您的目標。根據預設，VPC Lattice 服務會使用您為目標群組指定的連接埠和通訊協定，將請求傳送至已註冊的目標。在透過目標群組來註冊每個目標時，您可以覆寫此埠號。

若要將流量路由到目標群組中的目標，請在建立接聽程式或為接聽程式建立規則時，於動作中指定目標群組。如需詳細資訊，請參閱[VPC Lattice 服務的接聽程式規則](listener-rules.md)。您可以在多個接聽程式中指定相同的目標群組，但這些接聽程式必須屬於相同的服務。若要搭配服務使用目標群組，您必須驗證目標群組並未由任何其他服務的接聽程式使用。

您可以隨時從目標群組新增或移除目標。如需詳細資訊，請參閱[向 VPC Lattice 目標群組註冊目標](register-targets.md)。您也可以修改目標群組的運作狀態檢查設定。如需詳細資訊，請參閱[VPC Lattice 目標群組的運作狀態檢查](target-group-health-checks.md)。

## 建立目標群組
<a name="create-lattice-target-group"></a>

您可以建立目標群組並選擇性地註冊目標，如下所示。

**使用主控台來建立目標群組**

1. 在 [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) 開啟 Amazon VPC 主控台。

1. 在導覽窗格的 **VPC Lattice** 下，選擇**目標群組**。

1. 選擇 **Create target group (建立目標群組)**。

1. 對於**選擇目標類型**，請執行下列其中一項操作：
   + 選擇**執行個體**，依執行個體 ID 註冊目標。
   + 選擇 **IP 地址**，依 IP 地址註冊目標。
   + 選擇 **Lambda 函數**將 Lambda 函數註冊為目標。
   + 選擇 **Application Load Balancer**，將 Application Load Balancer 註冊為目標。

1. 針對 **Target group name** (目標群組名稱)，輸入目標群組的名稱。此名稱對於每個 AWS 區域中的帳戶必須是唯一的，最多可有 32 個字元，只能包含英數字元或連字號，且開頭或結尾不得為連字號。

1. 對於**通訊協定**和**連接埠**，您可以視需要修改預設值。預設通訊協定為 **HTTPS**，預設連接埠為 **443**。

   如果目標類型是 **Lambda 函數**，則無法指定通訊協定或連接埠。

1. 針對 **IP 地址類型**，選擇 **IPv4** 以 IPv4 地址註冊目標，或選擇 **IPv6** 以 IPv6 地址註冊目標。建立目標群組後，您無法變更此設定。

   只有在目標類型為 **IP 地址**時，才能使用此選項。

1. 針對 **VPC (VPC)** 選擇虛擬私有雲端 (VPC)。

   如果目標類型為 **Lambda 函數**，則無法使用此選項。

1. 對於**通訊協定版本**，視需要修改預設值。預設值為 **HTTP1**。

   如果目標類型為 **Lambda 函數**，則無法使用此選項。

1. 對於**運作狀態檢查**，視需要修改預設設定。如需詳細資訊，請參閱[VPC Lattice 目標群組的運作狀態檢查](target-group-health-checks.md)。

   如果目標類型為 **Lambda 函數**，則無法使用運作狀態檢查。

1. 針對 **Lambda 事件結構版本**，選擇版本。如需詳細資訊，請參閱[從 VPC Lattice 服務接收事件](lambda-functions.md#receive-event-from-service)。

   只有在目標類型為 **Lambda 函數**時，才能使用此選項

1. （選用） 若要新增標籤，請展開**標籤**，選擇**新增標籤**，然後輸入標籤索引鍵和標籤值。

1. 選擇**下一步**。

1. 對於**註冊目標**，您可以略過此步驟或新增目標，如下所示：
   + 如果目標類型為**執行個體**，請選取執行個體，輸入連接埠，然後選擇**包含為以下待定的項目**。
   + 如果目標類型是 **IP 地址**，請執行下列動作：

     1. 對於**選擇網路**，請保留您為目標群組選取的 VPC，或選擇**其他私有 IP 地址**。

     1. 針對**指定 IPs和定義連接埠**，輸入 IP 地址並輸入連接埠。預設連接埠是目標群組連接埠。

     1. 選擇**包含為下方待處理項目**。
   + 如果目標類型是 **Lambda 函數**，請選擇 Lambda 函數。若要建立 Lambda 函數，請選擇**建立新的 Lambda 函數**。
   + 如果目標類型是 **Application Load Balancer**，請選擇 Application Load Balancer。若要建立 Application Load Balancer，請選擇**建立 Application Load Balancer**。

1. 選擇 **Create target group (建立目標群組)**。

   VPC Lattice 可能需要幾分鐘的時間來註冊目標。如需詳細資訊，請參閱 [為什麼我的 DNS 變更在 Route 53 和公有解析程式中傳播需要這麼長的時間？](https://repost.aws/knowledge-center/route-53-propagate-dns-changes)

**使用 建立目標群組 AWS CLI**  
使用 [create-target-group](https://docs.aws.amazon.com/cli/latest/reference/vpc-lattice/create-target-group.html) 命令來建立目標群組，並使用 [register-targets](https://docs.aws.amazon.com/cli/latest/reference/vpc-lattice/register-targets.html) 命令來新增目標。

## 共用子網路
<a name="target-group-shared-subnets"></a>

參與者可以在共用 VPC 中建立 VPC Lattice 目標群組。下列規則適用於共用子網路：
+ VPC Lattice 服務的所有部分，例如接聽程式、目標群組和目標，都必須由相同的帳戶建立。它們可以在 VPC Lattice 服務擁有者擁有或共用的子網路中建立。
+ 向目標群組註冊的目標必須由與目標群組相同的帳戶建立。
+ 只有 VPC 擁有者可以將 VPC 與服務網路建立關聯。與服務網路相關聯的共用 VPC 中的參與者資源可以將請求傳送至與服務網路相關聯的服務。不過，管理員可以使用安全群組、網路 ACLs 或身分驗證政策來防止這種情況。

如需 VPC Lattice 可共用資源的詳細資訊，請參閱 [分享您的 VPC Lattice 實體](sharing.md)。

# 向 VPC Lattice 目標群組註冊目標
<a name="register-targets"></a>

您的服務可做為用戶端的單一聯絡點，並將傳入流量分配到運作狀態良好的已註冊目標。您可以利用一個或多個群組來登錄每個目標。

如果應用程式的需求增加，您可以向一或多個目標群組註冊其他目標，以處理需求。一旦註冊程序完成且目標通過初始運作狀態檢查，服務就會開始將請求路由到新註冊的目標。

如果對您應用程式的需求減少，或者您需要為目標提供服務，可以從目標群組取消目標的登錄。取消目標的登錄，會將該目標從目標群組中移除，但不會影響到目標。一旦取消註冊，服務就會停止將請求路由到目標。目標會進入 `DRAINING` 狀態，直到處理中的請求已完成。當您準備讓目標再繼續接收請求時，可以將目標註冊到目標群組。

目標群組的目標類型會決定您向該目標群組註冊目標的方式。如需詳細資訊，請參閱[Target type (目標類型)](target-groups.md#target-type)。

使用下列主控台程序來註冊或取消註冊目標。或者，從 使用 [register-targets](https://docs.aws.amazon.com/cli/latest/reference/vpc-lattice/register-targets.html) 和 [deregister-targets](https://docs.aws.amazon.com/cli/latest/reference/vpc-lattice/deregister-targets.html) 命令 AWS CLI。

**Topics**
+ [根據執行個體 ID 來登記或取消登記目標](#register-instances)
+ [根據 IP 地址來登記或取消登記目標](#register-ip-addresses)
+ [註冊或取消註冊 Lambda 函數](#register-lambda-function)
+ [註冊或取消註冊 Application Load Balancer](#register-alb)

## 根據執行個體 ID 來登記或取消登記目標
<a name="register-instances"></a>

目標執行個體必須位於您為目標群組指定的虛擬私有雲端 (VPC) 中。在註冊時，執行個體也必須處於 `running` 狀態。

當您依執行個體 ID 註冊目標時，您可以將服務與 Auto Scaling 群組搭配使用。將目標群組連接至 Auto Scaling 群組且群組向外擴展後，Auto Scaling 群組啟動的執行個體會自動向目標群組註冊。如果分離目標群組與 Auto Scaling 群組的連結，會自動從該目標群組中取消註冊執行個體。如需詳細資訊，請參閱《Amazon EC2 [ Auto Scaling 使用者指南》中的使用 VPC Lattice 目標群組將流量路由到您的 Auto Scaling 群組](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-vpc-lattice.html)。 *Amazon EC2 Auto Scaling *

**使用主控台根據執行個體 ID 來註冊或取消註冊目標**

1. 在 [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) 開啟 Amazon VPC 主控台。

1. 在導覽窗格的 **VPC Lattice** 下，選擇**目標群組**。

1. 選擇目標群組的名稱，以開啟其詳細資訊頁面。

1. 選擇 **Targets (目標)** 標籤。

1. 若要註冊執行個體，請選擇**註冊目標**。選取執行個體，輸入執行個體連接埠，然後選擇**包含為以下待定**項目。新增執行個體完成後，請選擇**註冊目標**。

1. 若要取消註冊執行個體，請選取執行個體，然後選擇**取消註冊**。

## 根據 IP 地址來登記或取消登記目標
<a name="register-ip-addresses"></a>

目標 IP 地址必須來自您為目標群組指定的 VPC 子網路。您無法在相同的 VPC 中註冊其他服務的 IP 地址。您無法註冊 VPC 端點或可公開路由的 IP 地址。

**使用主控台根據 IP 地址來註冊或取消註冊目標**

1. 在 [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) 開啟 Amazon VPC 主控台。

1. 在導覽窗格的 **VPC Lattice** 下，選擇**目標群組**。

1. 選擇目標群組的名稱，以開啟其詳細資訊頁面。

1. 選擇 **Targets (目標)** 標籤。

1. 若要註冊 IP 地址，請選擇**註冊目標**。為每個 IP 地址選取網路，輸入 IP 地址和連接埠，然後選擇**包含為下方待處理項目**。完成指定地址後，請選擇**註冊目標**。

1. 若要取消註冊 IP 地址，請選取 IP 地址，然後選擇**取消註冊**。

## 註冊或取消註冊 Lambda 函數
<a name="register-lambda-function"></a>

您可以向目標群組註冊單一 Lambda 函數。如果您不再需要將流量傳送到您的 Lambda 函數，則可以將它取消註冊。取消註冊 Lambda 函數之後，傳輸中的請求會失敗，出現 HTTP 5XX 錯誤。最好建立新的目標群組，而不是取代目標群組的 Lambda 函數。

**使用主控台註冊或取消註冊 Lambda 函數**

1. 在 [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) 開啟 Amazon VPC 主控台。

1. 在導覽窗格的 **VPC Lattice** 下，選擇**目標群組**。

1. 選擇目標群組的名稱，以開啟其詳細資訊頁面。

1. 選擇 **Targets (目標)** 標籤。

1. 如果沒有註冊 Lambda 函數，請選擇**註冊目標**。選取 Lambda 函數，然後選擇**註冊目標**。

1. 若要取消註冊 Lambda 函數，請選擇 **Deregister (取消註冊)**。出現確認提示時，請輸入 **confirm**，然後選擇**取消註冊**。

## 註冊或取消註冊 Application Load Balancer
<a name="register-alb"></a>

您可以向每個目標群組註冊單一 Application Load Balancer。如果您不再需要將流量傳送到負載平衡器，您可以取消註冊。取消註冊負載平衡器之後，傳輸中的請求會失敗並出現 HTTP 5XX 錯誤。最好建立新的目標群組，而不是取代目標群組的 Application Load Balancer。

**使用主控台註冊或取消註冊 Application Load Balancer**

1. 在 [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) 開啟 Amazon VPC 主控台。

1. 在導覽窗格的 **VPC Lattice** 下，選擇**目標群組**。

1. 選擇目標群組的名稱，以開啟其詳細資訊頁面。

1. 選擇 **Targets (目標)** 標籤。

1. 如果沒有註冊 Application Load Balancer，請選擇**註冊目標**。選取 Application Load Balancer，然後選擇**註冊目標**。

1. 若要取消註冊 Application Load Balancer，請選擇**取消註冊**。出現確認提示時，請輸入 **confirm**，然後選擇**取消註冊**。

# VPC Lattice 目標群組的運作狀態檢查
<a name="target-group-health-checks"></a>

您的服務會定期將請求傳送至其註冊的目標，以測試其狀態。這些測試稱為*運作狀況檢查*。

每個 VPC Lattice 服務只會將請求路由至運作狀態良好的目標。每個服務會使用目標註冊的目標群組的運作狀態檢查設定，來檢查每個目標的運作狀態。目標註冊後，必須通過一次運作狀態檢查，才算運作狀態良好。在每次運作狀態檢查完成後，服務會關閉為運作狀態檢查建立的連線。

**限制和考量事項**
+ 當目標群組通訊協定版本為 HTTP1 時，依預設會啟用運作狀態檢查。
+ 當目標群組通訊協定版本為 HTTP2 時，根據預設不會啟用運作狀態檢查。不過，您可以啟用運作狀態檢查，並手動將通訊協定版本設定為 HTTP1 或 HTTP2。
+ 運作狀態檢查不支援 gRPC 目標群組通訊協定版本。不過，如果您啟用運作狀態檢查，則必須將運作狀態檢查通訊協定版本指定為 HTTP1 或 HTTP2。
+ 運作狀態檢查不支援 Lambda 目標群組。
+ 運作狀態檢查不支援 Application Load Balancer 目標群組。不過，您可以使用 Elastic Load Balancing 啟用 Application Load Balancer 目標的運作狀態檢查。如需詳細資訊，請參閱《*Application Load Balancer 使用者指南*》中的[目標群組運作狀態檢查](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/target-group-health-checks.html)。

## 運作狀態檢查設定
<a name="health-check-settings"></a>

您需要按下表中的描述為目標群組中的目標設定運作狀態檢查。表中使用的設定名稱是 API 中使用的名稱。服務會使用指定的連接埠、通訊協定和 ping 路徑，每隔 **HealthCheckIntervalSeconds** 秒將運作狀態檢查請求傳送至每個已註冊的目標。每個運作狀態檢查請求是各自獨立，且在整個間隔內持續保持此結果。目標回應所花的時間不影響下次運作狀態檢查請求的間隔。如果運作狀態檢查超過 **UnhealthyThresholdCount** 連續失敗，服務會將目標停止服務。當運作狀態檢查超過 **HealthyThresholdCount** 連續成功時，服務會將目標恢復服務。


| 設定 | Description | 
| --- | --- | 
| **HealthCheckProtocol** |  服務在對目標執行運作狀態檢查時使用的通訊協定。可能的通訊協定是 HTTP 和 HTTPS。預設為 HTTP 通訊協定。  | 
| **HealthCheckPort** |  服務在對目標執行運作狀態檢查時使用的連接埠。預設值是使用每個目標接收來自服務的流量的連接埠。  | 
| **HealthCheckPath** |  目標上運作狀態檢查的目的地。 如果通訊協定版本為 HTTP1 或 HTTP2，請指定有效的 URI (/*path*？*query*)。預設為 /.  | 
| **HealthCheckTimeoutSeconds** |  以秒為單位的時間量，若目標在此期間內毫無回應即表示運作狀態檢查失敗。範圍為 1–120 秒。如果目標類型為 `INSTANCE`或 ，則預設值為 5 秒`IP`。指定 0 將此設定重設為其預設值。  | 
| **HealthCheckIntervalSeconds** |  個別目標每次執行運作狀態檢查的大約間隔時間量，以秒為單位。範圍介於 5–300 秒之間。如果目標類型為 `INSTANCE`或 ，則預設值為 30 秒`IP`。指定 0 將此設定重設為其預設值。  | 
| **HealthyThresholdCount** |  在運作狀態不佳的目標視為正常之前，所需的連續成功運作狀態檢查次數。範圍介於 2–10 之間。預設值為 5。指定 0 將此設定重設為其預設值。  | 
| **UnhealthyThresholdCount** |  在將目標視為運作狀態不良前，必要的連續運作狀態檢查失敗次數。範圍介於 2–10 之間。預設為 2。指定 0 將此設定重設為其預設值。  | 
| **Matcher** |  檢查是否收到來自目標的成功回應時所使用的代碼。這些在主控台中稱為**成功代碼**。 如果通訊協定版本為 HTTP1 或 HTTP2，則可能的值為 200 到 499。您可以指定多個值 (例如，"200,202") 或值範圍 (例如，"200-299")。預設值為 200。 目前不支援 gRPC 的運作狀態檢查通訊協定版本。不過，如果您的目標群組通訊協定版本是 gRPC，您可以在運作狀態檢查組態中指定 HTTP1 或 HTTP2 通訊協定版本。  | 

## 檢查目標的運作狀態
<a name="check-target-health"></a>

您可以檢查已向目標群組註冊的各個目標的運作狀態。

**使用主控台檢查目標的運作狀態**

1. 在 [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) 開啟 Amazon VPC 主控台。

1. 在導覽窗格的 **VPC Lattice** 下，選擇**目標群組**。

1. 選擇目標群組的名稱，以開啟其詳細資訊頁面。

1. 在 **Targets (目標)** 標籤，**Health status (運作狀態)** 欄指出各目標的狀態。如果狀態是 以外的任何值`Healthy`，**運作狀態詳細資訊**欄會包含更多資訊。

**使用 檢查目標的運作狀態 AWS CLI**  
使用 [list-targets](https://docs.aws.amazon.com/cli/latest/reference/vpc-lattice/list-targets.html) 命令。此命令的輸出包含目標的運作狀態。如果狀態為 `Healthy` 以外的任何值，則輸出也會包含原因代碼。

**接收有關狀態不良目標的電子郵件通知**  
使用 CloudWatch 警示啟動 Lambda 函數，以傳送運作狀態不佳目標的詳細資訊。

## 修改運作狀態檢查設定
<a name="modify-health-check-settings"></a>

您可以隨時修改目標群組的運作狀態檢查設定。

**使用主控台修改運作狀態檢查設定**

1. 在 [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) 開啟 Amazon VPC 主控台。

1. 在導覽窗格的 **VPC Lattice** 下，選擇**目標群組**。

1. 選擇目標群組的名稱，以開啟其詳細資訊頁面。

1. 在**運作狀態檢查**索引標籤上的**運作狀態檢查設定**區段中，選擇**編輯**。

1. 視需要修改運作狀態檢查設定。

1. 選擇**儲存變更**。

**使用 修改運作狀態檢查設定 AWS CLI**  
使用 [update-target-group](https://docs.aws.amazon.com/cli/latest/reference/vpc-lattice/update-target-group.html) 命令。

## 路由組態
<a name="target-group-routing-configuration"></a>

根據預設，服務會使用您在建立目標群組時指定的通訊協定和連接埠號碼，將請求路由至其目標。或者，您可以在使用目標群組來登錄目標時，覆寫用來將流量轉傳到目標的連接埠。

目標群組支援下列的通訊協定和連接埠：
+ **通訊協定**：HTTP、HTTPS、TCP
+ **Ports (連接埠)**：1-65535

如果使用 HTTPS 通訊協定設定目標群組或使用 HTTPS 運作狀態檢查，目標的 TLS 連線會使用接聽程式的安全政策。VPC Lattice 會使用您在目標上安裝的憑證，與目標建立 TLS 連線。VPC Lattice 不會驗證這些憑證。因此，您可以使用自我簽署的憑證或已過期的憑證。VPC Lattice 與目標之間的流量會在封包層級進行驗證，因此即使目標上的憑證無效，也不會有man-in-the-middle攻擊或詐騙的風險。

只有 [TLS 接聽程式](tls-listeners.md)才支援 TCP 目標群組。

## 路由演算法
<a name="target-group-routing-algorithm"></a>

根據預設，循環配置路由演算法會用來將請求路由至運作狀態良好的目標。

當 VPC Lattice 服務收到請求時，會使用下列程序：

1. 以優先順序評估接聽程序的規則，以決定要套用哪個規則。

1. 使用預設循環配置演算法，從規則動作的目標群組中選取目標。即使一個目標向多個目標群組註冊，每個目標群組的路由都是獨立運作。

如果目標群組只包含運作狀態不佳的目標，則請求會路由至所有目標，無論其運作狀態為何。這表示如果所有目標同時未通過運作狀態檢查，VPC Lattice 服務會無法開啟。故障開啟的效果是根據循環配置演算法，允許所有目標的流量，無論其運作狀態為何。

VPC Lattice 支援路由流量的可用區域 (AZ) 親和性。當用戶端將請求傳送至 VPC Lattice 時，VPC Lattice 會使用與用戶端相同 AZ 的服務或資源 IP 地址來回應。如果無法使用該 AZ，VPC Lattice 會以來自其他 AZs IP 地址回應。從 VPC Lattice 到目標，路由到目標，可能分散到 AZs。此外，VPC Lattice 中沒有跨可用區域資料傳輸費用。

## Target type (目標類型)
<a name="target-type"></a>

建立目標群組時，您會指定其目標類型，這會決定您對此目標群組註冊目標時指定的目標類型。在建立目標群組之後，您無法變更其目標類型。

下列是可能的目標類型：

`INSTANCE`  
以執行個體 ID 來指定目標。

`IP`  
目標為 IP 地址。

`LAMBDA`  
目標是 Lambda 函數。

`ALB`  
目標是 Application Load Balancer。

**考量事項**
+ 當目標類型為 時`IP`，您必須從目標群組的 VPC 子網路指定 IP 地址。如果您需要從此 VPC 外部註冊 IP 地址，請建立 類型的目標群組，`ALB`並向 Application Load Balancer 註冊 IP 地址。
+ 當目標類型為 時`IP`，您無法註冊 VPC 端點或可公開路由的 IP 地址。
+ 當目標類型為 時`LAMBDA`，您可以註冊單一 Lambda 函數。當服務收到 Lambda 函數的請求時，它會叫用 Lambda 函數。如果您想要將多個 Lambda 函數註冊到服務，則需要使用多個目標群組。
+ 當目標類型為 時`ALB`，您可以將單一內部 Application Load Balancer 註冊為最多兩個 VPC Lattice 服務的目標。若要這樣做，請使用兩個不同的目標群組註冊 Application Load Balancer，供兩個不同的 VPC Lattice 服務使用。此外，目標 Application Load Balancer 必須至少有一個接聽程式，其連接埠符合目標群組連接埠。
+ 您可以在啟動時自動向 VPC Lattice 目標群組註冊 ECS 任務。目標群組必須擁有 `IP` 的目標類型。如需詳細資訊，請參閱《[Amazon Elastic Container Service 開發人員指南》中的搭配 Amazon ECS 服務使用 VPC Lattice](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-vpc-lattice.html)。 **

  或者，使用類型為 的 VPC Lattice 目標群組註冊 Amazon ECS 服務的 Application Load Balancer`ALB`。如需詳細資訊，請參閱《[Amazon Elastic Container Service 開發人員指南》中的使用負載平衡來分配 Amazon ECS 服務流量](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-load-balancing.html)。 **
+ 若要將 EKS Pod 註冊為目標，請使用[AWS 閘道 API 控制器](https://www.gateway-api-controller.eks.aws.dev/)，從 Kubernetes 服務取得 IP 地址。
+ 如果目標群組通訊協定是 TCP，則唯一支援的目標類型為 `INSTANCE`、 `IP`或 `ALB`。

## IP 地址類型
<a name="target-group-ip-address-type"></a>

當您建立目標類型為 的目標群組時`IP`，您可以指定目標群組的 IP 地址類型。這會指定負載平衡器用來將請求和運作狀態檢查傳送至目標的地址類型。可能的值為 `IPv4` 和 `IPv6`。預設值為 `IPV4`。

**考量事項**
+ 如果您使用 IP 地址類型 建立目標群組`IPv6`，則您為目標群組指定的 VPC 必須具有 IPv6 地址範圍。
+ 您向目標群組註冊的 IP 地址必須符合目標群組的 IP 地址類型。例如，如果 IPv6 地址的 IP 地址類型為 ，則無法向目標群組註冊 IPv6 地址`IPv4`。
+ 您向目標群組註冊的 IP 地址必須在您為目標群組指定的 VPC 的 IP 地址範圍內。

# VPC Lattice 中的 HTTP 目標
<a name="http-targets"></a>

HTTP 請求和 HTTP 回應使用標頭欄位來傳送有關 HTTP 訊息的資訊。HTTP 標頭會自動新增。標頭欄位是以冒號分隔的名稱值組，以歸位字元 (CR) 和換行 (LF) 分隔。一組以 RFC 2616 定義的標準 HTTP 標頭欄位，[訊息標頭](https://datatracker.ietf.org/doc/html/rfc2616)。也有應用程式廣泛採用的非標準 HTTP 標頭可用 (而且會自動新增)。例如，有 `x-forwarded`字首為 的非標準 HTTP 標頭。

## x-forwarded 標頭
<a name="http-x-forwarded-headers"></a>

Amazon VPC Lattice 新增了下列`x-forwarded`標頭：

`x-forwarded-for`  
來源 IP 地址。

`x-forwarded-port`  
目的地連接埠。

`x-forwarded-proto`  
連線通訊協定 (`http` \$1 `https`)。

## 來電者身分標頭
<a name="http-caller-identity-headers"></a>

Amazon VPC Lattice 新增了下列呼叫者身分標頭：

`x-amzn-lattice-identity`  
身分資訊。如果 AWS 身分驗證成功，則會顯示下列欄位。  
+ `Principal` – 已驗證的委託人。
+ `PrincipalOrgID` – 已驗證主體的組織 ID。
+ `PrincipalOrgPath` – 已驗證主體的組織路徑。
+ `SessionName` – 已驗證工作階段的名稱。
如果使用 Roles Anywhere 登入資料且身分驗證成功，則會顯示下列欄位。  
+ `X509Issuer/OU` – 發行者 (OU)。
+ `X509SAN/DNS` – 主體替代名稱 (DNS)。
+ `X509SAN/NameCN` – 發行者替代名稱 （名稱/CN)。
+ `X509SAN/URI` – 主體替代名稱 (URI)。
+ `X509Subject/CN` – 主體名稱 (CN)。

`x-amzn-lattice-identity-tags`  
主體 ID 和任何主體標籤。格式如下所示。  

```
principal=principal;principalorgid=orgid;principalorgpath=orgpath;principal-tag1=value1; ...;principal-tag99=value99
```
VPC Lattice 會以反斜線 (\$1) 逸出值中的任何分號 (；)。

`x-amzn-lattice-network`  
VPC。格式如下所示。  

```
SourceVpcArn=arn:aws:ec2:region:account:vpc/id
```

`x-amzn-lattice-target`  
目標。格式如下所示。  

```
ServiceArn=arn;ServiceNetworkArn=arn;TargetGroupArn=arn
```
如需 VPC Lattice 資源 ARNs 的相關資訊，請參閱 [Amazon VPC Lattice 定義的資源類型](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonvpclattice.html#amazonvpclattice-resources-for-iam-policies)。

來電者身分標頭無法欺騙。VPC Lattice 會從任何傳入請求中去除這些標頭。這些身分標頭表示支援使用下列格式的空白值的映射。剖析時，您不應依賴這些標頭中 KEYs 的特定順序，您應該預期可以隨時新增新的 KEYs，並且應該準備好處理空值。

格式如下所示。

```
key-0=value-0;key-1=value-1;....;key-n=value-n;
```

# Lambda 函數作為 VPC Lattice 中的目標
<a name="lambda-functions"></a>

您可以使用 VPC Lattice 目標群組將 Lambda 函數註冊為目標，並設定接聽程式規則，將請求轉送至 Lambda 函數的目標群組。當服務將請求轉送至具有 Lambda 函數做為目標的目標群組時，它會叫用您的 Lambda 函數，並以 JSON 格式將請求的內容傳遞給 Lambda 函數。

**限制**
+ Lambda 函數和目標群組必須在相同的帳戶中，且在相同的區域內。
+ 您可以傳送到 Lambda 函數的請求內文大小上限為 6 MB。
+ Lambda 函數可傳送的回應 JSON 大小上限為 6 MB。
+ 通訊協定必須是 HTTP 或 HTTPS。

## 準備 Lambda 函數
<a name="prepare-lambda-function"></a>

如果您使用 Lambda 函數搭配 VPC Lattice 服務，則適用下列建議。

**調用 Lambda 函數的許可**  
當您使用 AWS 管理主控台 或 建立目標群組並註冊 Lambda 函數時 AWS CLI，VPC Lattice 會代表您將必要的許可新增至 Lambda 函數政策。

您也可以使用下列 API 呼叫自行新增許可：

```
aws lambda add-permission \
  --function-name lambda-function-arn-with-alias-name \ 
  --statement-id vpc-lattice \
  --principal vpc-lattice.amazonaws.com \
  --action lambda:InvokeFunction \
  --source-arn target-group-arn
```

**Lambda 函數版本控制**  
您可以為每個目標群組註冊一個 Lambda 函數。為了確保您可以變更 Lambda 函數，且 VPC Lattice 服務一律叫用 Lambda 函數的目前版本，請在向 VPC Lattice 服務註冊 Lambda 函數時，建立函數別名，並將別名包含在函數 ARN 中。如需詳細資訊，請參閱《 *AWS Lambda 開發人員指南*》中的 [Lambda 函數版本](https://docs.aws.amazon.com/lambda/latest/dg/configuration-versions.html)和[建立 Lambda 函數的別名](https://docs.aws.amazon.com/lambda/latest/dg/configuration-aliases.html)。

## 為 Lambda 函數建立目標群組
<a name="register-lambda-function"></a>

建立目標群組以用於請求路由。如果請求內容符合接聽程式規則和轉送到此目標群組的動作，VPC Lattice 服務會叫用已註冊的 Lambda 函數。

**使用主控台建立目標群組並註冊 Lambda 函數**

1. 在 [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) 開啟 Amazon VPC 主控台。

1. 在導覽窗格的 **VPC Lattice** 下，選擇**目標群組**。

1. 選擇 **Create target group (建立目標群組)**。

1. 在**選取目標類型**中，選取 **Lambda 函數**。

1. 針對 **Target group name** (目標群組名稱)，輸入目標群組的名稱。

1. 針對 **Lambda 事件結構版本**，選擇版本。如需詳細資訊，請參閱[從 VPC Lattice 服務接收事件](#receive-event-from-service)。

1. （選用） 若要新增標籤，請展開**標籤**，選擇**新增標籤**，然後輸入標籤索引鍵和標籤值。

1. 選擇**下一步**。

1. 對於 **Lambda function (Lambda 函數)**，請執行以下其中一項：
   + 選取現有的 Lambda 函數。
   + 建立新的 Lambda 函數並選取它。
   + 稍後註冊 Lambda 函數。

1. 選擇 **Create target group (建立目標群組)**。

**使用 建立目標群組並註冊 Lambda 函數 AWS CLI**  
使用 [create-target-group](https://docs.aws.amazon.com/cli/latest/reference/vpc-lattice/create-target-group.html) 和 [register-targets](https://docs.aws.amazon.com/cli/latest/reference/vpc-lattice/register-targets.html) 命令。

## 從 VPC Lattice 服務接收事件
<a name="receive-event-from-service"></a>

VPC Lattice 服務支援透過 HTTP 和 HTTPS 對請求進行 Lambda 調用。服務會以 JSON 格式傳送事件，並將 `X-Forwarded-For`標頭新增至每個請求。

**Base64 編碼**  
如果`content-encoding`標頭存在且內容類型不是下列其中一項，則服務 Base64 會編碼內文：
+ `text/*`
+ `application/json`
+ `application/xml`
+ `application/javascript`

如果 `content-encoding` 標頭不存在，則 Base64 編碼取決於內容類型。對於上述內容類型，服務會依原樣傳送內文，無需 Base64 編碼。

**事件結構格式**  
當您建立或更新類型 的目標群組時`LAMBDA`，您可以指定 Lambda 函數接收的事件結構版本。可能的版本為 `V1`和 `V2`。<a name="event-structure-v2"></a>

**Example 範例事件：V2**  

```
{
    "version": "2.0",
    "path": "/?query1=value1&query2=value2",
    "method": "GET|POST|HEAD|...",
    "headers": {
        "header-key": ["header-value", ...],
        ...
    },    
    "queryStringParameters": {
        "key": ["value", ...]
    },
    "body": "request-body",
    "isBase64Encoded": true|false,
    "requestContext": {
        "serviceNetworkArn": "arn:aws:vpc-lattice:region:123456789012:servicenetwork/sn-0bf3f2882e9cc805a",
        "serviceArn": "arn:aws:vpc-lattice:region:123456789012:service/svc-0a40eebed65f8d69c",
        "targetGroupArn": "arn:aws:vpc-lattice:region:123456789012:targetgroup/tg-6d0ecf831eec9f09",
        "identity": {
            "sourceVpcArn": "arn:aws:ec2:region:123456789012:vpc/vpc-0b8276c84697e7339",
            "type": "AWS_IAM",
            "principal": "arn:aws:iam::123456789012:assumed-role/my-role/my-session",
            "principalOrgID": "o-50dc6c495c0c9188",
            "sessionName": "i-0c7de02a688bde9f7",
            "x509IssuerOu": "string",
            "x509SanDns": "string",
            "x509SanNameCn": "string",
            "x509SanUri": "string",
            "x509SubjectCn": "string"
        },
        "region": "region",
        "timeEpoch": "1690497599177430"
    }
}
```  
`body`  
請求的本文。只有在通訊協定為 HTTP、HTTPS 或 gRPC 時才會顯示。  
`headers`  
請求的 HTTP 標頭。只有在通訊協定為 HTTP、HTTPS 或 gRPC 時才會顯示。  
`identity`  
身分資訊。以下是可能的欄位。  
+ `principal` – 已驗證的委託人。只有在 AWS 身分驗證成功時才會顯示。
+ `principalOrgID` – 已驗證主體的組織 ID。只有在 AWS 身分驗證成功時才會顯示。
+ `sessionName` – 已驗證工作階段的名稱。只有在 AWS 身分驗證成功時才會顯示。
+ `sourceVpcArn` – 發出請求之 VPC 的 ARN。只有在可以識別來源 VPC 時才會顯示。
+ `type` – 如果使用身分驗證政策且 AWS 身分驗證成功`AWS_IAM`，則值為 。
如果使用 Roles Anywhere 登入資料且身分驗證成功，下列是可能的欄位。  
+ `x509IssuerOu` – 發行者 (OU)。
+ `x509SanDns` – 主體替代名稱 (DNS)。
+ `x509SanNameCn` – 發行者替代名稱 （名稱/CN)。
+ `x509SanUri` – 主體替代名稱 (URI)。
+ `x509SubjectCn` – 主體名稱 (CN)。  
`isBase64Encoded`  
指出內文是否為 base64 編碼。只有在通訊協定為 HTTP、HTTPS 或 gRPC，且請求內文尚未是字串時，才會顯示。  
`method`  
請求的 HTTP 方法。只有在通訊協定為 HTTP、HTTPS 或 gRPC 時才會顯示。  
`path`  
來自用戶端的請求路徑，其中包含查詢字串參數。只有在通訊協定為 HTTP、HTTPS 或 gRPC 時才會顯示。  
`queryStringParameters`  
HTTP 查詢字串參數。只有在通訊協定為 HTTP、HTTPS 或 gRPC 時才會顯示。  
`serviceArn`  
接收請求之服務的 ARN。  
`serviceNetworkArn`  
交付請求之服務網路的 ARN。  
`targetGroupArn`  
接收請求之目標群組的 ARN。  
`timeEpoch`  
時間，以微秒為單位。<a name="event-structure-v1"></a>

**Example 範例事件：V1**  

```
{
    "raw_path": "/path/to/resource?query1=value1&query2=value2",
    "method": "GET|POST|HEAD|...",
    "headers": {"header-key": "header-value", ... },
    "query_string_parameters": {"key": "value", ...},
    "body": "request-body",
    "is_base64_encoded": true|false
}
```

## 回應 VPC Lattice 服務
<a name="respond-to-service"></a>

來自 Lambda 函數的回應必須包含 Base64 編碼狀態、狀態碼、狀態描述和標頭。您可以省略內文。

若要在回應的內文中包含二進位內容，您必須將內容以 Base64 編碼，並將 `isBase64Encoded` 設定為 `true`。服務會解碼內容以擷取二進位內容，並將其傳送至 HTTP 回應內文中的用戶端。

VPC Lattice 服務不遵守hop-by-hop標頭，例如 `Connection`或 `Transfer-Encoding`。您可以省略 `Content-Length`標頭，因為服務會在傳送回應給用戶端之前進行運算。

以下是來自 Lambda 函數的範例回應：

```
{
    "isBase64Encoded": false,
    "statusCode": 200,
    "headers": {
        "Set-cookie": "cookies",
        "Content-Type": "application/json"
    },
    "body": "Hello from Lambda (optional)"
}
```

## 多值標頭
<a name="multi-value-headers"></a>

VPC Lattice 支援來自用戶端的請求或來自 Lambda 函數的回應，其中包含具有多個值或多次包含相同標頭的標頭。VPC Lattice 會將所有值傳遞至目標。

在下列範例中，有兩個名為 的標頭header1具有不同的值。

```
header1 = value1
header1 = value2
```

使用 V2 事件結構時，VPC Lattice 會傳送清單中的值。例如：

```
"header1": ["value1", "value2"]
```

使用 V1 事件結構時，VPC Lattice 會將值合併為單一字串。例如：

```
"header1": "value1, value2"
```

## 多值查詢字串參數
<a name="multi-value-string-parameters"></a>

VPC Lattice 支援具有相同索引鍵多個值的查詢參數。

在下列範例中，有兩個名為 的參數QS1具有不同的值。

```
http://www.example.com?&QS1=value1&QS1=value2
```

使用 V2 事件結構時，VPC Lattice 會傳送清單中的值。例如：

```
"QS1": ["value1", "value2"]
```

使用 V1 事件結構時，VPC Lattice 會使用傳遞的最後一個值。例如：

```
"QS1": "value2"
```

## 取消註冊 Lambda 函數
<a name="deregister-lambda-function"></a>

如果您不再需要將流量傳送到您的 Lambda 函數，則可以將它取消註冊。取消註冊 Lambda 函數之後，傳輸中的請求會失敗，出現 HTTP 5XX 錯誤。

若要取代 Lambda 函數，建議您建立新的目標群組、向新目標群組註冊新函數，並更新接聽程式規則以使用新的目標群組，而非現有的目標群組。

**使用主控台取消註冊 Lambda 函數**

1. 在 [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) 開啟 Amazon VPC 主控台。

1. 在導覽窗格的 **VPC Lattice** 下，選擇**目標群組**。

1. 選擇目標群組的名稱，以開啟其詳細資訊頁面。

1. 在 **Targets (目標)** 索引標籤上，選擇 **Deregister (取消註冊)**。

1. 出現確認提示時，請輸入 **confirm**，然後選擇**取消註冊**。

**使用 取消註冊 Lambda 函數 AWS CLI**  
使用 [deregister-targets](https://docs.aws.amazon.com/cli/latest/reference/vpc-lattice/deregister-targets.html) 命令。

# Application Load Balancer 作為 VPC Lattice 中的目標
<a name="alb-target"></a>

您可以建立 VPC Lattice 目標群組、將單一內部 Application Load Balancer 註冊為目標，以及設定 VPC Lattice 服務將流量轉送至此目標群組。在此案例中，Application Load Balancer 會在流量到達路由決策時立即接管路由決策。此組態可讓您使用 Application Load Balancer 的第 7 層請求型路由功能，以及 VPC Lattice 支援的功能，例如 IAM 身分驗證和授權，以及跨 VPCs和帳戶的連線。

**限制**
+ 您可以在類型為 的 VPC Lattice 目標群組中，將單一內部 Application Load Balancer 註冊為目標`ALB`。
+ 您可以將 Application Load Balancer 註冊為最多兩個 VPC Lattice 目標群組的目標，供兩個不同的 VPC Lattice 服務使用。
+ VPC Lattice 不提供`ALB`類型目標群組的運作狀態檢查。不過，您可以在負載平衡器層級為 Elastic Load Balancing 中的目標獨立設定運作狀態檢查。如需詳細資訊，請參閱《*Application Load Balancer 使用者指南*》中的[目標群組運作狀態檢查](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/target-group-health-checks.html) 

## 先決條件
<a name="prerequisites-alb-target"></a>

建立 Application Load Balancer，以向 VPC Lattice 目標群組註冊為目標。負載平衡器必須符合下列條件：
+ 負載平衡器方案為**內部**。
+ Application Load Balancer 必須位於與 VPC Lattice 目標群組相同的帳戶中，且必須處於**作用中**狀態。
+ Application Load Balancer 必須與 VPC Lattice 目標群組位於相同的 VPC 中。
+ 您可以在 Application Load Balancer 上使用 HTTPS 接聽程式來終止 TLS，但前提是 VPC Lattice 服務使用與負載平衡器相同的 SSL/TLS 憑證。
+ 若要在`X-Forwarded-For`請求標頭中保留 VPC Lattice 服務的用戶端 IP，您必須將 Application Load Balancer 的 屬性設定為 `routing.http.xff_header_processing.mode` `Preserve`。如果值為 `Preserve`，負載平衡器會在 HTTP 請求中保留 `X-Forwarded-For`標頭，並將其傳送至目標，而不會進行任何變更。

如需詳細資訊，請參閱《[Application Load Balancer 使用者指南](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-application-load-balancer.html)*》中的建立 Application Load Balancer*。

## 步驟 1：建立類型為 ALB 的目標群組
<a name="step1-create-alb-target-group"></a>

使用下列程序來建立目標群組。請注意，VPC Lattice 不支援`ALB`目標群組的運作狀態檢查。不過，您可以為 Application Load Balancer 的目標群組設定運作狀態檢查。如需詳細資訊，請參閱《*Application Load Balancer 使用者指南*》中的[目標群組運作狀態檢查](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/target-group-health-checks.html)。

**建立目標群組**

1. 在 [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) 開啟 Amazon VPC 主控台。

1. 在導覽窗格的 **VPC Lattice** 下，選擇**目標群組**。

1. 選擇 **Create target group (建立目標群組)**。

1. 在**指定目標群組詳細資訊**頁面**的基本組態**下，選擇 **Application Load Balancer** 作為目標類型。

1. 針對 **Target group name** (目標群組名稱)，輸入目標群組的名稱。

1. 針對**通訊協定**，選擇 **HTTP**、 **HTTPS**或 **TCP**。目標群組通訊協定必須符合內部 Application Load Balancer 接聽程式的通訊協定。

1. 針對**連接埠**，指定目標群組的連接埠。此連接埠必須符合內部 Application Load Balancer 的接聽程式連接埠。您也可以在內部 Application Load Balancer 上新增接聽程式連接埠，以符合您在此處指定的目標群組連接埠。

1. 針對 **VPC**，選取您在建立內部 Application Load Balancer 時選取的相同虛擬私有雲端 (VPC)。這應該是包含 VPC Lattice 資源的 VPC。

1. 針對**通訊協定版本**，選擇 Application Load Balancer 支援的通訊協定版本。

1. （選用） 新增任何必要的標籤。

1. 選擇**下一步**。

## 步驟 2：將 Application Load Balancer 註冊為目標
<a name="step2-register-alb-target-group"></a>

您可以立即或稍後將負載平衡器註冊為目標。

**將 Application Load Balancer 註冊為目標**

1. 選擇**立即註冊**。

1. 針對 **Application Load Balancer**，選擇您的內部 Application Load Balancer。

1. 對於**連接埠**，請保留預設值或視需要指定不同的連接埠。此連接埠必須符合 Application Load Balancer 上現有的接聽程式連接埠。如果您在沒有相符連接埠的情況下繼續，流量將無法到達 Application Load Balancer。

1. 選擇 **Create target group (建立目標群組)**。

## 通訊協定版本
<a name="target-group-protocol-version"></a>

根據預設， 服務會使用 HTTP/1.1 將請求傳送至目標。您可以使用通訊協定版本，使用 HTTP/2 或 gRPC 將請求傳送至目標。

下表摘要說明請求通訊協定與目標群組通訊協定版本組合的結果。


| 請求通訊協定 | 通訊協定版本 | 結果 | 
| --- | --- | --- | 
| HTTP/1.1 | HTTP/1.1 | 成功 | 
| HTTP/2 | HTTP/1.1 | 成功 | 
| gRPC | HTTP/1.1 | 錯誤 | 
| HTTP/1.1 | HTTP/2 | 錯誤 | 
| HTTP/2 | HTTP/2 | 成功 | 
| gRPC | HTTP/2 | 如果目標支援 gRPC，則成功 | 
| HTTP/1.1 | gRPC | 錯誤 | 
| HTTP/2 | gRPC | 如果是 POST 請求，則成功 | 
| gRPC | gRPC | 成功 | 

**gRPC 通訊協定版本的考量事項**
+ 唯一支援的接聽程式通訊協定是 HTTPS。
+ 支援的目標類型僅為 `INSTANCE` 和 `IP`。
+ 服務會剖析 gRPC 請求，並根據套件、服務和方法，將 gRPC 呼叫路由至適當的目標群組。
+ 您無法使用 Lambda 函數做為目標。

**HTTP/2 通訊協定版本的考量事項**
+ 唯一支援的接聽程式通訊協定是 HTTPS。您可以為目標群組通訊協定選擇 HTTP 或 HTTPS。
+ 唯一支援的接聽程式規則是轉送和固定回應。
+ 支援的目標類型僅為 `INSTANCE` 和 `IP`。
+ 服務支援從用戶端串流。服務不支援串流至目標。

# VPC Lattice 目標群組的標籤
<a name="target-group-tags"></a>

標籤可幫助您以不同的方式來將目標群組分類，例如，根據目的、擁有者或環境。

您可以在每個目標群組中加入多個標籤。每個目標群組的標籤索引鍵必須是唯一的。如果所新增的標籤，其索引鍵已經和目標群組具有關聯，則此動作會更新該標籤的值。

當您使用完標籤之後，可以將其移除。

**限制**
+ 每一資源標籤數上限：50
+ 索引鍵長度上限：127 個 Unicode 字元
+ 數值長度上限：255 個 Unicode 字元
+ 標籤鍵與值皆區分大小寫。允許的字元包括可用 UTF-8 表示的英文字母、空格和數字，還有以下特殊字元：\$1 - = . \$1 : / @。不可使用結尾或前方空格。
+ 請勿在標籤名稱或值中使用 `aws:`字首，因為它保留供 AWS 使用。您不可編輯或刪除具此字首的標籤名稱或值。具此字首的標籤，不算在受資源限制的標籤計數內。

**使用主控台來更新目標群組的標籤**

1. 在 [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) 開啟 Amazon VPC 主控台。

1. 在導覽窗格中的 **VPC Lattice** 下，選擇**目標群組**。

1. 選取目標群組的名稱，以開啟其詳細資訊頁面。

1. 選擇 **Tags** (標籤) 索引標籤。

1. 若要新增標籤，請選擇**新增標籤**，然後輸入標籤索引鍵和標籤值。若要新增另一個標籤，請再次選擇**新增標籤**。當您完成新增標籤的作業時，請選擇 **Save changes (儲存變更)**。

1. 若要刪除標籤，請選取標籤的核取方塊，然後選擇**刪除**。出現確認提示時，請輸入 **confirm**，然後選擇 **Delete** (刪除)。

**使用 更新目標群組的標籤 AWS CLI**  
使用 [tag-resource](https://docs.aws.amazon.com/cli/latest/reference/vpc-lattice/tag-resource.html) 和 [untag-resource](https://docs.aws.amazon.com/cli/latest/reference/vpc-lattice/untag-resource.html) 命令。

# 刪除 VPC Lattice 目標群組
<a name="delete-target-group"></a>

如果沒有任何接聽程式規則的轉送動作參照某目標群組，即可刪除該目標群組。刪除目標群組不會影響透過該目標群組登錄的目標。如果不再需要註冊的 EC2 執行個體，則可以停止或終止它。

**使用主控台來刪除目標群組**

1. 在 [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) 開啟 Amazon VPC 主控台。

1. 在導覽窗格中，選擇**目標群組**。

1. 選取目標群組的核取方塊，然後選擇**動作**、**刪除**。

1. 出現確認提示時，請輸入 **confirm**，然後選擇 **Delete** (刪除)。

**使用 刪除目標群組 AWS CLI**  
使用 [delete-target-group](https://docs.aws.amazon.com/cli/latest/reference/vpc-lattice/delete-target-group.html) 指令。