🚀

【執筆中】カスタムドメインを GCP のロードバランサー 経由で Cloud Run に向けて、SSL証明書をつける一連の流れ

2023/04/02に公開

執筆中ですが、微妙に詰まったのでヒントになればと公開にしております。

概要

Cloud Run にデプロイしている Next.js アプリに、ドメインを設定してロードバランサー経由でつなぐ方法を解説します。

諸々も事情によりドメインのDNSはAWS Route53 を使用しております。
GCPかそれ以外でDNSを設定していても、そこだけ変えれば後は同じだと思います。

なおこの記事は Cloud Run にすでにアプリをデプロイ済みであることを前提とします。

ステップ

  1. Cloud Runにアプリをデプロイ
  2. GCPにてロードバランサーの作成
    • フロントエンド設定作成
      • SSL証明書発行
      • 外部向け静的IP新規作成
    • バックエンドサービス設定
      • サーバレスネットワークエンドポイントグループ作成 (ここでCloud Runを指定)
  3. DNSにてドメインの向き先を静的IPに指定

注意点

設定したいドメインの向き先が、ロードバランサーに指定したIPだけに向いている状態でないと、SSL証明書のプロビジョニングが終わらずにロードバランサー経由で正常にアクセスできません。

例えば当該ドメインの解決先としてロードバランサーのIP以外の複数のエンドポイントを指定していると、FAILED_NOT_VISIBLE ステータスになりプロビジョニングに失敗します。

DNS は、ロードバランサの IP アドレス以外の IP アドレスに解決されないようにする必要があります。たとえば、A レコードが正しいロードバランサに解決され、AAAA は別のロードバランサに解決される場合、ドメインのステータスは FAILED_NOT_VISIBLE になります。
SSL 証明書のトラブルシューティング

Discussion