Elastic Beanstalk インスタンスプロファイル
インスタンスプロファイルは、Elastic Beanstalk 環境で起動するインスタンスに適用される IAM ロールです。Elastic Beanstalk 環境の作成時、インスタンスによる以下のアクションに使用されるインスタンスプロファイルを指定します。
-
Amazon Simple Storage Service (Amazon S3) からのアプリケーションバージョンの取得
-
Amazon S3 へのログの書き込み
-
AWS X-Ray 統合環境で、デバッグデータを X-Ray にアップロードします。
-
マルチコンテナ Docker 環境における Amazon Elastic Container Service (Amazon ECS) によるコンテナデプロイの調整
-
ワーカー環境で、Amazon Simple Queue Service (Amazon SQS) キューから読み込む
-
ワーカー環境で、Amazon DynamoDB によりリーダーを選択する
-
ワーカー環境で Amazon CloudWatch にインスタンスヘルスメトリクスを発行する
AWSElasticBeanstalkWebTier
管理ポリシーには、Amazon S3 へのログのアップロードと X-Ray へのデバッグ情報の送信を、環境のインスタンスに許可するステートメントが含まれます。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "BucketAccess",
"Action": [
"s3:Get*",
"s3:List*",
"s3:PutObject"
],
"Effect": "Allow",
"Resource": [
"arn:aws:s3:::elasticbeanstalk-*",
"arn:aws:s3:::elasticbeanstalk-*/*"
]
},
{
"Sid": "XRayAccess",
"Action":[
"xray:PutTraceSegments",
"xray:PutTelemetryRecords",
"xray:GetSamplingRules",
"xray:GetSamplingTargets",
"xray:GetSamplingStatisticSummaries"
],
"Effect": "Allow",
"Resource": "*"
},
{
"Sid": "CloudWatchLogsAccess",
"Action": [
"logs:PutLogEvents",
"logs:CreateLogStream",
"logs:DescribeLogStreams",
"logs:DescribeLogGroups"
],
"Effect": "Allow",
"Resource": [
"arn:aws:logs:*:*:log-group:/aws/elasticbeanstalk*"
]
},
{
"Sid": "ElasticBeanstalkHealthAccess",
"Action": [
"elasticbeanstalk:PutInstanceStatistics"
],
"Effect": "Allow",
"Resource": [
"arn:aws:elasticbeanstalk:*:*:application/*",
"arn:aws:elasticbeanstalk:*:*:environment/*"
]
}
]
}
Elastic Beanstalk には、その他のユースケースに適用できる管理ポリシーも用意されています。これらのポリシーは AWSElasticBeanstalkWorkerTier
と AWSElasticBeanstalkMulticontainerDocker
です。コンソールに環境を作成するか、EB CLI を使って環境を作成するときは、Elastic Beanstalk がデフォルトのインスタンスプロファイル aws-elasticbeanstalk-ec2-role
にこれらのポリシーをすべてアタッチします。
ウェブアプリケーションで他の AWS のサービス へのアクセスが必要な場合、インスタンスプロファイルに、これらのサービスへのアクセスを許可するステートメントまたは管理ポリシーを追加します。
インスタンスプロファイルの詳細については、「Elastic Beanstalk インスタンスプロファイルの管理」を参照してください。