EC2からのS3操作で403が出た場合に疑うこと。
- 最近よく遭遇するのでここ見といてね、というためのメモ。具体的な設定例はいろいろ転がっているので割愛。
【遭遇率40%】S3ACL、バケットポリシーが悪い。
- 自分で設定しといて忘れてるケースがあるのでちゃんと確認する。
- 特定のバケットだけ事象が発生するならまずここが悪い。
【遭遇率40%】IAMRoleが悪い。
- RoleにS3Fullaccessを付けてみて通るならほぼこいつが悪い。
【遭遇率20%】VPCエンドポイントが悪い。
- VPCエンドポイントポリシーで制限している場合がある。
- リージョン変えると繋がるとかだとこいつを疑う必要がある。
- ついでにサブネットのRouteTableやIGWも確認する。(S3までつながってなければ403にならないけども。)
【レア】aws-cliが悪い。
- aws-cliのバージョンが古いと繋がらない、ということがまれにあるようです。
大事なこと
- 冷静になること。全てのバケットからバケットポリシーを全解除、S3FullAccessを付与しても、VPCEndpointが悪い場合は再現してしまい、労力が無駄になる。
- ので、まずは
aws s3 ls
などの影響の少ない操作で原因を絞り込もう。