yujiro's blog

webエンジニアをしています。

AWS S3で静的ファイルを独自ドメインで配信するまで

前提

  • ドメイン名は sample.com と仮定する。
  • S3に画像ファイルを置いて、image.sample.com というドメインでアクセスできるようにする。
  • S3はそれだけだと遅いので、CDNを利用する(CloudFlare)

手順

  • バケット名を image.sample.com に設定する
  • アクセス許可タブを開いて、バケットポリシーを編集をクリック
  • 以下をペースト
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "AllowPublicRead",
            "Effect": "Allow",
            "Principal": {
                "AWS": "*"
            },
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::image.sample.com/*"
        }
    ]
}
  • 静的ウェブサイトホスティングタブをクリック
  • [ウェブサイトのホスティングを有効にする] をクリック
  • インデックスドキュメントをindex.htmlなどに設定(このファイルはなくても大丈夫)

AWS 側は上記で終わり つづいて、ドメイン

  • ドメインサービスの管理画面からDNSを CouldFlareのものにする(あとででもよい)
  • CloudFlare 側で image.sample.com というドメインをCNAME のname に設定、hostname に AWS で発行されたエンドポイントを入力 image.sample.com.s3-website-us-east-1.amazonaws.com みたいなやつ

参考

お名前.comのドメインをAWSで使用する4つの方法 Amazon S3でSSL対応の静的ウェブサイトを公開する