選取您的 Cookie 偏好設定

我們使用提供自身網站和服務所需的基本 Cookie 和類似工具。我們使用效能 Cookie 收集匿名統計資料,以便了解客戶如何使用我們的網站並進行改進。基本 Cookie 無法停用,但可以按一下「自訂」或「拒絕」以拒絕效能 Cookie。

如果您同意,AWS 與經核准的第三方也會使用 Cookie 提供實用的網站功能、記住您的偏好設定,並顯示相關內容,包括相關廣告。若要接受或拒絕所有非必要 Cookie,請按一下「接受」或「拒絕」。若要進行更詳細的選擇,請按一下「自訂」。

路由

焦點模式
路由 - AWS 應用程式網格

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

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

重要

支援終止通知:2026 年 9 月 30 日, AWS 將停止支援 AWS App Mesh。2026 年 9 月 30 日之後,您將無法再存取 AWS App Mesh 主控台或 AWS App Mesh 資源。如需詳細資訊,請參閱此部落格文章從 遷移 AWS App Mesh 至 Amazon ECS Service Connect

路由與虛擬路由器相關聯。此路由用於比對虛擬路由器的請求,並將流量分配到其相關聯的虛擬節點。如果路由符合請求,則可以將流量分配到一或多個目標虛擬節點。您可以為每個虛擬節點指定相對權重。本主題可協助您使用服務網格中的路由。

建立路由

AWS Management Console
使用 建立路由 AWS Management Console
  1. 在 https://https://console.aws.amazon.com/appmesh/ 開啟 App Mesh 主控台。

  2. 選擇您要建立路由的網格。會列出您擁有和已與您共用的所有網格。

  3. 在左側導覽中,選擇 Virtual routers (虛擬路由器)

  4. 選擇您要與新路由建立關聯的虛擬路由器。如果沒有列出,則需要先建立虛擬路由器

  5. Routes (路由) 表中,選擇 Create route (建立路由)。若要建立路由,您的帳戶 ID 必須列為路由的資源擁有者

  6. 對於 Route name (路由名稱),指定您的路由要使用的名稱。

  7. 針對路由類型,選擇您要路由的通訊協定。您選取的通訊協定必須符合您為虛擬路由器選取的接聽程式通訊協定,以及您路由流量的虛擬節點。

  8. (選用) 針對路由優先順序,指定要用於路由的優先順序,範圍為 0-1000。將依指定值比對路由,0 為最高優先順序。

  9. (選用) 選擇其他組態。從下面的通訊協定中,選擇您為 Route 類型選取的通訊協定,並視需要在主控台中指定設定。

  10. 針對目標組態,選取現有的 App Mesh 虛擬節點以將流量路由到 ,並指定權重。您可以選擇新增目標以新增其他目標。所有目標的百分比最多必須加 100。如果未列出任何虛擬節點,則您必須先建立一個。如果選取的虛擬節點有多個接聽程式,則需要目標連接埠

  11. 針對相符組態,指定:

    比對組態不適用於 tcp

    • 如果 http/http2 是選取的類型:

      • (選用) 方法 - 指定要在傳入 http/http2 請求中比對的方法標頭。

      • (選用) 連接埠比對 - 比對傳入流量的連接埠。如果此虛擬路由器有多個接聽程式,則需要連接埠比對。

      • (選用) Prefix/Exact/Regex - 符合 URL 路徑的方法。

        • 字首比對 - 根據預設/,閘道路由的相符請求會重寫至目標虛擬服務的名稱,相符字首則會重寫至 。視您設定虛擬服務的方式而定,它可以使用虛擬路由器,根據特定字首或標頭,將請求路由到不同的虛擬節點。

          注意

          如果您啟用以路徑/字首為基礎的比對,App Mesh 會啟用路徑標準化 (normalize_pathmerge_slashes),以將路徑混淆漏洞的可能性降至最低。

          當參與請求的各方使用不同的路徑表示法時,會發生路徑混淆漏洞。

        • 完全相符 - 精確參數會停用路由的部分相符,並確保只有在路徑符合目前 URL 時,才會傳回路由。

        • Regex 比對 - 用於描述多個 URLs可能實際識別網站上的單一頁面的模式。

      • (選用) 查詢參數 - 此欄位可讓您比對查詢參數。

      • (選用) 標頭 - 指定 httphttp2 的標頭。它應該符合傳入請求,以路由到目標虛擬服務。

    • 如果 grpc 是選取的類型:

      • 服務名稱 - 要比對請求的目的地服務。

      • 方法名稱 - 符合請求的目的地方法。

      • (選用) 中繼資料 - Match 根據中繼資料的存在來指定 。所有 必須符合才能處理請求。

  12. 選取建立路由

