自分の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/*"
}
]
}
ちゃんと適応されるとこうなる。
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のヤツを選択
そのまま作成
GoogleDomainsでNSを設定する為タブは閉じない事
Google Dmains
GoogleDomainsに行って対象のドメインを選択
DNSを開く
ネームサーバのカスタムネームサーバーにAWSのNSの項目をコピペする。
これを
5分くらい何かして待つ
ドメインにアクセスすると、自分のサイトが見れる。
できない場合は
・30分待つ
・NSが違う
・S3の設定が間違っている(プライベートのままなど)
・ドメイン名を間違っている
などなど
atogaki
そんなに調べてないですがあまり外部アドレスで運用する方法記事があんまり無かったと思うので書きました。
1時間クオリティなので細かいところは許して。