App Mesh のサービスリンクロールの使用 - AWS App Mesh

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

App Mesh のサービスリンクロールの使用

AWS App Mesh は AWS Identity and Access Management (IAM) サービスにリンクされたロールを使用します。サービスリンクロールは、App Mesh に直接リンクされた一意のタイプの IAM ロールです サービスリンクロールは、App Mesh によって事前に定義され、ユーザーに代わってサービスが他の AWS のサービスを呼び出すために必要なアクセス許可がすべて含まれています。

サービスリンクロールを使用することで、必要なアクセス許可を手動で追加する必要がなくなるため、App Mesh の設定が簡単になります。App Mesh は、サービスリンクロールのアクセス許可を定義します。特に定義されている場合を除き、App Mesh のみがそのロールを引き受けることができます。定義される許可には、信頼ポリシーとアクセス許可ポリシーが含まれており、そのアクセス許可ポリシーを他の IAM エンティティに添付することはできません。

サービスリンクロールを削除するには、まずその関連リソースを削除します。これにより、リソースへのアクセス許可を不用意に削除することができないため、App Mesh のリソースを保護することができます。

サービスリンクロールをサポートする他のサービスについては、「IAM と連携する AWS のサービス」を参照して、サービスリンクロール列にはいと表示されているサービスを探してください。そのサービスに対するサービスリンクロールに関するドキュメントを表示するには、リンク付きのはいを選択します。

App Mesh のサービスリンクロールにおけるアクセス許可

App Mesh は、AWSServiceRoleForAppMesh という名前のサービスリンクロールを使用します。このロールにより、App Mesh はユーザーに代わって AWS サービスを呼び出すことができます。

AWSServiceRoleForAppMesh サービスリンクロールは、ロールを継承するために appmesh.amazonaws.com サービスを信頼します。

アクセス許可の詳細

  • servicediscovery:DiscoverInstances‐App Mesh がすべての AWS リソースでアクションを完了できるようにします。

  • servicediscovery:DiscoverInstancesRevision‐App Mesh がすべての AWS リソースでアクションを完了できるようにします。

このポリシーには、以下の許可が含まれています。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "CloudMapServiceDiscovery", "Effect": "Allow", "Action": [ "servicediscovery:DiscoverInstances", "servicediscovery:DiscoverInstancesRevision" ], "Resource": "*" }, { "Sid": "ACMCertificateVerification", "Effect": "Allow", "Action": [ "acm:DescribeCertificate" ], "Resource": "*" } ] }

サービスにリンクされたロールの作成、編集、削除をIAM エンティティ (ユーザー、グループ、ロールなど) に許可するには、許可を設定する必要があります。詳細については、「IAM ユーザーガイド」の「サービスリンクロールの許可」を参照してください。

App Mesh のサービスリンクロールの作成

2019 年 6 月 5 日以降に、AWS Management Console、AWS CLI、または AWS API でメッシュを作成した場合、App Mesh はサービスリンクロールを作成しています。サービスリンクロールを作成するためには、メッシュの作成に使用した IAM アカウントには、それに添付された AWSAppMeshFullAccess IAM ポリシー、または iam:CreateServiceLinkedRole アクセス許可を含むそれに添付されたポリシーをが必要です。このサービスにリンクされたロールを削除した後で再度作成する必要が生じた場合は、同じ方法でアカウントにロールを再作成できます。メッシュを作成すると、App Mesh はサービスリンクロールを再度作成します。2019 年 6 月 5 日以前に作成されたメッシュのみがアカウントに含まれており、それらのメッシュでサービスにリンクされたロールを使用する場合は、IAM コンソールを使用してロールを作成できます。

App Mesh ユースケースでサービスリンクロールを作成するには、IAM コンソールを使用できます。AWS CLI または AWS API で、appmesh.amazonaws.com サービス名を使用してサービスリンクロールを作成します。詳細については、IAM ユーザーガイドの「サービスリンクロールの作成」を参照してください。このサービスリンクロールを削除する場合、この同じプロセスを使用して、もう一度ロールを作成できます。

App Mesh のサービスリンクロールの編集

で、AWSServiceRoleForAppMesh のサービスリンクロールを編集することはできません。サービスリンクロールを作成すると、多くのエンティティによってロールが参照される可能性があるため、ロール名を変更することはできません。ただし、IAM を使用したロールの説明の編集はできます。詳細については、「IAM ユーザーガイド」の「サービスリンクロールの編集」を参照してください。

App Mesh でのサービスリンクロールの削除

サービスにリンクされたロールが必要な機能またはサービスが不要になった場合には、そのロールを削除することをお勧めします。そうすることで、積極的にモニタリングまたは保守されていない未使用のエンティティを排除できます。ただし、手動で削除する前に、サービスにリンクされたロールのリソースをクリーンアップする必要があります。

注記

リソースを削除しようとしたときに AppMesh サービスがロールを使用している場合、削除が失敗する可能性があります。失敗した場合は、数分待ってから操作を再試行してください。

AWSServiceRoleForAppMesh が使用している App Mesh リソースを削除するには
  1. メッシュ内のすべてのルータに定義されているルートをすべて削除します。

  2. メッシュ内の仮想ルーターをすべて削します。

  3. メッシュ内の仮想サービスをすべて削します。

  4. メッシュ内の仮想ノードをすべて削除します。

  5. メッシュを削除します。

アカウント内のすべてのメッシュについて、前の手順を完了します。

IAM を使用してサービスリンクロールを手動で削除するには

IAM コンソール、AWS CLI、または AWS API を使用して、サービスリンクロール AWSServiceRoleForAppMesh を削除します。詳細については、「IAM ユーザーガイド」の「ササービスリンクロールの削除」を参照してください。

App Mesh サービスリンクロールをサポートするリージョン

App Mesh では、このサービスが利用可能なすべてのリージョンで、サービスリンクロールの使用がサポートされています。詳細については、「App Mesh エンドポイントとクォータ」を参照してください。