Skip to content

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 でホストゾーンを追加する

plain
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)

plain
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 を編集しないとだな