🚀
【執筆中】カスタムドメインを GCP のロードバランサー 経由で Cloud Run に向けて、SSL証明書をつける一連の流れ
執筆中ですが、微妙に詰まったのでヒントになればと公開にしております。
概要
Cloud Run にデプロイしている Next.js アプリに、ドメインを設定してロードバランサー経由でつなぐ方法を解説します。
諸々も事情によりドメインのDNSはAWS Route53 を使用しております。
GCPかそれ以外でDNSを設定していても、そこだけ変えれば後は同じだと思います。
なおこの記事は Cloud Run にすでにアプリをデプロイ済みであることを前提とします。
ステップ
- Cloud Runにアプリをデプロイ
- GCPにてロードバランサーの作成
- フロントエンド設定作成
- SSL証明書発行
- 外部向け静的IP新規作成
- バックエンドサービス設定
- サーバレスネットワークエンドポイントグループ作成 (ここでCloud Runを指定)
- フロントエンド設定作成
- DNSにてドメインの向き先を静的IPに指定
注意点
設定したいドメインの向き先が、ロードバランサーに指定したIPだけに向いている状態でないと、SSL証明書のプロビジョニングが終わらずにロードバランサー経由で正常にアクセスできません。
例えば当該ドメインの解決先としてロードバランサーのIP以外の複数のエンドポイントを指定していると、FAILED_NOT_VISIBLE
ステータスになりプロビジョニングに失敗します。
DNS は、ロードバランサの IP アドレス以外の IP アドレスに解決されないようにする必要があります。たとえば、A レコードが正しいロードバランサに解決され、AAAA は別のロードバランサに解決される場合、ドメインのステータスは FAILED_NOT_VISIBLE になります。
SSL 証明書のトラブルシューティング
Discussion