モニタリングサービスにリンクされたロール - 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 のサービスを参照して、[Service-Linked Role] (サービスにリンクされたロール) 列が[Yes] (はい) になっているサービスを探してください。サービスにリンクされたロールに関するドキュメントをサービスで表示するには、はいリンクを選択します。

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

Elastic Beanstalk が AWSServiceRoleForElasticBeanstalk という名前のサービスにリンクされたロールを使用 - 実行中の環境の状態をモニタリングし、ヘルスイベント通知を発行することを、Elastic Beanstalk に許可します。

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

  • elasticbeanstalk.amazonaws.com

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

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowCloudformationReadOperationsOnElasticBeanstalkStacks", "Effect": "Allow", "Action": [ "cloudformation:DescribeStackResource", "cloudformation:DescribeStackResources", "cloudformation:DescribeStacks" ], "Resource": [ "arn:aws:cloudformation:*:*:stack/awseb-*", "arn:aws:cloudformation:*:*:stack/eb-*" ] }, { "Sid": "AllowOperations", "Effect": "Allow", "Action": [ "autoscaling:DescribeAutoScalingGroups", "autoscaling:DescribeAutoScalingInstances", "autoscaling:DescribeNotificationConfigurations", "autoscaling:DescribeScalingActivities", "autoscaling:PutNotificationConfiguration", "ec2:DescribeInstanceStatus", "ec2:AssociateAddress", "ec2:DescribeAddresses", "ec2:DescribeInstances", "ec2:DescribeSecurityGroups", "elasticloadbalancing:DescribeInstanceHealth", "elasticloadbalancing:DescribeLoadBalancers", "elasticloadbalancing:DescribeTargetHealth", "elasticloadbalancing:DescribeTargetGroups", "sqs:GetQueueAttributes", "sqs:GetQueueUrl", "sns:Publish" ], "Resource": [ "*" ] } ] }

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

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

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

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

重要

AWSServiceRoleForElasticBeanstalk サービスにリンクされたロールのサポートが開始された 2017 年 9 月 27 日より前に、Elastic Beanstalk サービスを使用していた場合、アカウントでそのロールが必要になると、Elastic Beanstalk によってアカウントに AWSServiceRoleForElasticBeanstalk ロールが作成されていました。詳細については、「IAM アカウントに新しいロールが表示される」を参照してください。

環境の作成時、Elastic Beanstalk が AWSServiceRoleForElasticBeanstalk サービスにリンクされたロールをアカウントに作成しようとすると、iam:CreateServiceLinkedRole アクセス許可が必要になります。このアクセス許可がない場合、環境の作成は失敗し、問題を説明するメッセージが表示されます。

別の方法として、サービスにリンクされたロールを作成するアクセス許可を持つ別のユーザーが IAM を使用して、サービスにリンクされたロールを事前に作成できます。この場合は、iam:CreateServiceLinkedRole アクセス許可がなくても、環境を作成できます。

お客様 (または別のユーザー) は、IAM コンソールを使用して、[Elastic Beanstalk] ユースケースでサービスにリンクされたロールを作成できます。IAM CLI または IAM API で、elasticbeanstalk.amazonaws.com サービス名でサービスリンクロールを作成します。詳細については、「IAM ユーザーガイド」の「サービスにリンクされたロールの作成」を参照してください。このサービスリンクロールを削除しても、同じ方法でロールを再作成できます。

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

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

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

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

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

サービスリンクロールのクリーンアップ

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

注記

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

AWSServiceRoleForElasticBeanstalk を使用する Elastic Beanstalk 環境を終了するには (コンソール)
  1. Elastic Beanstalk コンソールを開き、[Regions] (リージョン) リストで AWS リージョンを選択します。

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

    注記

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

  3. [Actions] (アクション)、[Terminate environment] (環境の終了) の順に選択します。

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

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

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

サービスリンクロールの手動による削除

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

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

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