Elastic Beanstalk インスタンスプロファイルの管理 - AWS Elastic Beanstalk

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Elastic Beanstalk インスタンスプロファイルの管理

インスタンスプロファイルは AWS Identity and Access Management (IAM) ロールのコンテナであり、インスタンスの起動時に Amazon EC2 インスタンスにロール情報を渡すために使用できます。

AWS アカウントに EC2 インスタンスプロファイルがない場合、IAM サービスを使用して作成する必要があります。その後、作成する新しい環境に EC2 インスタンスプロファイルを割り当てることができます。[環境作成] ウィザードには、IAM サービスを使用するための情報が用意されているため、必要な許可を持つ EC2 インスタンスプロファイルを作成できます。インスタンスプロファイルを作成したら、コンソールに戻って 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」を参照してください。

EC2 の信頼関係ポリシー

環境内の EC2 インスタンスが必要なロールを引き受けるには、インスタンスプロファイルは、次のように信頼関係ポリシーで Amazon EC2 を信頼されたエンティティとして指定する必要があります。

{ "Version": "2008-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "ec2.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

アクセス権限をカスタマイズするには、デフォルトのインスタンスプロファイルにアタッチされたロールにポリシーを追加するか、権限が限定された独自のインスタンスプロファイルを作成します。

インスタンスプロファイルを作成する

インスタンスプロファイルは、EC2 インスタンスによるロールの引き受けを許可する標準 IAM ロールのラッパーです。追加のインスタンスプロファイルを作成して、さまざまなアプリケーションの許可をカスタマイズできます。これらの機能を使用しない場合、ワーカー枠または ECS マネージド Docker 環境に対して許可を付与しないインスタンスプロファイルを作成できます。

インスタンスプロファイルを作成するには
  1. IAM コンソールの [Roles (ロール)] ページを開きます。

  2. [ロールの作成] を選択します。

  3. [信頼されたエンティティタイプ] から、[AWS サービス] を選択します。

  4. [Use case] (ユースケース) で、[EC2] を選択します。

  5. [Next] (次へ) をクリックします。

  6. Elastic Beanstalk により指定された適切な管理ポリシーや、アプリケーションで必要なアクセス許可を付与するその他のポリシーがあれば、それらもアタッチします。

  7. [Next] (次へ) をクリックします。

  8. ロールの名前を入力します。

  9. (オプション) ロールにタグを追加します。

  10. [Create role] (ロールの作成) を選択します。

インスタンスプロファイルに割り当てられた許可の確認

デフォルトのインスタンスプロファイルに割り当てられる権限は、作成日時、環境の最終起動日時、使用したクライアントにより異なります。デフォルトのインスタンスプロファイルに含まれるアクセス許可は IAM コンソールで確認できます。

デフォルトのインスタンスプロファイルのアクセス権限を確認する
  1. IAM コンソールの [Roles (ロール)] ページを開きます。

  2. EC2 インスタンスプロファイルとして割り当てられたロールを選択します。

  3. [Permissions (アクセス許可)] タブで、ロールにアタッチされたポリシーのリストを確認します。

  4. ポリシーにより付与されるアクセス権限を表示するには、ポリシーを選択します。

情報が古くなったデフォルトのインスタンスプロファイルを更新する

デフォルトのインスタンスプロファイルに必要な許可がない場合、EC2 インスタンスプロファイルとして割り当てられたロールに管理ポリシーを手動で追加できます。

デフォルトのインスタンスプロファイルにアタッチされたロールに管理ポリシーを追加するには
  1. IAM コンソールの [Roles (ロール)] ページを開きます。

  2. EC2 インスタンスプロファイルとして割り当てられたロールを選択します。

  3. [Permissions (アクセス許可)] タブで、[Attach policy (ポリシーの添付)] を選択します。

  4. ポリシーをフィルタリングするには、「AWSElasticBeanstalk」と入力します。

  5. 次のポリシーを指定し、[Attach policy (ポリシーのアタッチ)] を選択します。

    • AWSElasticBeanstalkWebTier

    • AWSElasticBeanstalkWorkerTier

    • AWSElasticBeanstalkMulticontainerDocker

デフォルトのインスタンスプロファイルにアクセス許可を追加する

デフォルトのインスタンスプロファイルでアクセス許可が付与されていない AWS API またはリソースにアプリケーションがアクセスする場合は、IAM コンソールでこれらのアクセス許可を付与するポリシーを追加します。

デフォルトのインスタンスプロファイルにアタッチされたロールにポリシーを追加するには
  1. IAM コンソールの [Roles (ロール)] ページを開きます。

  2. EC2 インスタンスプロファイルとして割り当てられたロールを選択します。

  3. [Permissions (アクセス許可)] タブで、[Attach policy (ポリシーの添付)] を選択します。

  4. アプリケーションで使用する追加サービスの管理ポリシーを選択します。例えば、AmazonS3FullAccessAmazonDynamoDBFullAccess などです。

  5. [ポリシーのアタッチ] を選択します。