mr-hisa-child
@mr-hisa-child (小野 寿敏)

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

ElasticBeanstalkのWorker環境におけるインスタンスプロフィールにアタッチ済みのポリシーが効かない

解決したいこと

ElasticBeanstalkにおけるWorker環境で、S3などのAWSサービスへのアクセスをインスタンスプロフィールで制御したいのですが、ポリシーアタッチ済みのロールを設定してもプログラムでアクセスすると拒否されます。なぜ、拒否されるのか原因や可能性などを教えていただけると助かります。

発生している問題・エラー

ElasticBeanstalkにおけるWorker環境のDockerプラットフォームをバージョンアップ(AmazonLinux → AmazonLinux2)したら、インスタンスプロフィールにアタッチ済みのポリシーが適用されなくなりました。バージョンアップ前は同じ環境でもポリシーは適用されていました。ちなみにElasticBeanstalのWebサーバ環境の場合は適用されます。

IAMロールの設定状況

qiita_q1.png

ElasticBeanstalkの設定状況

qiita_q2.png

該当するソースコード

以下は、S3アクセスのための検証コードです。

System.out.println("START");
AmazonS3 s3 = AmazonS3ClientBuilder.standard().withRegion(Regions.AP_NORTHEAST_1).build();
s3.listBuckets().stream().map(bucket -> bucket.getName()).forEach(System.out::println);
System.out.println("END");

ログには「START」は出力されますが、「END」が表示されずに例外エラーが発生します。

環境変数にアクセスキー、シークレットキーを設定すれば、アクセスできるようになるので、プログラムの問題ではないと思います。

0

1Answer

自己解決しました。

S3にアクセスするためのライブラリのバージョンを最新版にしたらアクセスできました。

旧)1.11 新)1.12

0Like

Your answer might help someone💌