翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
共有メッシュの使用
AWS Resource Access Manager このサービスを使用して、App Mesh AWS メッシュをアカウント間で共有できます。共有メッシュを使用すると、 AWS 異なるアカウントで作成されたリソースが同じメッシュ内で相互に通信できます。
AWS アカウントは、メッシュリソースの所有者、メッシュコンシューマー、またはその両方になることができます。コンシューマーは、アカウントと共有されるメッシュにリソースを作成できます。オーナーは、アカウントが所有する任意のメッシュにリソースを作成できます。メッシュ所有者は以下のタイプのメッシュコンシューマーとメッシュを共有できます。
-
AWS 組織内または組織外の特定のアカウント AWS Organizations
-
組織内の組織単位 AWS Organizations
-
その組織全体が AWS Organizations
メッシュ共有の手順については、「クロスアカウントメッシュウォークスルーオン
メッシュを共有する権限の付与
アカウント間でメッシュを共有する場合、メッシュを共有する IAM プリンシパルに必要な権限と、メッシュ自体に必要なリソースレベルの権限があります。
メッシュを共有する権限を付与する
IAM プリンシパルがメッシュを共有するには、最低限の権限セットが必要です。IAM プリンシパルが共有メッシュを共有したり使用したりするのに必要な権限を持っていることを確認するために、AWSAppMeshFullAccess
AWSResourceAccessManagerFullAccess
および管理された IAM ポリシーを使用することをお勧めします。
カスタム IAM ポリシーを使用する場合は、、appmesh:PutMeshPolicy
appmesh:GetMeshPolicy
、アクションが必要です。appmesh:DeleteMeshPolicy
これらは権限のみの IAM アクションです。IAM プリンシパルにこれらの権限が付与されていない場合、サービスを使用してメッシュを共有しようとするとエラーが発生します。 AWS RAM
AWS Resource Access Manager サービスが IAM を使用する方法の詳細については、ユーザーガイドの「IAM AWS RAM の使用方法」を参照してください。AWS Resource Access Manager
メッシュの権限の付与
共有メッシュには以下の権限があります。
-
コンシューマーは、アカウントと共有されているメッシュ内のすべてのリソースを一覧表示して記述できます。
-
オーナーは、アカウントが所有するメッシュ内のすべてのリソースを一覧表示して説明できます。
-
所有者とコンシューマーは、アカウントが作成したメッシュのリソースを変更できますが、他のアカウントが作成したリソースを変更することはできません。
-
コンシューマーは、アカウントが作成したメッシュ内の任意のリソースを削除できます。
-
所有者は、任意のアカウントが作成したメッシュ内の任意のリソースを削除できます。
-
所有者のリソースは、同じアカウント内の他のリソースのみをリファレンスできます。たとえば、 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にデプロイする必要があります。ネットワーク接続を共有する 1 つの方法は、メッシュで使用するすべてのサービスを共有サブネットにデプロイすることです。詳細および制限事項については、「サブネットの共有」を参照してください。
-
サービスは 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 コンソールを使用して共有メッシュを識別するには
-
App Mesh コンソールを開きます。https://console.aws.amazon.com/appmesh/
。 -
左のナビゲーションペインで [メッシュ] を選択します。各メッシュのメッシュ所有者のアカウント ID は、[メッシュ所有者]列に一覧表示されます。
-
左側のナビゲーションから、[仮想サービス]、[仮想ルーター]、または[仮想ノード]を選択します。各リソースのメッシュ所有者とリソース所有者のアカウント ID が表示されます。
を使用して共有メッシュを識別するには AWS CLI
aws appmesh list-meshes
などの aws appmesh list
コマンドを使用します。このコマンドは、所有しているメッシュと共有されているメッシュを返します。resource
meshOwner
AWS
プロパティにはのアカウント ID が表示されmeshOwner
、resourceOwner
AWS プロパティにはリソース所有者のアカウント ID が表示されます。メッシュリソースに対してコマンドを実行すると、これらのプロパティが返されます。
共有メッシュにアタッチしたユーザー定義のタグは、ユーザー自身の AWS アカウントでのみ利用可能です。メッシュを共有している他のアカウントでは使用できません。別のアカウントでメッシュの aws appmesh list-tags-for-resource
コマンドを実行しても、アクセスは拒否されます。
請求と使用量測定
メッシュの共有は無料です。
インスタンスクォータ
メッシュにリソースを作成したユーザーに関係なく、メッシュのすべてのクォータは共有メッシュにも適用されます。メッシュの所有者のみがクォータの増加を要求できます。詳細については、「App Mesh Service Quotas」を参照してください。 AWS Resource Access Manager サービスにもクォータがあります。詳細については、「Service Quotas」を参照してください。