服務網格 - AWS App Mesh

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

服務網格

服務網格是在它之內各服務之間網路流量的邏輯邊界。建立您的服務網格後,您可以建立虛擬服務、虛擬節點、虛擬路由器和路由,以分配網格中的應用程式之間的流量。

建立服務網格

注意

建立網格時,您必須新增命名空間選取器。如果命名空間選擇器是空的,它會選擇所有的命名空間。若要限制命名空間,請使用標籤將 App Mesh 資源與建立的網格相關聯。

AWS Management Console
使用建立服務網格AWS Management Console
  1. https://console.aws.amazon.com/appmesh/ 開啟 App Mesh 主控台。

  2. 選擇 Create mesh (建立網格)

  3. 對於 Mesh name (網格名稱),為您的服務網格指定名稱。

  4. (選擇性) 選擇允許外部流量。根據預設,網狀中的 Proxy 只會在彼此之間轉送流量。如果您允許外部流量,網狀中的 Proxy 也會將 TCP 流量直接轉送至未使用網狀中定義之 Proxy 部署的服務。

    注意

    如果您在使用 ALLOW_ALL 時在虛擬節點上指定任何後端,您必須指定該虛擬節點的所有輸出作為後端。否則,ALLOW_ALL 將不再適用於該虛擬節點。

  5. IP 版本偏好設定

    透過切換 [覆寫預設 IP 版本行為],控制網狀內的流量應使用哪個 IP 版本。根據預設,App Mesh 會使用各種 IP 版本。

    注意

    網格會將 IP 偏好設定套用至網狀內的所有虛擬節點和虛擬閘道。您可以在建立或編輯節點時設定 IP 偏好設定,在個別虛擬節點上覆寫此行為。無法覆寫虛擬閘道上的 IP 偏好設定,因為無論網格上設定何種喜好設定,允許它們監聽 IPv4 和 IPv6 流量的虛擬閘道的組態都是相同的。

    • 預設

      • 特使的 DNS 解析器更喜歡IPv6並回落IPv4

      • 我們使用返回的IPv4地址(AWS Cloud Map如果可用),並回到使用該IPv6地址。

      • 為本機應用程式建立的端點會使用IPv4位址。

      • 特使監聽器綁定到所有IPv4地址。

    • IPv6 偏好

      • 特使的 DNS 解析器更喜歡IPv6並回落IPv4

      • 返回的IPv6地址將被AWS Cloud Map使用(如果可用),並回到使用該IPv4地址

      • 為本機應用程式建立的端點會使用IPv6位址。

      • 特使監聽器綁定到所有IPv4IPv6地址。

    • IPv4 偏好

      • 特使的 DNS 解析器更喜歡IPv4並回落IPv6

      • 我們使用返回的IPv4地址(AWS Cloud Map如果可用),並回到使用該IPv6地址。

      • 為本機應用程式建立的端點會使用IPv4位址。

      • 特使監聽器綁定到所有IPv4IPv6地址。

    • 僅適用於 IPv6

      • 特使的 DNS 解析器僅使用IPv6

      • 只會使用傳回AWS Cloud Map的IPv6地址。如果AWS Cloud Map返回IPv4地址,則不會使用 IP 地址,並將空的結果返回給特使。

      • 為本機應用程式建立的端點會使用IPv6位址。

      • 特使監聽器綁定到所有IPv4IPv6地址。

    • 僅限 IPv4

      • 特使的 DNS 解析器僅使用IPv4

      • 只會使用傳回AWS Cloud Map的IPv4地址。如果AWS Cloud Map返回IPv6地址,則不會使用 IP 地址,並將空的結果返回給特使。

      • 為本機應用程式建立的端點會使用IPv4位址。

      • 特使監聽器綁定到所有IPv4IPv6地址。

  6. 選擇 Create mesh (建立網格) 以完成。

  7. (選擇性) 與其他帳戶共享網格。共用網格可讓不同帳戶建立的資源在同一個網格中彼此通訊。如需詳細資訊,請參閱使用共用網面

AWS CLI

若要使用建立網面AWS CLI。

使用下列指令建立服務網格 (使用您自己的指令取代紅色值):

  1. aws appmesh create-mesh --mesh-name meshName
  2. 輸出範例:

    { "mesh":{ "meshName":"meshName", "metadata":{ "arn":"arn:aws:appmesh:us-west-2:123456789012:mesh/meshName", "createdAt":"2022-04-06T08:45:50.072000-05:00", "lastUpdatedAt":"2022-04-06T08:45:50.072000-05:00", "meshOwner": "123456789012", "resourceOwner": "123456789012", "uid":"a1b2c3d4-5678-90ab-cdef-11111EXAMPLE", "version":1 }, "spec":{}, "status":{ "status":"ACTIVE" } } }

如需有關使用 App Mesh 建立網格的AWS CLI詳細資訊,請參閱AWS CLI參照中的建立網格指令。

刪除網格

AWS Management Console
使用刪除虛擬閘道AWS Management Console
  1. https://console.aws.amazon.com/appmesh/ 開啟 App Mesh 主控台。

  2. 選擇您要刪除的網格。會列出您擁有且已與您共用的所有網格。

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

AWS CLI
若要使用刪除網面AWS CLI
  1. 使用下列指令刪除網格 (用您自己的網格取代紅色值):

    aws appmesh delete-mesh \ --mesh-name meshName
  2. 輸出範例:

    { "mesh": { "meshName": "meshName", "metadata": { "arn":"arn:aws:appmesh:us-west-2:123456789012:mesh/meshName", "createdAt": "2022-04-06T08:45:50.072000-05:00", "lastUpdatedAt": "2022-04-07T11:06:32.795000-05:00", "meshOwner": "123456789012", "resourceOwner": "123456789012", "uid": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE", "version": 1 }, "spec": {}, "status": { "status": "DELETED" } } }

如需有關使用 App Mesh 刪除網格的AWS CLI詳細資訊,請參閱AWS CLI參照中的刪除網格指令。