メンテナンスサービスにリンクされたロール - AWS Elastic Beanstalk

メンテナンスサービスにリンクされたロール

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

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

サービスリンクロールを削除するには、まずその関連リソースを削除します。これにより、不注意でリソースへのアクセスに必要なアクセス許可が削除されることがなくなり、Elastic Beanstalk リソースが保護されます。

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

Elastic Beanstalk のサービスにリンクされたロールのアクセス許可

Elastic Beanstalk が AWSServiceRoleForElasticBeanstalkMaintenance という名前のサービスリンクロールを使用 - 実行中の環境の定期的なメンテナンスアクティビティを実行することを、Elastic Beanstalk に許可します。

AWSServiceRoleForElasticBeanstalkMaintenance サービスにリンクされたロールは、以下のサービスを信頼してロールを引き受けます。

  • maintenance.elasticbeanstalk.amazonaws.com

AWSServiceRoleForElasticBeanstalkMaintenance サービスにリンクされたロールのアクセス許可ポリシーには、Elastic Beanstalk がお客様に代わってアクションを完了するために必要なすべてのアクセス許可が含まれています。

{ "Version": "2012-10-17", "Statement": { "Sid": "AllowCloudformationChangeSetOperationsOnElasticBeanstalkStacks", "Effect": "Allow", "Action": [ "cloudformation:CreateChangeSet", "cloudformation:DescribeChangeSet", "cloudformation:ExecuteChangeSet", "cloudformation:DeleteChangeSet", "cloudformation:ListChangeSets", "cloudformation:DescribeStacks" ], "Resource": [ "arn:aws:cloudformation:*:*:stack/awseb-*", "arn:aws:cloudformation:*:*:stack/eb-*" ] } }

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

または、AWS 管理ポリシーを使用して、Elastic Beanstalk へのフルアクセスを許可することもできます。

Elastic Beanstalk のサービスにリンクされたロールの作成

サービスにリンクされたロールを手動で作成する必要はありません。Elastic Beanstalk API を使用して Elastic Beanstalk 環境を作成するとき、インスタンスプロファイルを指定しないと、Elastic Beanstalk によってサービスにリンクされたロールが作成されます。

重要

このサービスにリンクされたロールがアカウントに表示されるのは、このロールでサポートされている機能を使用する別のサービスでアクションが完了した場合です。AWSServiceRoleForElasticBeanstalkMaintenance サービスにリンクされたロールのサポートが開始された 2019 年 4 月 18 日より前に、Elastic Beanstalk サービスを使用していた場合、アカウントでそのロールが必要になると、Elastic Beanstalk によってアカウントに AWSServiceRoleForElasticBeanstalkMaintenance ロールが作成されていました。詳細については、「IAM アカウントに新しいロールが表示される」を参照してください。

このサービスリンクロールを削除した後で再度作成する必要が生じた場合は、同じ方法でアカウントにロールを再作成できます。Elastic Beanstalk API を使用して Elastic Beanstalk 環境を作成するとき、インスタンスプロファイルを指定しないと、Elastic Beanstalk によってサービスにリンクされたロールが再度作成されます。

Elastic Beanstalk のサービスにリンクされたロールの編集

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

Elastic Beanstalk のサービスにリンクされたロールの削除

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

サービスにリンクされたロールのクリーンアップ

IAM を使用してサービスにリンクされたロールを削除する前に、このロールを使用しているすべての Elastic Beanstalk 環境を終了する必要があります。

注記

環境を終了しようとしたときに、サービスにリンクされたロールを Elastic Beanstalk サービスが使用していると、終了は失敗する可能性があります。失敗した場合は、数分待ってから再度オペレーションを実行してください。

AWSServiceRoleForElasticBeanstalkMaintenance を使用する Elastic Beanstalk 環境を終了するには (コンソール)

  1. Elastic Beanstalk コンソールを開き、[Regions] (リージョン) リストで AWS リージョンを選択します。

  2. ナビゲーションペインで、[環境] を選択し、リストから環境の名前を選択します。

    注記

    環境が多数ある場合は、検索バーを使用して環境リストをフィルタリングします。

  3. [環境アクション] を選択してから、[環境の終了] を選択します。

  4. 画面上のダイアログボックスを使用して、環境の終了を確認します。

EB CLI を使用した Elastic Beanstalk 環境の終了の詳細については、「eb terminate」を参照してください。

API を使用した Elastic Beanstalk 環境の終了の詳細については、「TerminateEnvironment」を参照してください。

サービスにリンクされたロールを手動で削除する

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

Elastic Beanstalk サービスにリンクされたロールでサポートされているリージョン

Elastic Beanstalk は、サービスを利用できるすべてのリージョンで、サービスにリンクされたロールの使用をサポートしています。詳細については、「AWS Elastic Beanstalk エンドポイントとクォータ」を参照してください。