■ はじめに
AWS EMR で大分ハマったが、ようやく原因がわかったので そのことをメモる。
【1】現象
https://dk521123.hatenablog.com/entry/2023/08/16/201948
で、AWS EMRのBootstrapで、S3 bucketへのアクセスをする際に 以下「エラー内容」が表示した。
【2】エラー内容
BOOTSTRAP_FAILURE_BA_DOWNLOAD_FAILED_PRIMARY
【3】原因
AWS EMRのクラスター EC2 インスタンスプロファイルのIAMロールにおいて IAMロールのPermissions Policyではなく、 IAMロールのPermissions BoundaryにもIAMロールが設定されており そこには、S3バケットへのアクセス権限が設定されていなかったため。 => Permissions PolicyとPermissions Boundaryの両方で許可されているものが 有効なアクセス権限となるので、両方設定していないと有効にならない => 以下の公式ドキュメントの図を参照した方が理解しやすい
https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/access_policies_boundaries.html
【4】解決案
* 今回は、案1で対応した
案1:IAMロールのPermissions Boundaryの設定を削除
* 意図した設定ではなかったため、IAMロールのPermissions Boundaryを削除した
案2:IAMロールのPermissions BoundaryにS3権限を付与する
* IAMロールのPermissions BoundaryにS3権限を追加する
関連記事
Amazon EMR ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2020/02/20/230519
Amazon EMR ~ 基本編 ~
https://dk521123.hatenablog.com/entry/2020/05/27/175610
Amazon EMR ~ Session Managerを設定する ~
https://dk521123.hatenablog.com/entry/2023/08/16/201948
Amazon EMR ~ IAM Role周り ~
https://dk521123.hatenablog.com/entry/2023/07/24/160124
Amazon EMR に関するトラブルシューティング
https://dk521123.hatenablog.com/entry/2020/08/05/144724
IAM ~ IAM Policy 編 ~
https://dk521123.hatenablog.com/entry/2020/09/30/133123