yujiro's blog

エンジニアリング全般の事書きます

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

前提

  • ドメイン名は 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/*"
        }
    ]
}
  • [Static website hosting] タブをクリック
  • [このバケットを使用してウェブサイトをホストする] をクリック

※このときにエンドポイントもメモしておきます。(ここでは file.〜.s3〜 となっていますがこの手順通りにやっていれば image.sample.com.s3〜となっていると思います。) f:id:bambookun:20170924170655p:plain

  • インデックスドキュメントをindex.htmlなどに設定(このファイルはなくても大丈夫)

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

  • ドメインサービスの管理画面からDNSを CouldFlareのものにする(あとででもよい)
  • CloudFlare 側で image.sample.com というドメインをCNAME のname に設定、hostname に 先程メモしたエンドポイントを入力

参考

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