

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

# 虛擬閘道
<a name="virtual_gateways"></a>

**重要**  
支援終止通知：2026 年 9 月 30 日， AWS 將停止支援 AWS App Mesh。2026 年 9 月 30 日之後，您將無法再存取 AWS App Mesh 主控台或 AWS App Mesh 資源。如需詳細資訊，請參閱此部落格文章[從 遷移 AWS App Mesh 至 Amazon ECS Service Connect](https://aws.amazon.com/blogs/containers/migrating-from-aws-app-mesh-to-amazon-ecs-service-connect)。

虛擬閘道可讓網格外的資源與網格內的資源進行通訊。虛擬閘道代表在 Amazon ECS 服務、Kubernetes 服務或 Amazon EC2 執行個體上執行的 Envoy 代理。與代表使用應用程式執行之 Envoy 的虛擬節點不同，虛擬閘道代表 Envoy 本身部署。

外部資源必須能夠將 DNS 名稱解析為指派給執行 Envoy 之服務或執行個體的 IP 地址。然後，Envoy 可以存取網格內資源的所有 App Mesh 組態。在虛擬閘道處理傳入請求的組態會使用[閘道路由](https://docs.aws.amazon.com/app-mesh/latest/userguide/gateway-routes.html)指定。

**重要**  
具有 HTTP 或 HTTP2 接聽程式的虛擬閘道會將傳入請求的主機名稱重寫為 Gateway Route 目標 Virtual Service 的名稱，且閘道路由的相符字首`/`預設為重寫至 。例如，如果您已將閘道路由比對字首設定為 ，`/chapter`且傳入請求為 `/chapter/1`，則請求會重寫至 `/1`。若要設定重寫，請參閱從[閘道路由建立](https://docs.aws.amazon.com/app-mesh/latest/userguide/gateway-routes.html#create-gateway-route)閘道路由一節。  
建立虛擬閘道時，`user`不應設定 `proxyConfiguration`和 。

若要完成end-to-end演練，請參閱[設定傳入閘道](https://github.com/aws/aws-app-mesh-examples/tree/main/walkthroughs/howto-ingress-gateway)。

## 建立虛擬閘道
<a name="create-virtual-gateway"></a>

**注意**  
建立虛擬閘道時，您必須新增具有標籤的命名空間選擇器，以識別要將閘道路由與建立的虛擬閘道建立關聯的命名空間清單。

------
#### [ AWS 管理主控台 ]

**使用 建立虛擬閘道 AWS 管理主控台**

1. 在 https：//[https://console.aws.amazon.com/appmesh/](https://console.aws.amazon.com/appmesh/) 開啟 App Mesh 主控台。

1. 選擇您要在其中建立虛擬閘道的網格。會列出您擁有和已與您[共用](sharing.md)的所有網格。

1. 在左側導覽中選擇**虛擬閘道**。

1. 選擇**建立虛擬閘道**。

1. 針對**虛擬閘道名稱**，輸入虛擬閘道的名稱。

1. （選用，但建議使用） 設定**用戶端政策預設值**。

   1. （選用） 如果您希望閘道只使用 Transport Layer Security **(TLS) 與虛擬服務通訊，請選取強制執行** TLS。

   1. （選用） 針對**連接埠**，指定您要在其中強制與虛擬服務進行 TLS 通訊的一或多個連接埠。

   1. 針對**驗證方法**，選取下列其中一個選項。您指定的憑證必須已存在且符合特定要求。如需詳細資訊，請參閱[憑證需求](tls.md#virtual-node-tls-prerequisites)。
      + **AWS 私有憑證授權單位** 託管：選取一或多個現有的**憑證**。
      + **Envoy Secret Discovery Service (SDS)** 託管 – 輸入 Envoy 使用 Secret Discovery Service 擷取的秘密名稱。
      + **本機檔案託管** – 在部署 Envoy 的檔案系統上指定**憑證鏈**檔案的路徑。

   1. （選用） 輸入**主體別名**。若要新增其他 SANs，請選取**新增 SAN**。SANs必須為 FQDN 或 URI 格式。

   1. （選用） 選取**提供用戶端憑證**和下列其中一個選項，以在伺服器請求時提供用戶端憑證，並啟用相互 TLS 身分驗證。若要進一步了解相互 TLS，請參閱應用程式網格[相互 TLS 身分驗證](https://docs.aws.amazon.com/app-mesh/latest/userguide/mutual-tls.html)文件。
      + **Envoy Secret Discovery Service (SDS)** 託管 – 輸入 Envoy 使用 Secret Discovery Service 擷取的秘密名稱。
      + **本機檔案託管** – 在部署 Envoy 的檔案系統上指定**憑證鏈**檔案的路徑，以及**私有金鑰**。如需使用本機檔案加密，以範例應用程式部署網格的完整end-to-end逐步解說，請參閱在 GitHub [上設定 TLS 與檔案提供的 TLS 憑證](https://github.com/aws/aws-app-mesh-examples/tree/main/walkthroughs/howto-tls-file-provided)。

1. （選用） 若要設定記錄，請選取**記錄**。輸入您希望 Envoy 使用的 **HTTP 存取日誌路徑**。建議您使用 `/dev/stdout` 路徑，以便您可以使用 Docker 日誌驅動程式將您的 Envoy 日誌匯出至 Amazon CloudWatch Logs 等服務。
**注意**  
日誌必須仍然由您的應用程式中的代理程式輸入，並傳送到目的地。這個檔案路徑只是指示 Envoy 將日誌傳送到何處。

1. 設定**接聽程式**。

   1. 選取**通訊協定**，並指定 Envoy 接聽流量的**連接埠**。**http** 接聽程式允許連線轉換至 Websocket。您可以按一下**新增接聽程式**來新增多個接聽程式。**移除**按鈕會移除該接聽程式。

   1. （選用） **啟用連線集區** 

      連線集區會限制 Virtual Gateway Envoy 可同時建立的連線數量。其旨在保護您的 Envoy 執行個體免於因連線而負擔過重，並可讓您根據應用程式的需求調整流量調整。

      您可以設定虛擬閘道接聽程式的目的地連線集區設定。App Mesh 預設會將用戶端連線集區設定設定為無限，簡化網格組態。
**注意**  
`connectionPool` 和 `connectionPool`portMapping 通訊協定必須相同。如果您的接聽程式通訊協定是 `grpc`或 `http2`，請`maxRequests`僅指定 。如果您的接聽程式通訊協定是 `http`，您可以同時指定 `maxConnections`和 `maxPendingRequests`。
      + 對於**最大連線**數，請指定最大輸出連線數。
      + 針對**請求上限**，指定可使用 Virtual Gateway Envoy 建立的平行請求數量上限。
      + （選用） 針對**最大待處理請求**，指定 Envoy 佇列**的最大連線**數之後的溢位請求數。預設值為 `2147483647`。

   1. （選用） 如果您想要為接聽程式設定運作狀態檢查，請選取**啟用運作狀態檢查**。

      運作狀態檢查政策是選用的，但如果您指定運作狀態政策的任何值，則必須指定**運作狀態閾值**、**運作狀態檢查間隔**、**運作狀態檢查通訊協定**、**逾時期間**和**運作狀態不佳閾值**的值。
      + 針對**運作狀態檢查通訊協定**，選擇通訊協定。如果您選擇 **grpc**，則您的服務必須符合 [GRPC 運作狀態檢查通訊協定](https://github.com/grpc/grpc/blob/master/doc/health-checking.md)。
      + 對於 **Health check port (運作狀態檢查連接埠)**，指定應執行運作狀態檢查的連接埠。
      + 對於 **Healthy threshold (運作良好閾值)**，指定在宣告接聽程式運作良好之前，必須達到的運作狀態檢查連續成功次數。
      + 對於 **Health check interval (運作狀態檢查間隔)**，指定每次運作狀態檢查執行之間的時間間隔 (以毫秒為單位)。
      + 對於 **Path (路徑)**，指定運作狀態檢查請求的目的地路徑。只有在**運作狀態檢查通訊協定**為 `http`或 時，才會使用此值`http2`。其他通訊協定會忽略此值。
      + 針對**逾時期間**，指定從運作狀態檢查收到回應時所等待的時間量，以毫秒為單位。
      + 對於 **Unhealthy threshold (運作不良閾值)**，指定在宣告接聽程式運作不良之前，必須達到的運作狀態檢查連續失敗次數。

   1. （選用） 如果您想要指定用戶端是否使用 TLS 與此虛擬閘道通訊，請選取**啟用 TLS 終止**。
      + 針對 **模式**，選取您想要在接聽程式上設定 TLS 的模式。
      + 針對**憑證方法**，選取下列其中一個選項。憑證必須符合特定要求。如需詳細資訊，請參閱[憑證需求](tls.md#virtual-node-tls-prerequisites)。
        + **AWS Certificate Manager 託管** – 選取現有的**憑證**。
        + **Envoy Secret Discovery Service (SDS)** 託管 – 輸入 Envoy 使用 Secret Discovery Service 擷取的秘密名稱。
        + **本機檔案託管** – 在部署 Envoy 的檔案系統上指定**憑證鏈**和**私有金鑰**檔案的路徑。
      + （選用） 選取**需要用戶端憑證**和下列其中一個選項，以便在用戶端提供憑證時啟用相互 TLS 身分驗證。若要進一步了解相互 TLS，請參閱應用程式網格[相互 TLS 身分驗證](https://docs.aws.amazon.com/app-mesh/latest/userguide/mutual-tls.html)文件。
        + **Envoy Secret Discovery Service (SDS)** 託管 – 輸入 Envoy 使用 Secret Discovery Service 擷取的秘密名稱。
        + **本機檔案託管** – 在部署 Envoy 的檔案系統上指定**憑證鏈**檔案的路徑。
      + （選用） 輸入**主體別名**。若要新增其他 SANs，請選取**新增 SAN**。SANs必須為 FQDN 或 URI 格式。

1. 選擇**建立虛擬閘道**以完成。

------
#### [ AWS CLI ]

**使用 建立虛擬閘道 AWS CLI。**

使用下列命令和輸入 JSON 建立虛擬閘道 （使用您自己的值取代*紅色*值）：

1. 

   ```
   aws appmesh create-virtual-gateway \ 
   --mesh-name meshName \ 
   --virtual-gateway-name virtualGatewayName \ 
   --cli-input-json file://create-virtual-gateway.json
   ```

1. create-virtual-gateway.json **範例**的內容：

   ```
   {
       "spec": {
         "listeners": [
           {
             "portMapping": {
               "port": 9080,
               "protocol": "http"
             }
           }
         ]
       }
   }
   ```

1. 輸出範例：

   ```
   {
       "virtualGateway": {
           "meshName": "meshName",
           "metadata": {
               "arn": "arn:aws:appmesh:us-west-2:123456789012:mesh/meshName/virtualGateway/virtualGatewayName",
               "createdAt": "2022-04-06T10:42:42.015000-05:00",
               "lastUpdatedAt": "2022-04-06T10:42:42.015000-05:00",
               "meshOwner": "123456789012",
               "resourceOwner": "123456789012",
               "uid": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE",
               "version": 1
           },
           "spec": {
               "listeners": [
                   {
                       "portMapping": {
                           "port": 9080,
                           "protocol": "http"
                       }
                   }
               ]
           },
           "status": {
               "status": "ACTIVE"
           },
           "virtualGatewayName": "virtualGatewayName"
       }
   }
   ```

如需使用 AWS CLI for App Mesh 建立虛擬閘道的詳細資訊，請參閱 AWS CLI 參考中的 [create-virtual-gateway](https://docs.aws.amazon.com/cli/latest/reference/appmesh/create-virtual-gateway.html) 命令。

------

## 部署虛擬閘道
<a name="deploy-virtual-gateway"></a>

部署僅包含 [Envoy 容器](envoy.md)的 Amazon ECS 或 Kubernetes 服務。您也可以在 Amazon EC2 執行個體上部署 Envoy 容器。如需詳細資訊，請參閱[開始使用 App Mesh 和 Amazon EC2](https://docs.aws.amazon.com/app-mesh/latest/userguide/getting-started-ec2.html)。如需如何在 Amazon ECS 上部署的詳細資訊，請參閱[開始使用 App Mesh 和 Amazon ECS](https://docs.aws.amazon.com/app-mesh/latest/userguide/getting-started-ecs.html) 或[開始使用 AWS App Mesh 和 Kubernetes](https://docs.aws.amazon.com/app-mesh/latest/userguide/getting-started-kubernetes.html) 以部署至 Kubernetes。您需要將`APPMESH_RESOURCE_ARN`環境變數設定為 ，`mesh/mesh-name/virtualGateway/virtual-gateway-name`且不得指定代理組態，這樣代理的流量就不會重新導向至本身。根據預設，當 Envoy 在指標和追蹤方面參照本身時，App Mesh 會使用您在 `APPMESH_RESOURCE_ARN` 中指定的資源名稱。您可以藉由使用自己的名稱設定 `APPMESH_RESOURCE_CLUSTER ` 環境變數，以覆寫此行為。

我們建議您部署多個容器執行個體，並設定 Network Load Balancer 以將流量負載平衡至執行個體。負載平衡器的服務探索名稱是您希望外部服務用來存取網格中資源的名稱，例如 *myapp.example.com*。如需詳細資訊[，請參閱建立 Network Load Balancer](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/create-network-load-balancer.html) (Amazon ECS)、[建立 External Load Balancer](https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/) (Kubernetes) 或[教學課程：提高 Amazon EC2 上應用程式的可用性](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-increase-availability.html)。您也可以在我們的 [App Mesh 範例中](https://docs.aws.amazon.com/app-mesh/latest/userguide/examples.html)找到更多範例和演練。

啟用 Envoy 的代理授權。如需詳細資訊，請參閱[Envoy Proxy 授權](proxy-authorization.md)。

## 刪除虛擬閘道
<a name="delete-virtual-gateway"></a>

------
#### [ AWS 管理主控台 ]

**使用 刪除虛擬閘道 AWS 管理主控台**

1. 在 https：//[https://console.aws.amazon.com/appmesh/](https://console.aws.amazon.com/appmesh/) 開啟 App Mesh 主控台。

1. 選擇您想要從中刪除虛擬閘道的網格。會列出您擁有和已與您[共用](sharing.md)的所有網格。

1. 在左側導覽中選擇**虛擬閘道**。

1. 選擇您要刪除的虛擬閘道，然後選擇**刪除**。如果虛擬閘道具有任何相關聯的閘道路由，則無法刪除它。您必須先刪除任何相關聯的閘道路由。您只能刪除您帳戶列為**資源擁有者**的虛擬閘道。

1. 在確認方塊中，輸入 **delete**，然後選取**刪除**。

------
#### [ AWS CLI ]

**使用 刪除虛擬閘道 AWS CLI**

1. 使用下列命令來刪除您的虛擬閘道 （將*紅色*值取代為您自己的值）：

   ```
   aws appmesh delete-virtual-gateway \
        --mesh-name meshName \
        --virtual-gateway-name virtualGatewayName
   ```

1. 輸出範例：

   ```
   {
       "virtualGateway": {
           "meshName": "meshName",
           "metadata": {
               "arn": "arn:aws:appmesh:us-west-2:123456789012:mesh/meshName/virtualGateway/virtualGatewayName",
               "createdAt": "2022-04-06T10:42:42.015000-05:00",
               "lastUpdatedAt": "2022-04-07T10:57:22.638000-05:00",
               "meshOwner": "123456789012",
               "resourceOwner": "123456789012",
               "uid": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE",
               "version": 2
           },
           "spec": {
               "listeners": [
                   {
                       "portMapping": {
                           "port": 9080,
                           "protocol": "http"
                       }
                   }
               ]
           },
           "status": {
               "status": "DELETED"
           },
           "virtualGatewayName": "virtualGatewayName"
       }
   }
   ```

如需使用 AWS CLI for App Mesh 刪除虛擬閘道的詳細資訊，請參閱 AWS CLI 參考中的 [delete-virtual-gateway](https://docs.aws.amazon.com/cli/latest/reference/appmesh/delete-virtual-gateway.html) 命令。

------

# 閘道路由
<a name="gateway-routes"></a>

**重要**  
支援終止通知：2026 年 9 月 30 日， AWS 將停止支援 AWS App Mesh。2026 年 9 月 30 日之後，您將無法再存取 AWS App Mesh 主控台或 AWS App Mesh 資源。如需詳細資訊，請參閱此部落格文章[從 遷移 AWS App Mesh 至 Amazon ECS Service Connect](https://aws.amazon.com/blogs/containers/migrating-from-aws-app-mesh-to-amazon-ecs-service-connect)。

閘道路由會連結至虛擬閘道，並將流量路由傳送至現有的虛擬服務。如果路由符合請求，它可以將流量分配到目標虛擬服務。本主題可協助您在服務網格中使用閘道路由。

## 建立閘道路由
<a name="create-gateway-route"></a>

------
#### [ AWS 管理主控台 ]

**使用 建立閘道路由 AWS 管理主控台**

1. 在 https：//[https://console.aws.amazon.com/appmesh/](https://console.aws.amazon.com/appmesh/) 開啟 App Mesh 主控台。

1. 選擇您要在其中建立閘道路由的網格。會列出您擁有和已與您[共用](sharing.md)的所有網格。

1. 在左側導覽中選擇**虛擬閘道**。

1. 選擇您要與新閘道路由建立關聯的虛擬閘道。如果沒有列出，則需要先[建立虛擬閘道](virtual_gateways.md#create-virtual-gateway)。您只能為將帳戶列為**資源擁有者**的虛擬閘道建立閘道路由。

1. 在**閘道路由**表中，選擇**建立閘道路由**。

1. 針對**閘道路由名稱**，指定要用於閘道路由的名稱。

1. 針對**閘道路由類型**，選擇 **http**、**http2** 或 **grpc**。

1. 選取現有的**虛擬服務名稱**。如果沒有列出，則需要先建立[虛擬服務](virtual_services.md#create-virtual-service)。

1. 選擇與**虛擬服務供應商連接埠目標對應的連接埠**。當所選虛擬服務的提供者 （路由器或節點） 有多個接聽程式時，**需要**虛擬服務提供者連接埠。

1. （選用） 針對**優先順序**，指定此閘道路由的優先順序。

1. 針對**相符**組態，指定：
   + 

     如果 **http/http2** 是選取的類型：
     + （選用） **方法** - 指定要在傳入 **http**/**http2** 請求中比對的方法標頭。
     + （選用） **連接埠比對** - 比對傳入流量的連接埠。如果此虛擬閘道有多個接聽程式，**則需要**連接埠比對。
     + （選用） **確切/尾碼主機名稱** - 指定應該在傳入請求上比對的主機名稱，以路由至目標虛擬服務。
     + （選用） **Prefix/Exact/Regex 路徑** - 符合 URL 路徑的方法。
       + **字首比對** - 根據預設`/`，閘道路由相符的請求會重寫至目標虛擬服務的名稱，相符的字首則會重寫至 。視您設定虛擬服務的方式而定，它可以使用虛擬路由器，根據特定字首或標頭，將請求路由到不同的虛擬節點。
**重要**  
您無法`/aws-app-mesh*`為**字首比對**指定 `/aws-appmesh*`或 。這些字首保留供未來 App Mesh 內部使用。
如果定義了多個閘道路由，則請求會與字首最長的路由相符。例如，如果存在兩個閘道路由，其中一個具有 字首，`/chapter`另一個具有 字首`/`，則 的請求`www.example.com/chapter/`會與具有 `/chapter`字首的閘道路由相符。
**注意**  
如果您啟用**以路徑**/**字首**為基礎的比對，App Mesh 會啟用路徑標準化 ([normalize\$1path](https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/filters/network/http_connection_manager/v3/http_connection_manager.proto#envoy-v3-api-field-extensions-filters-network-http-connection-manager-v3-httpconnectionmanager-normalize-path) 和 [merge\$1slashes](https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/filters/network/http_connection_manager/v3/http_connection_manager.proto#envoy-v3-api-field-extensions-filters-network-http-connection-manager-v3-httpconnectionmanager-merge-slashes))，以將路徑混淆漏洞的可能性降至最低。  
當參與請求的各方使用不同的路徑表示法時，會發生路徑混淆漏洞。
       + **完全相符** - 精確參數會停用路由的部分相符，並確保只有在路徑符合目前 URL ****時才傳回路由。
       + **Regex 比對** - 用於描述多個 URLs可能實際識別網站上的單一頁面的模式。
     + （選用） **查詢參數** - 此欄位可讓您比對查詢參數。
     + （選用） **標頭** - 指定 **http** 和 **http2** 的標頭。它應該符合傳入請求，以路由到目標虛擬服務。
   + 

     如果 **grpc** 是選取的類型：
     + **主機名稱比對類型**和 （選用） **精確/尾碼比對** - 指定應該在傳入請求上比對的主機名稱，以路由至目標虛擬服務。
     + **grpc 服務名稱** - **grpc** 服務可做為應用程式的 API，並使用 ProtoBuf 定義。
**重要**  
您無法`aws.appmesh`為**服務名稱**指定 `/aws.app-mesh*`或 。這些服務名稱保留供未來的 App Mesh 內部使用。
     + （選用） **中繼資料** - 指定 **grpc** 的中繼資料。它應該符合路由至目標虛擬服務的傳入請求。

1. （選用） 針對**重寫**組態：
   + 

     如果 **http/http2** 是選取的類型：
     + 

       如果**字首**是選取的比對類型：
       + **覆寫主機名稱的自動重寫** - 根據預設，主機名稱會重寫為目標虛擬服務的名稱。
       + **覆寫字首的自動重寫** - 開啟時，**字首重寫**會指定重寫字首的值。
     + 

       如果**精確路徑**是選取的比對類型：
       + **覆寫主機名稱的自動重寫** - 預設會將主機名稱重寫為目標虛擬服務的名稱。
       + **路徑重寫** - 指定重寫路徑的值。沒有預設路徑。
     + 

       如果 **Regex 路徑**是選取的比對類型：
       + **覆寫主機名稱的自動重寫** - 預設會將主機名稱重寫為目標虛擬服務的名稱。
       + **路徑重寫** - 指定重寫路徑的值。沒有預設路徑。
   + 

     如果 **grpc** 是選取的類型：
     + **覆寫主機名稱的自動重寫** - 根據預設，主機名稱會重寫為目標虛擬服務的名稱。

1. 選擇**建立閘道路由**以完成。

------
#### [ AWS CLI ]

**使用 建立閘道路由 AWS CLI。**

使用下列命令建立閘道路由並輸入 JSON （使用您自己的值取代*紅色*值）：

1. 

   ```
   aws appmesh create-virtual-gateway \ 
   --mesh-name meshName \ 
   --virtual-gateway-name virtualGatewayName \
   --gateway-route-name gatewayRouteName \ 
   --cli-input-json file://create-gateway-route.json
   ```

1. create-gateway-route.json **範例**的內容：

   ```
   {
       "spec": {
           "httpRoute" : {
               "match" : {
                   "prefix" : "/"
               },
               "action" : {
                   "target" : {
                       "virtualService": {
                           "virtualServiceName": "serviceA.svc.cluster.local"
                       }
                   }
               }
           }
       }
   }
   ```

1. 輸出範例：

   ```
   {
       "gatewayRoute": {
           "gatewayRouteName": "gatewayRouteName",
           "meshName": "meshName",
           "metadata": {
               "arn": "arn:aws:appmesh:us-west-2:210987654321:mesh/meshName/virtualGateway/virtualGatewayName/gatewayRoute/gatewayRouteName",
               "createdAt": "2022-04-06T11:05:32.100000-05:00",
               "lastUpdatedAt": "2022-04-06T11:05:32.100000-05:00",
               "meshOwner": "123456789012",
               "resourceOwner": "210987654321",
               "uid": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE",
               "version": 1
           },
           "spec": {
               "httpRoute": {
                   "action": {
                       "target": {
                           "virtualService": {
                               "virtualServiceName": "serviceA.svc.cluster.local"
                           }
                       }
                   },
                   "match": {
                       "prefix": "/"
                   }
               }
           },
           "status": {
               "status": "ACTIVE"
           },
           "virtualGatewayName": "gatewayName"
       }
   }
   ```

如需使用 AWS CLI for App Mesh 建立閘道路由的詳細資訊，請參閱 AWS CLI 參考中的 [create-gateway-route](https://docs.aws.amazon.com/cli/latest/reference/appmesh/create-gateway-route.html) 命令。

------

## 刪除閘道路由
<a name="delete-gateway-route"></a>

------
#### [ AWS 管理主控台 ]

**使用 刪除閘道路由 AWS 管理主控台**

1. 在 https：//[https://console.aws.amazon.com/appmesh/](https://console.aws.amazon.com/appmesh/) 開啟 App Mesh 主控台。

1. 選擇您要從中刪除閘道路由的網格。會列出您擁有和已與您[共用](sharing.md)的所有網格。

1. 在左側導覽中選擇**虛擬閘道**。

1. 選擇您想要從中刪除閘道路由的虛擬閘道。

1. 在**閘道路由**表中，選擇您要刪除的閘道路由，然後選擇**刪除**。只有在您的帳戶列為**資源擁有者**時，您才能刪除閘道路由。

1. 在確認方塊中，輸入 **delete**，然後按一下**刪除**。

------
#### [ AWS CLI ]

**使用 刪除閘道路由 AWS CLI**

1. 使用下列命令來刪除閘道路由 （使用您自己的值取代*紅色*值）：

   ```
   aws appmesh delete-gateway-route \
        --mesh-name meshName \
        --virtual-gateway-name virtualGatewayName \
        --gateway-route-name gatewayRouteName
   ```

1. 輸出範例：

   ```
   {
       "gatewayRoute": {
           "gatewayRouteName": "gatewayRouteName",
           "meshName": "meshName",
           "metadata": {
               "arn": "arn:aws:appmesh:us-west-2:210987654321:mesh/meshName/virtualGateway/virtualGatewayName/gatewayRoute/gatewayRouteName",
               "createdAt": "2022-04-06T11:05:32.100000-05:00",
               "lastUpdatedAt": "2022-04-07T10:36:33.191000-05:00",
               "meshOwner": "123456789012",
               "resourceOwner": "210987654321",
               "uid": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE",
               "version": 2
           },
           "spec": {
               "httpRoute": {
                   "action": {
                       "target": {
                           "virtualService": {
                               "virtualServiceName": "serviceA.svc.cluster.local"
                           }
                       }
                   },
                   "match": {
                       "prefix": "/"
                   }
               }
           },
           "status": {
               "status": "DELETED"
           },
           "virtualGatewayName": "virtualGatewayName"
       }
   }
   ```

如需使用 AWS CLI for App Mesh 刪除閘道路由的詳細資訊，請參閱 AWS CLI 參考中的 [delete-gateway-route](https://docs.aws.amazon.com/cli/latest/reference/appmesh/delete-gateway-route.html) 命令。

------