s-tyd
Notes
←ノート

2019.07.13 · AWS · 2分で読めます

S3 + Route53 + Google Domains でお手軽サーバレス

自分のWebサイトをGCPで運用してたが、そろそろ無料枠が切れそうなので前々からやろうと思っていたサーバレスに乗り換えた。

私は好きでGoogleDomainsでドメインを管理している為、「S3とRoute53でもできるやん」という謎指摘は受け付けません。

2020/07/04 追記
自分のサイトはFirebaseに移行しました。(個人的にこっちのほうがおすすめ)

注意
今回のメインURLはwwwなしの方で設計します。
「www.your-domain.com」 にアクセスしたら 「your-domain.com」 にリダイレクトされるように作るので逆が良い方は全て逆にしてください。

S3

1.バケット作り

持っているドメインの名前でバケット作る。

特に設定は無いのでそのまま作成。

※wwwを付けたバケットも作る

バケットが二つできたと思う。

2.ポリシー設定

作ったバケット二つ共に適応する。
バケットクリック→アクセス権限→バケットポリシー

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

yourdomain書き換えてね。

ちゃんと適応されるとこうなる。

3.static website hosting を有効にする。

バケットクリック→プロパティ→static website hosting

ウェブサイトホストをするを選択

インデックスドキュメントを書き込む

wwwの方はリダイレクトに設定する。

自分のドメイン(バケット名)を書き込む。

####4.さっき作ったバケットに資材突っ込む
リダイレクトしないほうに資材を突っ込む。

突っ込んだらindex.html をクリック
概要→オブジェクトURLをクリックすると、動作を確認できる。

Route53

1.ホストゾーン作る

自分のドメイン入れて作成ボタン押す

できたホストゾーンをクリックして中を見る

####2.レコードセット作る
これは作成済みのキャプチャ

あらかじめNSとSOAが生成されているのでタイプAを
your-domain.com、www.your-domain.com
の二つ分作成する。

レコードセット作成をクリック。

1つ目

名前:なし
タイプ:A
エイリアス先:S3のヤツを選択
そのまま作成

2つ目

名前以外同じ通りに作成

GoogleDomainsでNSを設定する為タブは閉じない事

Google Dmains

GoogleDomainsに行って対象のドメインを選択
DNSを開く
ネームサーバのカスタムネームサーバーにAWSのNSの項目をコピペする。

これを


ここに入れる

5分くらい何かして待つ

ドメインにアクセスすると、自分のサイトが見れる。

できない場合は
・30分待つ
・NSが違う
・S3の設定が間違っている(プライベートのままなど)
・ドメイン名を間違っている
などなど

atogaki

そんなに調べてないですがあまり外部アドレスで運用する方法記事があんまり無かったと思うので書きました。
1時間クオリティなので細かいところは許して。

Shoya Toyodaアプリ開発を軸にしたソフトウェアエンジニア。技術支援などのお仕事をお受けしています。

相談する