Elastic Beanstalk サービスロール
サービスロールは、他のサービスを代理で呼び出すときに Elastic Beanstalk が引き受ける IAM ロールです。例えば、Elastic Beanstalk は、Amazon Elastic Compute Cloud (Amazon EC2)、Elastic Load Balancing、Amazon EC2 Auto Scaling の各 API を呼び出すときに、サービスロールを使用して情報を収集します。この情報には、拡張されたヘルスモニタリングの AWS リソースのヘルスが含まれる場合があります。Elastic Beanstalk が使用するサービスロールは、Elastic Beanstalk 環境を作成するときに指定したサービスロールになります。
AWSElasticBeanstalkEnhancedHealth
管理ポリシーには、環境のヘルスステータスをモニタリングする際に Elastic Beanstalk で必要となるすべてのアクセス許可が含まれています。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"elasticloadbalancing:DescribeInstanceHealth",
"elasticloadbalancing:DescribeLoadBalancers",
"elasticloadbalancing:DescribeTargetHealth",
"ec2:DescribeInstances",
"ec2:DescribeInstanceStatus",
"ec2:GetConsoleOutput",
"ec2:AssociateAddress",
"ec2:DescribeAddresses",
"ec2:DescribeSecurityGroups",
"sqs:GetQueueAttributes",
"sqs:GetQueueUrl",
"autoscaling:DescribeAutoScalingGroups",
"autoscaling:DescribeAutoScalingInstances",
"autoscaling:DescribeScalingActivities",
"autoscaling:DescribeNotificationConfigurations",
"sns:Publish"
],
"Resource": [
"*"
]
}
]
}
このポリシーには、Elastic Beanstalk にワーカー環境のキューアクティビティのモニタリングを許可する Amazon SQS アクションも含まれています。
Elastic Beanstalk コンソールを使って環境を作成する場合、Elastic Beanstalk で、aws-elasticbeanstalk-service-role
という名前のサービスロールを作成するよう指示されます。デフォルトのアクセス許可セットを含むこのロールと、Elastic Beanstalk にサービスロールの引き受けを許可する信頼ポリシーを作成します。マネージドプラットフォーム更新を有効にすると、Elastic Beanstalk は、この機能を有効にするアクセス許可を含む別のポリシーをアタッチします。
同様に、Elastic Beanstalk コマンドラインインターフェイス (EB CLI) の eb create コマンドを使って環境を作成し、--service-role
オプションからサービスロールを指定しなかったとします。Elastic Beanstalk がデフォルトのサービスロール aws-elasticbeanstalk-service-role
を作成します。デフォルトのサービスロールが既に存在する場合、Elastic Beanstalk はそのサービスロールを新しい環境で使用します。
Elastic Beanstalk API の CreateEnvironment
アクションを使用して環境を作成し、サービスロールを指定しなかったとします。すると、Elastic Beanstalk はモニタリングサービスにリンクされたロールを作成します。この一意のタイプのサービスロールは、Elastic Beanstalk によって事前定義されており、お客様の代わりにサービスが他の AWS のサービス を呼び出すために必要なアクセス許可がすべて含まれています。このサービスにリンクされたロールはお客様のアカウントに関連付けられています。Elastic Beanstalk によって一度作成されたロールは、追加の環境を作成するときにも使用されます。IAM を使用して、モニタリングサービスにリンクされたロールを、アカウント用として事前に作成することもできます。アカウントにモニタリングサービスにリンクされたロールがある場合、そのロールを使って Elastic Beanstalk コンソールに環境を作成するか、Elastic Beanstalk API または EB CLI を使用して環境を作成することができます。サービスにリンクされたロールを Elastic Beanstalk 環境で使用する方法については、「Elastic Beanstalk でのサービスにリンクされたロールの使用」を参照してください。
サービスロールの詳細については、「Elastic Beanstalk サービスロールの管理」を参照してください。