デプロイされたサービスに Cloud Run が提供するデフォルトのアドレスではなく、カスタム ドメインを設定できます。
Cloud Run サービスのカスタム ドメインを設定するには、いくつかの方法があります。
- このページの説明に従って、Cloud Run のドメイン マッピングを使用する。
- Cloud Run サービスの上部にある Firebase Hosting を使用し、カスタム ドメインを Firebase Hosting に接続する。
- サーバーレス ネットワーク エンドポイント グループで HTTP(S) ロードバランサを使用する。
HTTP(S) ロードバランサを使用するメリットの 1 つは、カスタム ドメインをより細かく制御できることです。たとえば、Cloud Run のドメイン マッピングの使用時に自動的に提供される証明書ではなく、独自の TLS 証明書を使用できます。また、ロードバランサを使用して、特定の URL パスを Cloud Run サービスにルーティングすることもできます。
Cloud Run のドメイン マッピングの制限事項
次のリージョンでは、Cloud Run のドメイン マッピングを使用できません。
asia-east2
asia-northeast2
asia-northeast3
asia-southeast1
asia-southeast2
asia-south1
australia-southeast1
europe-west2
europe-west3
europe-west6
northamerica-northeast1
southamerica-east1
us-west2
us-west3
us-west4
これらのリージョンでカスタム ドメインを設定する唯一の方法は、HTTP(S) ロードバランサを構成することです。
Cloud Run のドメイン マッピングを使用する場合、カスタム ドメインをサービスにマッピングしてから、DNS レコードを更新します。example.com
のようなドメインや、subdomain.example.com
のようなサブドメインをマッピングできます。ドメインは /
にのみマッピングでき、/users
のような特定の URL パスにマッピングすることはできません。以下の考慮事項が適用されます。
- サービスをカスタム ドメインにマッピングすると、HTTPS 接続のマネージド証明書が自動的に発行、更新されます。
- SSL 証明書のプロビジョニングには通常 15 分ほどかかりますが、場合によっては最長で 24 時間ほどかかることがあります。
- 独自の証明書をアップロードして使用することはできません。
- 複数のカスタム ドメインを同じ Cloud Run サービスにマッピングできます。
始める前に
使用するドメインをまだ所有していない場合、新しいドメインを購入してください。任意のドメイン名登録事業者を使用できますが、Google Domains または Cloud Domains を使用すると、Cloud Run のドメインは自動的に確認されるため、ドメインの所有権の証明手続きを行う必要はありません。
Cloud Domains にドメインを登録する場合は、Cloud Run コンソールで Cloud Domains にドメインを登録するをご覧ください。
カスタム ドメインとサービスのマッピング
カスタム ドメインをサービスにマッピングするには、Google Cloud Console または gcloud
コマンドライン ツールを使用します。
Console
Google Cloud Console で [ドメイン マッピング] ページを開きます。
[ドメイン マッピング] ページ表示ウィンドウが小さすぎると、カスタム ドメインのマッピング ボタンは表示されないので、ページの右上にあるその他アイコンをクリックする必要があります。
[ドメイン マッピング] ページで、[マッピングを追加] をクリックします。
[マッピングを追加] フォームのプルダウン リストから、カスタム ドメインをマッピングするサービスを選択します。
ドメイン名を入力します。
[続行] をクリックします。
Google からドメインを購入した場合を除き、ドメインを使用する前にその所有権を確認する必要があります。
subdomain.example.com
をマッピングする場合は、example.com
の所有権を確認してください。ドメインの所有権を確認する方法については、ウェブマスター セントラルのヘルプをご覧ください。ドメイン登録事業者のウェブサイトで、最後の手順で表示された DNS レコードを使用して DNS レコードを更新します。ドメイン マッピングの [...] 操作メニューで [DNS レコード] をクリックすると、レコードが表示されます。
[完了] をクリックします。
コマンドライン
Google からカスタム ドメインを購入した場合を除き、Google Cloud プロジェクトでそのドメインを初めて使用する際には、ドメインの所有権を確認する必要があります。使用するカスタム ドメインが確認済みかどうかを判別するには、コマンドを使用します
gcloud domains list-user-verified
ドメインの所有権を確認する必要がある場合は、ウェブマスター セントラルの確認ページを開きます。
gcloud domains verify BASE-DOMAIN
ここで、
BASE-DOMAIN
は確認するベースドメインです。たとえば、subdomain.example.com
をマッピングする場合は、example.com
の所有権を確認する必要があります。ウェブマスター セントラルで、ドメイン所有権の確認を完了します。詳しくは、ウェブマスター セントラルのヘルプをご覧ください。
サービスをカスタム ドメインにマッピングします。
gcloud beta run domain-mappings create --service SERVICE --domain DOMAIN
SERVICE
は、実際のサービス名に置き換えます。DOMAIN
は、カスタム ドメイン(example.com
またはsubdomain.example.com
など)に置き換えます。
ドメイン登録事業者で DNS レコードを追加する
Cloud Run でサービスをカスタム ドメインにマッピングしたら、ドメイン登録事業者で DNS レコードを更新する必要があります。Cloud Run が必要な DNS レコードを生成して表示します。マッピングを有効にするには、Cloud Run サービスを参照するレコードをドメイン登録事業者で追加する必要があります。
DNS プロバイダとして Cloud DNS を使用する場合は、レコードの追加をご覧ください。
次のコマンドを使用して、ドメイン マッピングの DNS レコード情報を取得します。
Console
Cloud Run のドメイン マッピング ページに移動:
ドメイン マッピング ページサービスの右側にある縦に並んだ 3 つの点のアイコンをクリックして [DNS レコード] をクリックし、すべての DNS レコードを表示します。
コマンドライン
gcloud beta run domain-mappings describe --domain [DOMAIN]
[DOMAIN]
は、カスタム ドメイン(example.com
、subdomain.example.com
など)に置き換えます。resourceRecords
という見出しの下にある、返されたすべてのレコードが必要です。ドメイン登録事業者のアカウントにログインし、DNS 構成ページを開きます。
ドメインの構成ページのホストレコード セクションを見つけて、ドメインを Cloud Run サービスにマッピングしたときに取得した各リソース レコードを追加します。
上記の DNS レコードを DNS プロバイダのアカウントに追加するときに、次の操作を行います。
- 前のステップで返された DNS レコードのタイプを選択します(
A
、AAAA
またはCNAME
)。 www
という名前を使用してwww.example.com
にマッピングします。@
という名前を使用してexample.com
をマッピングします。
- 前のステップで返された DNS レコードのタイプを選択します(
ドメインのアカウントの DNS 構成ページで変更を保存します。通常、この変更が反映されるまでに数分しかかかりませんが、登録事業者やドメインの以前の DNS レコードに設定されている有効期間(TTL)によっては、数時間かかることもあります。このオンラインの
dig
バージョンなどのdig
ツールを使用して、DNS レコードが正常に更新されたことを確認できます。新しい URL(
https://www.example.com
など)でサービスを閲覧して、成功したかどうかをテストします。マネージド SSL 証明書が発行されるまでに数分かかる場合があります。
確認済みのドメイン所有者を他のユーザーまたはサービス アカウントに追加する
ユーザーがドメインを検証すると、そのユーザーのアカウントに対してのみドメインの検証が行われます。つまり、ドメイン マッピングを追加できるのは、そのドメインを使用しているユーザーだけです。他のユーザーがドメインを使用するマッピングを追加できるようにするには、ユーザーを確認済みのオーナーとして追加する必要があります。
ドメインで確認済みのオーナーを他のユーザーまたはサービス アカウントに追加するには、[ウェブマスター セントラル] ページから権限を追加します。
ウェブブラウザで、このアドレスに移動します。
[プロパティ] で、ユーザーまたはサービス アカウントを追加するドメインをクリックします。
[確認済みサイト所有者] リストまでスクロールして [サイト所有者を追加] をクリックし、Google アカウントのメールアドレスまたはサービス アカウント ID を入力します。
サービス アカウントのリストを表示するには、Cloud Console の [サービス アカウント] ページを開きます。
Cloud Run コンソールで Cloud Domains にドメインを登録する
Cloud Run コンソールで Cloud Domains にドメインを登録するには、次の手順を行います。
- Cloud Run に移動します。
- [カスタム ドメインを管理] をクリックします。
- [ドメインを登録] をクリックします。
- ドメインの登録の手順で登録プロセスを完了します。
- ドメインを Cloud Run にマッピングし、ドメイン登録事業者で DNS レコードを追加します。