【404エラー】S3で静的Webサイトホスティング

久しぶりにS3で公開用の静的Webホスティングの設定をしていたところ、躓いてしまったのでメモしておきます。

フルオープンなS3バケットを立ち上げようと思ったら以下3点がポイントになります。

1.ブロックパブリックアクセス

すべてオフにすれば良いです。

2.バケットポリシー

ここを躓きました。

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "PublicReadGetObject",
            "Effect": "Allow",
            "Principal": "*",
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::バケット名/*"
        }
    ]
}

Resourceのarn:aws:s3:::バケット名/*

です。バケット配下すべてに適用なので当たり前といえば当たり前なのですが。

ここを/*と記載していなかったために403 Forbiddenエラーを起こしてました。

3.静的ホスティング

これは当然の設定ですね。

ということで、バケットポリシーの設定ミスでした。

設定が単純だからこそバケットポリシー、ブロックパブリックアクセスは見落としやすいポイントでもあるので気をつけましょう!

では、良きS3ライフを。