AWS CLI

使用 建立路由 AWS CLI。

使用下列命令和輸入 JSON 建立 gRPC 路由 (使用您自己的值取代紅色值):

  1. aws appmesh create-route \ --cli-input-json file://create-route-grpc.json
  2. create-route-grpc.json 範例的內容

    { "meshName" : "meshName", "routeName" : "routeName", "spec" : { "grpcRoute" : { "action" : { "weightedTargets" : [ { "virtualNode" : "nodeName", "weight" : 100 } ] }, "match" : { "metadata" : [ { "invert" : false, "match" : { "prefix" : "123" }, "name" : "myMetadata" } ], "methodName" : "nameOfmethod", "serviceName" : "serviceA.svc.cluster.local" }, "retryPolicy" : { "grpcRetryEvents" : [ "deadline-exceeded" ], "httpRetryEvents" : [ "server-error", "gateway-error" ], "maxRetries" : 3, "perRetryTimeout" : { "unit" : "s", "value" : 15 }, "tcpRetryEvents" : [ "connection-error" ] } }, "priority" : 100 }, "virtualRouterName" : "routerName" }
  3. 輸出範例:

    { "route": { "meshName": "meshName", "metadata": { "arn": "arn:aws:appmesh:us-west-2:210987654321:mesh/meshName/virtualRouter/routerName/route/routeName", "createdAt": "2022-04-06T13:48:20.749000-05:00", "lastUpdatedAt": "2022-04-06T13:48:20.749000-05:00", "meshOwner": "123456789012", "resourceOwner": "210987654321", "uid": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE", "version": 1 }, "routeName": "routeName", "spec": { "grpcRoute": { "action": { "weightedTargets": [ { "virtualNode": "nodeName", "weight": 100 } ] }, "match": { "metadata": [ { "invert": false, "match": { "prefix": "123" }, "name": "myMetadata" } ], "methodName": "nameOfMehod", "serviceName": "serviceA.svc.cluster.local" }, "retryPolicy": { "grpcRetryEvents": [ "deadline-exceeded" ], "httpRetryEvents": [ "server-error", "gateway-error" ], "maxRetries": 3, "perRetryTimeout": { "unit": "s", "value": 15 }, "tcpRetryEvents": [ "connection-error" ] } }, "priority": 100 }, "status": { "status": "ACTIVE" }, "virtualRouterName": "routerName" } }

如需使用 AWS CLI for App Mesh 建立路由的詳細資訊,請參閱 AWS CLI 參考中的 create-route 命令。

使用 建立路由 AWS Management Console
  1. 在 https://https://console.aws.amazon.com/appmesh/ 開啟 App Mesh 主控台。

  2. 選擇您要建立路由的網格。會列出您擁有和已與您共用的所有網格。

  3. 在左側導覽中,選擇 Virtual routers (虛擬路由器)

  4. 選擇您要與新路由建立關聯的虛擬路由器。如果沒有列出,則需要先建立虛擬路由器

  5. Routes (路由) 表中,選擇 Create route (建立路由)。若要建立路由,您的帳戶 ID 必須列為路由的資源擁有者

  6. 對於 Route name (路由名稱),指定您的路由要使用的名稱。

  7. 針對路由類型,選擇您要路由的通訊協定。您選取的通訊協定必須符合您為虛擬路由器選取的接聽程式通訊協定,以及您路由流量的虛擬節點。

  8. (選用) 針對路由優先順序,指定要用於路由的優先順序,範圍為 0-1000。將依指定值比對路由,0 為最高優先順序。

  9. (選用) 選擇其他組態。從下面的通訊協定中,選擇您為 Route 類型選取的通訊協定,並視需要在主控台中指定設定。

  10. 針對目標組態,選取現有的 App Mesh 虛擬節點以將流量路由到 ,並指定權重。您可以選擇新增目標以新增其他目標。所有目標的百分比最多必須加 100。如果未列出任何虛擬節點,則您必須先建立一個。如果選取的虛擬節點有多個接聽程式,則需要目標連接埠

  11. 針對相符組態,指定:

    比對組態不適用於 tcp

    • 如果 http/http2 是選取的類型:

      • (選用) 方法 - 指定要在傳入 http/http2 請求中比對的方法標頭。

      • (選用) 連接埠比對 - 比對傳入流量的連接埠。如果此虛擬路由器有多個接聽程式,則需要連接埠比對。

      • (選用) Prefix/Exact/Regex - 符合 URL 路徑的方法。

        • 字首比對 - 根據預設/,閘道路由的相符請求會重寫至目標虛擬服務的名稱,相符字首則會重寫至 。視您設定虛擬服務的方式而定,它可以使用虛擬路由器,根據特定字首或標頭,將請求路由到不同的虛擬節點。

          注意

          如果您啟用以路徑/字首為基礎的比對,App Mesh 會啟用路徑標準化 (normalize_pathmerge_slashes),以將路徑混淆漏洞的可能性降至最低。

          當參與請求的各方使用不同的路徑表示法時,會發生路徑混淆漏洞。

        • 完全相符 - 精確參數會停用路由的部分相符,並確保只有在路徑符合目前 URL 時,才會傳回路由。

        • Regex 比對 - 用於描述多個 URLs可能實際識別網站上的單一頁面的模式。

      • (選用) 查詢參數 - 此欄位可讓您比對查詢參數。

      • (選用) 標頭 - 指定 httphttp2 的標頭。它應該符合傳入請求,以路由到目標虛擬服務。

    • 如果 grpc 是選取的類型:

      • 服務名稱 - 要比對請求的目的地服務。

      • 方法名稱 - 符合請求的目的地方法。

      • (選用) 中繼資料 - Match 根據中繼資料的存在來指定 。所有 必須符合才能處理請求。

  12. 選取建立路由

(選用) 相符

  • (選用) 輸入要符合 請求的目的地服務的服務名稱。如果您未指定名稱,則會比對對任何 服務的請求。

  • (選用) 輸入要比對請求之目的地方法的方法名稱。如果您未指定名稱,則會比對任何方法的請求。如果您指定方法名稱,則必須指定服務名稱。

(選用) 中繼資料

選擇 Add metadata (新增中繼資料)。

  • (選用) 輸入您要根據其路由的中繼資料名稱,選取相符類型,然後輸入相符值。選取反轉將符合相反項目。例如,如果您指定 的中繼資料名稱myMetadataExact相符類型、 的相符值123,然後選取反轉,則路由會針對中繼資料名稱開頭為 以外的任何請求進行比對123

  • (選用) 選取新增中繼資料以新增最多十個中繼資料項目。

(選用) 重試政策

重試政策可讓用戶端保護自己免於間歇性的網路故障或間歇性的伺服器端故障。重試政策是選用的,但建議使用。重試逾時值會定義每次重試的逾時 (包括初始嘗試)。如果您未定義重試政策,則 App Mesh 可能會為每個路由自動建立預設政策。如需詳細資訊,請參閱預設路由重試政策

  • 針對重試逾時,輸入逾時持續時間的單位數量。如果您選擇任何通訊協定重試事件,則需要值。

  • 針對重試逾時單位,選取單位。如果您選擇任何通訊協定重試事件,則需要值。

  • 針對重試次數上限,輸入請求失敗時的重試次數上限。如果您選擇任何通訊協定重試事件,則需要值。我們建議值至少為兩個。

  • 選取一或多個 HTTP 重試事件。我們建議至少選取 stream-errorgateway-error

  • 選取 TCP 重試事件

  • 選取一或多個 gRPC 重試事件。我們建議至少選取已取消無法使用

(選用) 逾時

  • 預設值為 15 秒。如果您指定重試政策,則您在此指定的持續時間應一律大於或等於重試持續時間乘以您在重試政策中定義的重試次數上限,以便您的重試政策完成。如果您指定的持續時間大於 15 秒,則請確保為任何虛擬節點目標的接聽程式指定的逾時也大於 15 秒。如需詳細資訊,請參閱虛擬節點

  • 值為 0 會停用逾時。

  • 路由可閒置的時間上限。

(選用) 相符

  • (選用) 輸入要符合 請求的目的地服務的服務名稱。如果您未指定名稱,則會比對對任何 服務的請求。

  • (選用) 輸入要比對請求之目的地方法的方法名稱。如果您未指定名稱,則會比對任何方法的請求。如果您指定方法名稱,則必須指定服務名稱。

(選用) 中繼資料

選擇 Add metadata (新增中繼資料)。

  • (選用) 輸入您要根據其路由的中繼資料名稱,選取相符類型,然後輸入相符值。選取反轉將符合相反項目。例如,如果您指定 的中繼資料名稱myMetadataExact相符類型、 的相符值123,然後選取反轉,則路由會針對中繼資料名稱開頭為 以外的任何請求進行比對123

  • (選用) 選取新增中繼資料以新增最多十個中繼資料項目。

(選用) 重試政策

重試政策可讓用戶端保護自己免於間歇性的網路故障或間歇性的伺服器端故障。重試政策是選用的,但建議使用。重試逾時值會定義每次重試的逾時 (包括初始嘗試)。如果您未定義重試政策,則 App Mesh 可能會為每個路由自動建立預設政策。如需詳細資訊,請參閱預設路由重試政策

  • 針對重試逾時,輸入逾時持續時間的單位數量。如果您選擇任何通訊協定重試事件,則需要值。

  • 針對重試逾時單位,選取單位。如果您選擇任何通訊協定重試事件,則需要值。

  • 針對重試次數上限,輸入請求失敗時的重試次數上限。如果您選擇任何通訊協定重試事件,則需要值。我們建議值至少為兩個。

  • 選取一或多個 HTTP 重試事件。我們建議至少選取 stream-errorgateway-error

  • 選取 TCP 重試事件

  • 選取一或多個 gRPC 重試事件。我們建議至少選取已取消無法使用

(選用) 逾時

  • 預設值為 15 秒。如果您指定重試政策,則您在此指定的持續時間應一律大於或等於重試持續時間乘以您在重試政策中定義的重試次數上限,以便您的重試政策完成。如果您指定的持續時間大於 15 秒,則請確保為任何虛擬節點目標的接聽程式指定的逾時也大於 15 秒。如需詳細資訊,請參閱虛擬節點

  • 值為 0 會停用逾時。

  • 路由可閒置的時間上限。

(選用) 相符

  • 指定路由應相符的字首。例如,如果您的虛擬服務名稱是 service-b.local,而您希望路由以配對請求和 service-b.local/metrics,則字首應該為 /metrics。指定 會/路由所有流量。

  • (選用) 選取方法

  • (選用) 選取結構描述。僅適用於 HTTP2 路由。

(選用) 標頭

  • (選用) 選取新增標頭。輸入您要路由的標頭名稱,選取相符類型,然後輸入相符值。選取反轉將符合相反項目。例如,如果您指定名為 的標頭clientRequestId123並選取反轉,則路由會比對具有開頭為 以外的任何標頭的任何請求123

  • (選用) 選取新增標頭。您最多可以新增十個標頭。

(選用) 重試政策

重試政策可讓用戶端保護自己免於間歇性的網路故障或間歇性的伺服器端故障。重試政策是選用的,但建議使用。重試逾時值會定義每次重試的逾時 (包括初始嘗試)。如果您未定義重試政策,則 App Mesh 可能會為每個路由自動建立預設政策。如需詳細資訊,請參閱預設路由重試政策

  • 針對重試逾時,輸入逾時持續時間的單位數量。如果您選擇任何通訊協定重試事件,則需要值。

  • 針對重試逾時單位,選取單位。如果您選擇任何通訊協定重試事件,則需要值。

  • 針對重試次數上限,輸入請求失敗時的重試次數上限。如果您選擇任何通訊協定重試事件,則需要值。我們建議值至少為兩個。

  • 選取一或多個 HTTP 重試事件。我們建議至少選取 stream-errorgateway-error

  • 選取 TCP 重試事件

(選用) 逾時

  • 請求逾時 – 預設值為 15 秒。如果您指定重試政策,則您在此指定的持續時間應一律大於或等於重試持續時間乘以您在重試政策中定義的重試次數上限,以便您的重試政策完成。

  • 閒置持續時間 – 預設值為 300 秒。

  • 值為 0 會停用逾時。

注意

如果您指定大於預設值的逾時,請確定為所有虛擬節點參與者的接聽程式指定的逾時也大於預設值。不過,如果您將逾時減少到低於預設值的值,您可以選擇更新虛擬節點的逾時。如需詳細資訊,請參閱虛擬節點

(選用) 相符

  • 指定路由應相符的字首。例如,如果您的虛擬服務名稱是 service-b.local,而您希望路由以配對請求和 service-b.local/metrics,則字首應該為 /metrics。指定 會/路由所有流量。

  • (選用) 選取方法

  • (選用) 選取結構描述。僅適用於 HTTP2 路由。

(選用) 標頭

  • (選用) 選取新增標頭。輸入您要路由的標頭名稱,選取相符類型,然後輸入相符值。選取反轉將符合相反項目。例如,如果您指定名為 的標頭clientRequestId123並選取反轉,則路由會比對具有開頭為 以外的任何標頭的任何請求123

  • (選用) 選取新增標頭。您最多可以新增十個標頭。

(選用) 重試政策

重試政策可讓用戶端保護自己免於間歇性的網路故障或間歇性的伺服器端故障。重試政策是選用的,但建議使用。重試逾時值會定義每次重試的逾時 (包括初始嘗試)。如果您未定義重試政策,則 App Mesh 可能會為每個路由自動建立預設政策。如需詳細資訊,請參閱預設路由重試政策

  • 針對重試逾時,輸入逾時持續時間的單位數量。如果您選擇任何通訊協定重試事件,則需要值。

  • 針對重試逾時單位,選取單位。如果您選擇任何通訊協定重試事件,則需要值。

  • 針對重試次數上限,輸入請求失敗時的重試次數上限。如果您選擇任何通訊協定重試事件,則需要值。我們建議值至少為兩個。

  • 選取一或多個 HTTP 重試事件。我們建議至少選取 stream-errorgateway-error

  • 選取 TCP 重試事件

(選用) 逾時

  • 請求逾時 – 預設值為 15 秒。如果您指定重試政策,則您在此指定的持續時間應一律大於或等於重試持續時間乘以您在重試政策中定義的重試次數上限,以便您的重試政策完成。

  • 閒置持續時間 – 預設值為 300 秒。

  • 值為 0 會停用逾時。

注意

如果您指定大於預設值的逾時,請確定為所有虛擬節點參與者的接聽程式指定的逾時也大於預設值。不過,如果您將逾時減少到低於預設值的值,您可以選擇更新虛擬節點的逾時。如需詳細資訊,請參閱虛擬節點

(選用) 逾時

  • 閒置持續時間 – 預設值為 300 秒。

  • 值為 0 會停用逾時。

(選用) 逾時

  • 閒置持續時間 – 預設值為 300 秒。

  • 值為 0 會停用逾時。

刪除路由

AWS Management Console
使用 刪除路由 AWS Management Console
  1. 在 https://https://console.aws.amazon.com/appmesh/ 開啟 App Mesh 主控台。

  2. 選擇您要從中刪除路由的網格。會列出您擁有和已與您共用的所有網格。

  3. 在左側導覽中,選擇 Virtual routers (虛擬路由器)

  4. 選擇您要從中刪除路由的路由器。

  5. 路由表中,選擇您要刪除的路由,然後選取右上角的刪除

  6. 在確認方塊中,輸入 delete,然後按一下刪除

AWS CLI
使用 刪除路由 AWS CLI
  1. 使用以下命令刪除您的路由 (使用您自己的值取代紅色值):

    aws appmesh delete-route \ --mesh-name meshName \ --virtual-router-name routerName \ --route-name routeName
  2. 輸出範例:

    { "route": { "meshName": "meshName", "metadata": { "arn": "arn:aws:appmesh:us-west-2:210987654321:mesh/meshName/virtualRouter/routerName/route/routeName", "createdAt": "2022-04-06T13:46:54.750000-05:00", "lastUpdatedAt": "2022-04-07T10:43:57.152000-05:00", "meshOwner": "123456789012", "resourceOwner": "210987654321", "uid": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE", "version": 2 }, "routeName": "routeName", "spec": { "grpcRoute": { "action": { "weightedTargets": [ { "virtualNode": "nodeName", "weight": 100 } ] }, "match": { "metadata": [ { "invert": false, "match": { "prefix": "123" }, "name": "myMetadata" } ], "methodName": "methodName", "serviceName": "serviceA.svc.cluster.local" }, "retryPolicy": { "grpcRetryEvents": [ "deadline-exceeded" ], "httpRetryEvents": [ "server-error", "gateway-error" ], "maxRetries": 3, "perRetryTimeout": { "unit": "s", "value": 15 }, "tcpRetryEvents": [ "connection-error" ] } }, "priority": 100 }, "status": { "status": "DELETED" }, "virtualRouterName": "routerName" } }

如需使用 AWS CLI for App Mesh 刪除路由的詳細資訊,請參閱 AWS CLI 參考中的 delete-route 命令。

使用 刪除路由 AWS Management Console
  1. 在 https://https://console.aws.amazon.com/appmesh/ 開啟 App Mesh 主控台。

  2. 選擇您要從中刪除路由的網格。會列出您擁有和已與您共用的所有網格。

  3. 在左側導覽中,選擇 Virtual routers (虛擬路由器)

  4. 選擇您要從中刪除路由的路由器。

  5. 路由表中,選擇您要刪除的路由,然後選取右上角的刪除

  6. 在確認方塊中,輸入 delete,然後按一下刪除

下一個主題:

Envoy

上一個主題:

虛擬路由器

在本頁面

隱私權網站條款Cookie 偏好設定
© 2025, Amazon Web Services, Inc.或其附屬公司。保留所有權利。