共有メッシュの使用 - AWS App Mesh

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

共有メッシュの使用

共有メッシュは、異なるアカウントで作成されたリソースが同じメッシュの中で互いに通信できるようにするものです。

AWS Identity and Access Management アカウントは、メッシュリソースオーナー、メッシュコンシューマー、またはその両方にすることができます。コンシューマーは、アカウントと共有されるメッシュにリソースを作成できます。オーナーは、アカウントが所有する任意のメッシュにリソースを作成できます。メッシュ所有者は、次のタイプのメッシュコンシューマとメッシュを共有できます。

  • AWS Organizations の組織内または組織外の特定の AWS アカウント

  • AWS Organizations の組織内の組織単位

  • AWS Organizations の組織全体

end-to-end メッシュの共有のウォークスルーについては、クロスアカウントメッシュのウォークスルーを参照してください GitHub。

共有メッシュのアクセス許可

共有メッシュには、次のアクセス許可があります。

  • コンシューマーは、アカウントと共有されているメッシュ内のすべてのリソースを一覧表示して記述できます。

  • オーナーは、アカウントが所有するメッシュ内のすべてのリソースを一覧表示して説明できます。

  • 所有者とコンシューマーは、アカウントが作成したメッシュのリソースを変更できますが、他のアカウントが作成したリソースを変更することはできません。

  • コンシューマーは、アカウントが作成したメッシュ内の任意のリソースを削除できます。

  • 所有者は、任意のアカウントが作成したメッシュ内の任意のリソースを削除できます。

  • 所有者のリソースは、同じアカウント内の他のリソースのみをリファレンスできます。例えば、仮想ノードは、仮想ノードの所有者と同じアカウントにある AWS Cloud Map または AWS Certificate Manager 証明書のみをリファレンスできます。

  • 所有者とコンシューマーは、アカウントが所有する仮想ノードとして Envoy プロキシを App Mesh に接続できます。

  • 所有者は、仮想ゲートウェイと仮想ゲートウェイルートを作成できます。

  • 所有者とコンシューマーは、アカウントが作成したメッシュ内のリソースを識別したり、タグを解除できます。アカウントが作成していないメッシュ内のタグを一覧表示したり、リソースをタグ付け/タグ解除したりすることはできません。

共有メッシュは、アカウントレベルのオール許可認証のサポートからポリシーベースの承認に移行しました。このロールアウトの前に共有されたメッシュはすべて前者の方法を使用し、このロールアウト後に共有されるメッシュはすべて後者の方法を使用します。

ポリシーベースの認証では、メッシュは固定の権限セットで共有されます。これらの権限はリソースポリシーに追加するように選択され、オプションの IAM ポリシーは IAM ユーザー/ロールに基づいて選択することもできます。これらのポリシーで許可されているアクセス権の合計から、拒否された明示的な権限を差し引いた値によって、プリンシパルのメッシュへのアクセスが決まります。

リソースポリシーに追加された権限のセットは固定されており、AWS Resource Access Manager (AWS RAM) によって決定されます。

  • 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:TagResources。へのアクセスが必要な場合は、appmesh:TagResourcesのサポートが開始されるまで、お客様のアカウントをアカウントレベルのすべて許可認証戦略にマッピングできますappmesh:TagResources

メッシュを共有するための前提条件

メッシュを共有するには、次の前提条件を満たす必要があります。

  • AWS アカウントでメッシュを所有している必要があります。すでに共有されているメッシュを共有することはできません。

  • 組織または AWS Organizations の組織単位とメッシュを共有するには、AWS Organizations との共有を有効にする必要があります。詳細については、「AWS RAM ユーザーガイド」の「AWS Organizations で共有を有効化する」を参照してください。

  • サービスは、相互に通信するメッシュリソースを含むアカウント間で接続を共有しているAmazon VPCにデプロイする必要があります。ネットワーク接続を共有する 1 つの方法は、メッシュで使用するすべてのサービスを共有サブネットにデプロイすることです。詳細および制限事項については、「サブネットの共有」を参照してください。

  • サービスは DNS または AWS Cloud Map を介して検出可能である必要があります。サービスディスカバリの詳細については、「仮想ノード」を参照してください。

メッシュ共有はAWS Resource Access Manager (AWS RAM) と統合されます。 AWS RAMは、AWSAWSAWS 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. App Mesh コンソールを開きます。https://console.aws.amazon.com/appmesh/

  2. 左のナビゲーションペインで [メッシュ] を選択します。各メッシュのメッシュ所有者のアカウント ID は、[メッシュ所有者]列に一覧表示されます。

  3. 左側のナビゲーションから、[仮想サービス]、[仮想ルーター]、または[仮想ノード]を選択します。各リソースのメッシュ所有者リソース所有者のアカウント ID が表示されます。

AWS CLI を使用して共有メッシュを識別するには

aws appmesh list-meshes などの aws appmesh list resource コマンドを使用します。このコマンドは、所有しているメッシュと共有されているメッシュを返します。meshOwner プロパティは、meshOwner の AWS アカウント ID を示し、resourceOwner プロパティは、リソース所有者の AWS アカウント ID を示します。メッシュリソースに対してコマンドを実行すると、これらのプロパティが返されます。

共有メッシュにアタッチしたユーザー定義のタグは、自分だけが利用できますAWS アカウント。メッシュを共有している他のアカウントでは使用できません。aws appmesh list-tags-for-resource別のアカウントのメッシュのコマンドはアクセスを拒否されます。

請求と使用量測定

メッシュの共有は無料です。

インスタンスクォータ

メッシュにリソースを作成したユーザーに関係なく、メッシュのすべてのクォータは共有メッシュにも適用されます。メッシュの所有者のみがクォータの増加を要求できます。詳細については、「App Mesh Service Quotas」を参照してください。AWS Resource Access Manager サービスにもクォータがあります。詳細については、「Service Quotas」を参照してください。