S3上の静的サイトにさくらで管理中のドメインのサブドメインでアクセス

今日、さくらのレンタルサーバから、さくらのVPS+さくらのメールボックスへのお引越しが完了しました。はじめはすべてVPSで済ませようと考えていたものの、メールサーバの構築難易度(セキュリティ面含む)の高さに恐れおののき、このような変則構成になりました。

その引っ越しの最中に、中学時代に書いてたオリジナルガンダム小説発表サイトなど、暗黒時代の産物が多数発掘されて、面白くなってきてこれはこれで公開しとこうと思い立ちました。でも普通にVPSのwebサーバ上に置くのも技術的に面白く無いなぁということで、そういえば昔AWSのS3に月額10円でサイトをホストうんちゃらというような広告を見たことがあったような気がして、ちょうどいい機会だと思って試してみました。

公開したいガンダム小説サイトはこちら http://0322.entropia.jp

条件

  • さくらのドメインentropia.jpを管理している
  • デプロイしたいサイトは静的サイト

ゴール

0322.entropia.jpで、S3上にデプロイした静的サイトにアクセスできる

手順

AWSでの設定

バケットの作成

[Create Bucket]から0322.entropia.jpという名前のバケットを作成します。

静的サイト公開設定

バケットを静的サイトのデプロイ先として利用できるように設定します。 Static Website Hosting > Enable website hostingを選択
Index Documentにindex.htmlError Documentにerror.htmlと入力します。

ファイルアップロード

普通にFTPする感覚で左上のUploadからファイルをアップロードします。
バケットのルートディレクトリがURLのルートと対応することに注意します。

パーミッション設定

Permission > edit bucket policyで開いたウィンドウに以下をコピペしてsaveします。

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

この時点でAWSドメインで静的サイトにアクセスすることができます。もう一息です。 http://0322.entropia.jp.s3-website-ap-northeast-1.amazonaws.com

さくらでの設定

会員メニュー > ドメイン > ドメイン名一覧 から所望のドメインのゾーン編集をクリックして、下記のCNAMEレコードを追加します。
0322 CNAME 0322.entropia.jp.s3-website-ap-northeast-1.amazonaws.com.
最後のドットが非常に重要です。

以上です。お疲れ様でした。