翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Elastic Beanstalk インスタンスプロファイルの管理
インスタンスプロファイルは、インスタンスの起動時にロール情報を Amazon EC2 インスタンスに渡すために使用できる AWS Identity and Access Management (IAM) ロールのコンテナです。
AWS アカウントに EC2 インスタンスプロファイルがない場合は、IAM サービスを使用して作成する必要があります。その後、作成する新しい環境に EC2 インスタンスプロファイルを割り当てることができます。Elastic Beanstalk コンソールの環境の作成ステップでは、IAM コンソールにアクセスできるため、必要なアクセス許可を持つ EC2 インスタンスプロファイルを作成できます。
注記
以前は、Elastic Beanstalk は、 AWS アカウントaws-elasticbeanstalk-ec2-role
が初めて環境を作成したときに、 という名前のデフォルトの EC2 インスタンスプロファイルを作成していました。このインスタンスプロファイルには、デフォルトの管理ポリシーが含まれていました。アカウントに既にこのインスタンスプロファイルがある場合、引き続き環境に割り当てることができます。
ただし、最近の AWS セキュリティガイドラインでは、 AWS サービスが信頼ポリシーを使用して他の AWS サービスである EC2 へのロールを自動的に作成することはできません。これらのセキュリティガイドラインにより、Elastic Beanstalk はデフォルトの aws-elasticbeanstalk-ec2-role
インスタンスプロファイルを作成しなくなりました。
マネージドポリシー
Elastic Beanstalk には、環境がさまざまなユースケースに対応できるように、いくつかの管理ポリシーが用意されています。環境のデフォルトユースケースを満たすには、これらのポリシーを EC2 インスタンスプロファイルのロールにアタッチする必要があります。
-
AWSElasticBeanstalkWebTier – ログを Amazon S3 にアップロードし、デバッグ情報を AWS X-Rayにアップロードするアクセス許可をアプリケーションに付与します。管理ポリシーの内容を表示するには、「AWS 管理ポリシーリファレンスガイド」の「AWSElasticBeanstalkWebTier」を参照してください。
-
AWSElasticBeanstalkWorkerTier - ログのアップロード、デバッグ、メトリクスのパブリッシュ、ワーカーインスタンスタスク (キュー管理やリーダー選択、定期的なタスクなど) に対するアクセス許可を付与します。管理ポリシーの内容を表示するには、「AWS 管理ポリシーリファレンスガイド」の「AWSElasticBeanstalkWorkerTier」を参照してください。
-
AWSElasticBeanstalkMulticontainerDocker - Docker 環境のクラスタータスクを調整する許可を Amazon Elastic Container Service に付与します。管理ポリシーの内容を表示するには、「AWS 管理ポリシーリファレンスガイド」の「AWSElasticBeanstalkMulticontainerDocker」を参照してください。
重要
Elastic Beanstalk マネージド型ポリシーは、詳細なアクセス権限を提供しません。Elastic Beanstalk アプリケーションの操作に必要となる可能性のある、すべてのアクセス権限が付与されます。場合によっては、管理ポリシーのアクセス許可をさらに制限することもできます。1 つのユースケースの例については、「環境間の Amazon S3 バケットアクセスの防止」を参照してください。
また、当社の管理ポリシーでは、Elastic Beanstalk では管理されておらず、お客様によりソリューションに追加されるような、カスタムリソースのためのアクセス許可についてもサポートしていません。よりきめの細かなアクセス許可、必要最小限のアクセス許可、またはリソースに対するアクセス許可をカスタムで作成するには、カスタムポリシーを使用します。
EC2 の信頼関係ポリシー
環境内の EC2 インスタンスが必要なロールを引き受けるには、インスタンスプロファイルは、次のように信頼関係ポリシーで Amazon EC2 を信頼されたエンティティとして指定する必要があります。
{
"Version": "2008-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": "ec2.amazonaws.com"
},
"Action": "sts:AssumeRole"
}
]
}
アクセス権限をカスタマイズするには、デフォルトのインスタンスプロファイルにアタッチされたロールにポリシーを追加するか、権限が限定された独自のインスタンスプロファイルを作成します。
セクション
インスタンスプロファイルの作成
インスタンスプロファイルは、EC2 インスタンスによるロールの引き受けを許可する標準 IAM ロールのラッパーです。デフォルトの Elastic Beanstalk 管理ポリシーを使用してインスタンスプロファイルを作成できます。追加のインスタンスプロファイルを作成して、さまざまなアプリケーションのアクセス許可をカスタマイズすることもできます。または、ワーカー階層または ECS マネージド Docker 環境のアクセス許可を付与する 2 つの管理ポリシーを含まないインスタンスプロファイルを作成することもできます。
デフォルトの管理ポリシーを使用してインスタンスプロファイルを作成するには
-
IAM コンソールの [Roles (ロール)] ページ
を開きます。 -
[ロールの作成] を選択してください。
-
[信頼できるエンティティタイプ] で、[AWS サービス] を選択します。
-
サービスまたはユースケースで、Elastic Beanstalk を選択します。
-
ユースケースで、Elastic Beanstalk – Compute を選択します。
-
[次へ] を選択します。
-
[Role name] (ロール名) に入力します。
Elastic Beanstalk コンソールが提案するデフォルトのロールの名前を入力できます:
aws-elasticbeanstalk-ec2-role
。 -
アクセス許可ポリシーに以下が含まれていることを確認し、次へを選択します。
AWSElasticBeanstalkWebTier
AWSElasticBeanstalkWorkerTier
AWSElasticBeanstalkMulticontainerDocker
[ロールの作成] を選択してください。
特定の選択した管理ポリシーを使用してインスタンスプロファイルを作成するには
-
IAM コンソールの [Roles (ロール)] ページ
を開きます。 -
[ロールの作成] を選択してください。
-
[信頼されたエンティティタイプ] から、[AWS サービス] を選択します。
-
[ユースケース] で、[EC2] を選択してください。
-
[次へ] を選択します。
-
Elastic Beanstalk により指定された適切な管理ポリシーや、アプリケーションで必要なアクセス許可を付与するその他のポリシーがあれば、それらもアタッチします。
-
[次へ] を選択します。
-
ロールの名前を入力します。
-
(オプション) ロールにタグを追加します。
-
[ロールの作成] を選択してください。
デフォルトのインスタンスプロファイルにアクセス許可を追加する
アプリケーションがデフォルトのインスタンスプロファイルでアクセス許可が付与されていない AWS APIs またはリソースにアクセスする場合は、IAM コンソールでアクセス許可を付与するポリシーを追加します。
デフォルトのインスタンスプロファイルにアタッチされたロールにポリシーを追加するには
-
IAM コンソールの [ロール]
ページを開きます。 -
EC2 インスタンスプロファイルとして割り当てられたロールを選択します。
-
[Permissions (アクセス許可)] タブで、[Attach policy (ポリシーの添付)] を選択します。
-
アプリケーションで使用する追加サービスの管理ポリシーを選択します。例えば、
AmazonS3FullAccess
、AmazonDynamoDBFullAccess
です。 -
Attach policy] (ポリシーのアタッチ) を選択してください。
インスタンスプロファイルに割り当てられた許可の確認
デフォルトのインスタンスプロファイルに割り当てられる権限は、作成日時、環境の最終起動日時、使用したクライアントにより異なります。デフォルトのインスタンスプロファイルに含まれるアクセス許可は IAM コンソールで確認できます。
デフォルトのインスタンスプロファイルのアクセス権限を確認する
-
IAM コンソールの [Roles (ロール)] ページ
を開きます。 -
EC2 インスタンスプロファイルとして割り当てられたロールを選択します。
-
[Permissions (アクセス許可)] タブで、ロールにアタッチされたポリシーのリストを確認します。
-
ポリシーにより付与されるアクセス権限を表示するには、ポリシーを選択します。
情報が古くなったデフォルトのインスタンスプロファイルを更新する
デフォルトのインスタンスプロファイルに必要な許可がない場合、EC2 インスタンスプロファイルとして割り当てられたロールに管理ポリシーを手動で追加できます。
デフォルトのインスタンスプロファイルにアタッチされたロールに管理ポリシーを追加するには
-
IAM コンソールの [Roles (ロール)] ページ
を開きます。 -
EC2 インスタンスプロファイルとして割り当てられたロールを選択します。
-
[Permissions (アクセス許可)] タブで、[Attach policy (ポリシーの添付)] を選択します。
-
ポリシーをフィルタリングするには、「
AWSElasticBeanstalk
」と入力します。 -
次のポリシーを指定し、[Attach policy (ポリシーのアタッチ)] を選択します。
-
AWSElasticBeanstalkWebTier
-
AWSElasticBeanstalkWorkerTier
-
AWSElasticBeanstalkMulticontainerDocker
-