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

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

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

2020/07/04 追記
自分のサイトは[Firebaseに移行](https://qiita.com/s-tyd/items/14c9abde101252da6191)しました。（個人的にこっちのほうがおすすめ）

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

# S3

#### 1.バケット作り
持っているドメインの名前でバケット作る。
![bandicam 2019-07-13 19-14-31-988.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256196/a56eb58f-a411-8f9f-0ee5-750e94d08c12.jpeg)

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

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

バケットが二つできたと思う。
![bandicam 2019-07-13 19-17-34-264.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256196/1b396704-2a96-3cda-82a0-2f1009ee6eab.jpeg)

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

```json:バケットポリシー
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "PublicReadGetObject",
            "Effect": "Allow",
            "Principal": "*",
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::your-domain.com/*"
        }
    ]
}
```
yourdomain書き換えてね。
![bandicam 2019-07-13 19-20-27-700.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256196/e72f65e7-e21d-de9d-0d8b-f7b0652bff62.jpeg)

ちゃんと適応されるとこうなる。
#### 3.static website hosting を有効にする。
**バケットクリック→プロパティ→static website hosting**
![bandicam 2019-07-13 19-26-09-561.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256196/35f23128-2d6a-c84c-26a3-63a90a986969.jpeg)
ウェブサイトホストをするを選択

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

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

![bandicam 2019-07-13 19-35-05-332.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256196/f74a81b6-0559-9b68-45b5-aa4b9417fb0d.jpeg)

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

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

![bandicam 2019-07-13 19-36-25-018.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256196/4dc2a088-4947-be26-a59b-eab5e1b1855b.jpeg)

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

# Route53
#### 1.ホストゾーン作る
自分のドメイン入れて作成ボタン押す
![bandicam 2019-07-13 19-47-18-585.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256196/e46998b5-fc6c-61fd-bf2e-36b9a1e1112c.jpeg)

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

####2.レコードセット作る
これは作成済みのキャプチャ
![bandicam 2019-07-13 19-48-15-646.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256196/03b349b6-41a9-9295-f278-9edce9557ec8.jpeg)
あらかじめNSとSOAが生成されているのでタイプAを
your-domain.com、www.your-domain.com
の二つ分作成する。

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

**1つ目**
![bandicam 2019-07-13 19-50-33-207.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256196/b07c8e24-4984-d061-759e-c6c28bffbd4c.jpeg)
名前：なし
タイプ：A
エイリアス先：S3のヤツを選択
そのまま作成

**2つ目**
![bandicam 2019-07-13 19-53-18-411.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256196/b1b2cfcd-cdb4-9195-6400-e884ea872ec7.jpeg)
名前以外同じ通りに作成

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

# Google Dmains
GoogleDomainsに行って対象のドメインを選択
DNSを開く
ネームサーバのカスタムネームサーバーにAWSのNSの項目をコピペする。
![bandicam 2019-07-13 19-57-02-652.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256196/430659c3-24f9-2c07-0bd2-f89e8a18acfd.jpeg)
これを

![bandicam 2019-07-13 19-56-26-349.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256196/0f8533bb-66b5-168b-4603-3a336d85f120.jpeg)
ここに入れる

#### 5分くらい何かして待つ

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

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

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