toruca → Quden ドメイン移行の覚え書き
これは何?
toruca.com から quden.io にドメインを変更したときの作業記録です。
大まかなやること
- AWS Route 53 にホストゾーンを作成する
- Google Domain で dev.quden.io の NS を登録
- ACM 証明書を作成する
- 各種 DNS レコードを登録する
- サードパーティ:sendgrid、vercel
- backend core api
- cloudfront
作業ログ
2021/08/04 11:05:39
terraform の route 53.tf でホストゾーンを追加する
resource "aws_route53_zone" "quden" {
name = "${var.env}.${var.domain_name}"
}2021/08/04 11:14:14
acm.tf で証明書のリソースを作成する terraform apply する
2021/08/04 12:26:47
「検証保留中」になるので、Google Domain の DNS に NS を登録する(dev.quden.io)
ns-349.awsdns-43.com.
ns-897.awsdns-48.net.
ns-1332.awsdns-38.org.
ns-2025.awsdns-61.co.uk.2021/08/04 12:36:05
検証成功した
2021/08/04 15:49:51
sendgrid のドメインを登録する
2021/08/04 15:50:55
sender authentication からドメインの登録をしていく ここでは quden.io を登録していく → まちがえた、dev.quden.io を登録する
表示される DNS レコードを AWS Route 53 上に登録する Terraform を使っているので、Terraform から設定する
2021/08/04 15:56:18
ついでに、TTL が 30 sec で短めだったので、3600 sec に変更した
2021/08/04 16:02:59
ここでいったん terraform apply して変更を反映する
2021/08/04 16:08:06
apply しおわったら、DNS にレコードが反映されるのを待って、sendgrid のダッシュボード上の verify から検証をして完了させる
"Verified" になっていれば OK
2021/08/04 16:17:13
つぎは Vercel にドメインを追加していく
同様にドメインの検証が必要なので、terraform のコード上にリソースを作って、apply して検証する
2021/08/04 16:22:20
SSL の設定が Vercel 側で走るので、反映されるのを待つ(結構時間掛かりそう)
2021/08/04 16:25:46
待っている間に、api.dev.quden.io に、ALB へのエイリアスを貼る
2021/08/04 16:30:18
ついでに、cdn.dev.quden.io を CloudFront の distribution にエイリアスする
2021/08/04 16:33:16
Vercel のSSL の証明書の設定終わった
これで https://app.dev.quden.io にアクセスできるようになる (バックエンドの設定が終わっていないと CORS エラーによって何も出来ない)
2021/08/04 16:38:36
続いて、S3.tf から、allowed_origins を変更する https://app.dev.quden.io を追加する また、開発用途に https://local.dev.quden.io:3000 も追加しておく
2021/08/04 16:42:47
backend core の main.ts でも cors の設定をしているので、app.dev.toruca.com からのアクセスを許可するように修正する
ここでは /\\.quden\\.(io|io:3000)$/ という正規表現を配列に追加した これを add して commit して push して merge して deploy する
2021/08/04 17:09:14
環境変数も変更する必要があるのを忘れていた
- AWS_CLOUDFRONT_DOMAIN
- COOKIE_DOMAIN
- WEBAPP_BASE_ORIGIN
あたりを quden.io のものに変えていく
2021/08/04 17:16:56
terraform の aws_cloudfront_distribution リソースの aliases プロパティに、cdn.dev.quden.io を追加する terraform apply する
2021/08/04 17:29:52
cdn に付ける certificate を quden のものに差し替える これで、cdn.dev.toruca.com が使えなくなる(破壊的な変更) 開発環境を quden.io に切り替える必要がある
2021/08/04 17:37:09
フロントエンドの以下の環境変数も変更する
- NEXT_PUBLIC_CDN_ORIGIN
- NEXT_PUBLIC_API_ORIGIN_HTTPS
- NEXT_PUBLIC_ORIGIN_HTTPS
2021/08/04 17:59:08
ALB の certificate の値も変更する必要があった... 具体的には、alb.tf の aws_lb_listener リソース(https)の certificate_arn の値を変更する terraform apply する
2021/08/04 18:05:34
https://api.dev.quden.io/health-check に GET リクエストしてみて、"Working!" と表示されればOK(これは試すときによって違う可能性あり)
2021/08/04 18:07:56
拡張機能の API の向き先を変更する
2021/08/04 18:10:40
ドキュメントを更新した
2021/08/04 19:52:59
ローカルの https 化の設定をやりなおす
下記を参考に、証明書を再発行する
2021/08/04 19:59:50
ローカルのバックエンドの環境変数を変更する
- AWS_CLOUDFRONT_DOMAIN
- COOKIE_DOMAIN
- WEBAPP_BASE_ORIGIN
2021/08/04 20:07:36
/etc/hosts を編集しないとだな