塩焼きブログ

塩焼きに関しての研究内容を公開しています

Amazon S3で静的サイトを独自ドメインで公開する

やったことは大きく5つ

  • バケットを作成する
  • バケットポリシーを編集して匿名ユーザーの読み取りを許可
  • ウェブサイトのホスティングを有効にする
  • インデックスドキュメントとエラードキュメントを設定
  • CNAMEで独自ドメインでアクセスできるようにする

パケットの作成

サービスからS3へ移動してバケットを作成する

f:id:hoge:20150509102653p:plain

バケットポリシーを編集する

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "AddPerm",
            "Effect": "Allow",
            "Principal": "*",
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::static.example.com/*"
        }
    ]
}

ポリシーのサンプルは全てここにある

docs.aws.amazon.com

ウェブサイトホスティングを有効にする

バケットのプロパティからホスティングに関する項目があってそっから有効にできるし、インデックスドキュメントとエラードキュメントもここで設定できる。

ホスティングの項目で公開URLみたいなやつも表示されているけど、そもそもこのURLは形式が決まっていて、バケット名を繋げた以下みたいな感じになっていて、リージョンによってちょっと変わる

バケット名.s3-website-ap-northeast-1amazonaws.com

詳しくはこっち

docs.aws.amazon.com

CNAMEの設定

ここはそのまま設定するだけ。公開されているアドレスに対して公開したいサブドメイン的なものを設定するだけ。

ファイルのアップロード

ブラウザから行えるが認証設定からアクセスキーIDとシークレットアクセスキーを取得してどうこうできるみたいだが、ブラウザのアップロード機能が十分便利なのでわざわざそんなことをしなくてもいいような気がした。