使用共用網面 - AWS App Mesh

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

使用共用網面

您可以使用該 AWS Resource Access Manager 服務跨 AWS 帳戶共用應用程式網格網格。共用網格可讓不同 AWS 帳戶建立的資源在同一個網格中彼此通訊。

AWS 帳號可以是網狀資源擁有者、網格取用者,或兩者兼而有之。消費者可以在與其帳戶共用的網格中建立資源。擁有者可以在帳戶擁有的任何網狀中建立資源。網面擁有者可以與下列類型的網面取用者共用網面。

  • 其組織內部或外部的特定 AWS 帳戶 AWS Organizations

  • 其組織內部的組織單位 AWS Organizations

  • 它的整個組織 AWS Organizations

有關 GitHub共用網格的逐 end-to-end 步解說,請參閱上的跨帳戶網格穿越。

授與共用網格的權限

跨帳戶共用網格時,存在共用網格的 IAM 主體所需的許可,以及網格本身所需的資源層級許可。

授與共用網面的權限

IAM 主體需要最少一組許可才能共用網格。我們建議您使用AWSAppMeshFullAccessAWSResourceAccessManagerFullAccess受管 IAM 政策,以確保您的 IAM 主體具有共用和使用共用網格所需的許可。

如果您使用自訂 IAM 政策appmesh:PutMeshPolicy,則需要執行appmesh:GetMeshPolicy、和appmesh:DeleteMeshPolicy動作。這些是僅限許可的 IAM 動作。如果 IAM 主體未授與這些權限,則嘗試使用該 AWS RAM 服務共用網格時會發生錯誤。

如需 AWS Resource Access Manager 服務使用 IAM 方式的詳細資訊,請參閱AWS RAM 使用AWS Resource Access Manager 者指南中的 IAM 使用方式。

授與網格的權限

共用網格具有下列權限。

  • 消費者可以列出並描述與帳戶共用的網格中的所有資源。

  • 擁有者可以列出並描述帳戶擁有的任何網格中的所有資源。

  • 擁有者和取用者可以修改帳號建立的網格中的資源,但無法修改其他其他帳號所建立的資源。

  • 取用者可以刪除帳號所建立之網格中的任何資源。

  • 擁有者可以刪除網格中建立的任何帳號的任何資源。

  • 擁有者的資源只能參考同一帳號中的其他資源。例如,虛擬節點只能參照 AWS Cloud Map 或與虛擬節點擁有者位於相同帳戶中的 AWS Certificate Manager 憑證。

  • 擁有者和消費者可以將 Envoy 代理連接到 App Mesh 作為帳戶擁有的虛擬節點。

  • 擁有者可以建立虛擬閘道和虛擬閘道路由。

  • 擁有者和取用者可以列出標籤,並且可以在帳戶建立的網格中標記/取消標記資源。他們無法在不是由帳戶建立的網格中列出標籤和標記/取消標記資源。

共用網格使用原則型授權。網格與一組固定的權限共用。系統會選取這些許可以新增至資源政策,也可以根據 IAM 使用者/角色選取選用的 IAM 政策。這些原則中允許的權限交集 (除了任何明確拒絕的明確權限) 決定主參與者對網格的存取權限。

共用網格時, AWS Resource Access Manager 服務會建立名為的受管理原則,AWSRAMDefaultPermissionAppMesh並將其與提供下列權限的 App Mesh 產生關聯。

  • appmesh:CreateVirtualNode

  • appmesh:CreateVirtualRouter

  • appmesh:CreateRoute

  • appmesh:CreateVirtualService

  • appmesh:UpdateVirtualNode

  • appmesh:UpdateVirtualRouter

  • appmesh:UpdateRoute

  • appmesh:UpdateVirtualService

  • appmesh:ListVirtualNodes

  • appmesh:ListVirtualRouters

  • appmesh:ListRoutes

  • appmesh:ListVirtualServices

  • appmesh:DescribeMesh

  • appmesh:DescribeVirtualNode

  • appmesh:DescribeVirtualRouter

  • appmesh:DescribeRoute

  • appmesh:DescribeVirtualService

  • appmesh:DeleteVirtualNode

  • appmesh:DeleteVirtualRouter

  • appmesh:DeleteRoute

  • appmesh:DeleteVirtualService

  • appmesh:TagResource

  • appmesh:UntagResource

共用網格的先決條件

