Elastic Beanstalk インスタンスで実行中のアプリケーションから Amazon S3 バケットにアクセスするにはどうすればよいですか?
最終更新日: 2021 年 8 月 25 日
AWS Elastic Beanstalk インスタンスで実行中のアプリケーションから Amazon Simple Storage Service (Amazon S3) バケットにアクセスするにはどうすればよいですか?
簡単な説明
Elastic Beanstalk から S3 バケットにアクセスするには、AWS Identity and Access Management (IAM) インスタンスプロファイルが、Amazon Elastic Compute Cloud (Amazon EC2) インスタンスにアタッチされていることを確認します。インスタンスには、Amazon S3 に対する正しいアクセス許可が必要です。次に、S3 バケットポリシーに、インスタンスプロファイルにアタッチされたロールへのアクセスを拒否するポリシーがないことを確認します。
解決方法
インスタンスプロファイルのアクセス許可を検証する
- Elastic Beanstalk コンソールを開きます。
- 環境を選択します。
- ナビゲーションメニューから [Configuration] を選択します。
- Configuration overview セクションの [Category] 列の [Security] で、[Modify] を選択します。
- IAM instance profile メニューで、インスタンスプロファイルの名前を書き留めます。
- IAM コンソールを開きます。
- ナビゲーションペインで、[Roles] をクリックします。
- 検索ボックスに、ステップ 5 のインスタンスプロファイルの名前を入力します。
- ステップ 8 のロールに、アクセスするバケットに対して必要な Amazon S3 アクセス許可があることを確認します。
S3 バケットのアクセス許可を検証する
- Amazon S3 コンソールを開きます。
- バケットのリストから、変更したいバケットポリシーを持つバケットを選択します。
- [Permissions] タブをクリックします。
- [Bucket Policy] を選択します。
- "Effect": "Deny" を含むステートメントを検索します。
- バケットポリシーで、ロールへの IAM インスタンスプロファイルのアクセスを拒否している "Effect": "Deny" ステートメントを編集または削除します。
S3 バケットへのアクセス
これで、S3 バケットにアクセスし、S3 バケットを使用して以下を行うことができます。
- アプリケーションバージョンを管理する。
注:アプリケーションを作成または更新するときに S3 URL を設定します。 - アプリケーションファイルまたは写真を読み書きする。
注意: 詳細については、 「AWS SDK を使用した Amazon S3 での開発」および「エクスプローラ」 を参照してください。