やり方
特に難しいところはないです。
1. Cloud Run の「サービス」メニューから「カスタム ドメインを管理」をクリックする
ここです。
2. 「マッピングを追加」をクリックして情報を入力していく
注意点がいくつかあります。
2-1. マッピングに対応しているリージョンが限られている
それは、マッピングに対応しているリージョンが限られていることです(2022/10/15 時点)。
マッピングを利用したい場合には、予めこれらのリージョンでサービスを作成する必要があります*1。
2-2. ドメインは「確認済み」である必要がある
所有するドメインが自らのものであるという確認を済ませておく必要があります。
上記 2点 をクリアしたならばどんどん情報を入力して、最後に「続行」を押します。
3. 確認待機状態になる
入力が終わるとマッピング一覧画面に遷移し、マッピングの確認待機状態になります。
4. Cloudflare 側で DNS を設定する
Cloudflare で DNS を設定します*2。
CNAME
の 名前
にサブドメインを入力し、コンテンツ
には ghs.googlehosted.com
を入力します*3。
そしてここで注意点があります。
「SSL/TLS」の「概要」の項目内で、「SSL/TLS 暗号化モード」を「フル」にする必要があります。Cloud Run が HTTPS なので「フレキシブル」ですと証明書のエラーになってしまいます。
すでに「フレキシブル」で運用していて「フル」にできないという場合には、「ルール」の「ページルール」の項目で特例のフィルタを作ればうまくいきます*4。
5. ひたすら待つ
ここもハマりやすい(ハマった)ところですが、Cloud Run 側で「確認済み」になるのに結構な時間がかかります。5分 や 10分 といったものでなく、時間単位でかかることがありました*5。
辛抱強く待つと良いと思います。
「ひたすら待つ」状態になっているかどうかは、カスタムドメインにアクセスすると分かります。以下のような Cloudflare の SSL handshake failed (525)
エラーが出れば、「ひたすら待つ」状態です。