若要共用網面,您必須符合下列先決條件。

  • 您必須擁有 AWS 帳戶中的網格。您無法共用已與您共用的網面。

  • 若要與中的組織或組織單位共用網格 AWS Organizations,您必須啟用與共用 AWS Organizations。如需詳細資訊,請參閱《AWS RAM 使用者指南》中的透過 AWS Organizations啟用共用

  • 您的服務必須部署在 Amazon VPC 中,該帳戶之間具有共用連線能力,其中包含您要彼此通訊的網狀資源。共用網路連線的其中一種方法是將您要在網狀中使用的所有服務部署到共用子網路。如需詳細資訊和限制,請參閱共用子網路

  • 服務必須可透過 DNS 或 AWS Cloud Map. 如需有關服務探索的詳細資訊,請參閱虛擬節點

網格共享與 AWS Resource Access Manager (AWS RAM)集成。 AWS RAM 是一項服務,可讓您與任何 AWS 帳戶或透過其他帳戶共用您的 AWS 資源 AWS Organizations。使用 AWS RAM,您可以透過建立資源共用來共用您擁有的資源。資源共享指定要共用的資源,以及共用它們的消費者。消費者可以是個人 AWS 帳戶,也可以是中的組織單位或整個組織 AWS Organizations。

若要取得有關的更多資訊 AWS RAM,請參閱AWS RAM 使用者指南

共用網格

共用網格可讓不同帳戶建立的網格資源在同一個網格中彼此通訊。您只能共用您擁有的網格。若要共用網格,您必須將其新增至資源共用。資源共用是一 AWS RAM 種可讓您跨 AWS 帳號共用資源的資源。資源共用指定要共用的資源以及與之共用的消費者。當您使用 Amazon Linux 主控台共用網格時,您可以將其新增至現有的資源共用。若要將網格新增至新的資源共用,請使用AWS RAM 主控台建立資源共用。

如果您是組織中的一員, AWS Organizations 且已啟用組織內的共用功能,則組織中的取用者可以自動獲得共用網格的存取權。否則,取用者會收到加入資源共用的邀請,並在接受邀請後授與共用網格的存取權。

您可以使用 AWS RAM 控制台或共用您擁有的網格 AWS CLI。

共用您使用 AWS RAM 主控台擁有的網格

如需指示,請參閱《使用指南》中的〈建立資源共AWS RAM用〉。當您選取資源類型時,請選取網格,然後選取您要共用的網格。如果沒有列出網面,請先建立網面。如需詳細資訊,請參閱 建立服務網格

共用您使用 AWS CLI

使用 create-resource-share 命令。對於此--resource-arns選項,指定您要共用的網面的 ARN。

取消共用共用網格

當您取消共用網狀時,App Mesh 會停用網格的前消費者對網格的進一步存取。不過,App Mesh 不會刪除取用者所建立的資源。取消共用網格之後,只有網格擁有者可以存取和刪除資源。App Mesh 可防止擁有網狀資源的帳戶在取消共用網格後接收組態資訊。App Mesh 也可防止任何其他具有網狀資源的帳戶從未共用的網格接收組態資訊。只有網面的擁有者可以取消共用網面。

若要取消共用您擁有的共用網格,您必須將其從資源共用中移除。您可以使用控 AWS RAM 制台或 AWS CLI.

取消共用您使用控制台擁有的 AWS RAM 共用網格

如需指示,請參閱《使用指南》中的〈更新資源共AWS RAM用〉

取消共用您使用 AWS CLI

使用 disassociate-resource-share 命令。

點選共用網格

擁有者和消費者可以使用 Amazon Linux 主控台識別共用網格和網狀資源, AWS CLI

若要使用 Amazon Linux 主控台識別共用網格
  1. 開啟應用程式網格主控台,位於 https://console.aws.amazon.com/appmesh/

  2. 從左側導覽中,選取「網面」。每個網格的網格擁有者帳戶 ID 會列在「網格擁有者」欄中。

  3. 在左側導覽中,選取 [虛擬服務]、[虛擬路由器] 或 [虛擬節點]。您會看到每個資源的 Mesh 擁有者資源擁有者的帳號 ID。

使用識別共用網面的步驟 AWS CLI

使用aws appmesh list resource指令,例如aws appmesh list-meshes。此指令會傳回您擁有的網面以及與您共用的網面。meshOwner屬性會顯示的 AWS 帳號 ID,meshOwner而且resourceOwner屬性會顯示資源擁有者的 AWS 帳號 ID。對任何網格資源執行的任何命令都會傳回這些屬性。

您貼附至共用網面的使用者定義標籤僅適用於您的 AWS 帳戶。它們不適用於與網格共用的其他帳戶。另一個帳戶中網格的aws appmesh list-tags-for-resource命令被拒絕訪問。

計費和計量

共用網格不會收取任何費用。

實例配額

網格的所有配額也會套用至共用網格,無論是誰在網格中建立資源。只有網格擁有者可以要求增加配額。如需詳細資訊,請參閱 App Mesh。該 AWS Resource Access Manager 服務也有配額。如需詳細資訊,請參閱 Service Quotas