このページでは、カスタム URL を構成して管理する方法について説明します。カスタム URL を使用すると、デフォルトの決定論的 URL ではなく、Cloud Run サービス用に覚えやすく、グローバルに利用可能な URL を取得できます。
- カスタム URL 形式:
https://CUSTOM_URL_DOMAIN.cloud.run - デフォルトの URL 形式:
https://SERVICE_NAME-PROJECT_NUMBER.REGION.run.app
カスタム URL を使用すると、カスタム ドメイン、DNS レコード、外部ロードバランサを設定せずにサービスを共有できます。
Cloud Run サービスにカスタム URL を使用すると、次のメリットがあります。
- シンプルな URL: サービスをクリーンな
https://CUSTOM_URL_DOMAIN.cloud.run形式にマッピングします。 - グローバルで利用可能: カスタム URL は、標準の
.run.appURL と同様に、どこからでもアクセスできます。 - 柔軟なライフサイクル: 新しいリビジョンをデプロイせずに、カスタム URL をサービス間で柔軟に接続、切断、移動できます。
- 複数のマッピング: 複数のカスタム URL を 1 つのサービスにマッピングできます。
始める前に
- Google Cloud アカウントにログインします。 Google Cloudを初めて使用する場合は、 アカウントを作成して、実際のシナリオで Google プロダクトのパフォーマンスを評価してください。新規のお客様には、ワークロードの実行、テスト、デプロイができる無料クレジット $300 分も差し上げます。
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
- Google Cloud プロジェクトで Cloud Run 開発環境を設定します。
- gcloud CLI をインストールして初期化します。
必要なロール
カスタム URL の管理に必要な権限を取得するには、次の IAM ロールを付与するよう管理者に依頼してください。
-
カスタム URL マッピングを作成、更新、削除する: プロジェクトに対する Cloud Run 管理者 (
roles/run.admin)
ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。
必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。
制限事項
- デフォルトでは、プロジェクトごとに最大 50 個のドメインをマッピングできます。
- カスタム URL のサブドメインは 6 ~ 63 文字で、英数字とハイフンを使用できる標準の DNS 命名規則に準拠している必要があります。先頭と末尾をハイフンにすることはできません。
- 一部のサブドメインは制限されています。
- デフォルトの
.run.appURL とは異なり、カスタム URL を一時的に無効にすることはできません。トラフィックの配信を停止するには、マッピングを削除する必要があります。 - 内部トラフィックまたは内部と Cloud Load Balancingトラフィックに上り(内向き)を制限する Cloud Run サービスはサポートされていません。
- Terraform はカスタム URL でサポートされていません。潜在的な破壊的変更を回避するには、プレビュー版の
domain_mappingリソースを使用しないでください。 - カスタム URL は完全に独立しています。サービスのデフォルトの
.run.appURL を無効にする場合、カスタム URL マッピングは完全に有効な状態が維持され、アクセス可能になります。
カスタム URL をサービスに接続またはマッピングする
カスタム URL は、新しいサービスをデプロイするときに新しいサービスに付加するか、 Google Cloud コンソールまたは gcloud を使用して既存のサービスにマッピングできます。
カスタム URL を新しいサービスに関連付ける
新しい Cloud Run サービスをデプロイするときに、デプロイ構成の一部としてカスタム URL を関連付けることができます。
Google Cloud コンソールで、[Cloud Run] [サービス] ページに移動します。
[コンテナをデプロイ] をクリックします。
サービスの基本構成の詳細を入力します。
[カスタム URL] セクションで、[カスタム URL を追加] をクリックします。
有効なカスタム URL ドメインを入力します。
省略可。複数のカスタム URL を追加するには、[カスタム URL を追加] をもう一度クリックします。
[作成] をクリックします。
カスタム URL を既存のサービスにマッピングする
Google Cloud コンソールまたは gcloud CLI を使用して、カスタム URL を既存の Cloud Run サービスにマッピングできます。
コンソール
Google Cloud コンソールで、[ドメイン マッピング] ページに移動します。
[カスタム URL を追加] をクリックします。
[サービス] リストで、マッピングするサービスを選択します。
カスタム URL ドメインを入力します。
[続行] をクリックします。
複数のカスタム URL を追加する場合は、[カスタム URL を追加] をもう一度クリックして、上記の手順に沿って操作します。
gcloud
既存のサービスのカスタム URL ドメイン マッピングを作成するには、次のコマンドを実行します。
gcloud beta run domain-mappings create \ --service=SERVICE_NAME \ --domain=CUSTOM_URL_DOMAIN.cloud.run
次のように置き換えます。
- SERVICE_NAME: カスタム URL のマッピング先となるサービスの名前。
- CUSTOM_URL_DOMAIN: アタッチするサブドメイン。
省略可。gcloud CLI を使用して複数のカスタム URL をマッピングするには、カスタム URL ごとにマッピング作成コマンドを繰り返し実行します。
gcloud beta run domain-mappings create \ --service=SERVICE_NAME \ --domain=CUSTOM_URL_DOMAIN_1.cloud.run gcloud beta run domain-mappings create \ --service=SERVICE_NAME \ --domain=CUSTOM_URL_DOMAIN_2.cloud.run
次のように置き換えます。
- SERVICE_NAME: デプロイするサービスの名前。
- CUSTOM_URL_DOMAIN_1: 接続する最初のサブドメイン。
- CUSTOM_URL_DOMAIN_2: 関連付ける 2 番目のサブドメイン。
リクエストされたサブドメインが Google Cloudですでに別のユーザーまたはサービスで使用されている場合は、エラーが表示され、一意のターゲットを選択する必要があります。
カスタム URL を一覧表示して表示する
すべてのカスタム URL を一覧表示し、環境のマッピングの詳細を表示できます。
コンソール
Google Cloud コンソールで、[Cloud Run] ページに移動します。
サービスの名前をクリックします。
[ネットワーキング] タブに移動します。
[エンドポイント] ラベルの [カスタム ドメイン] セクションで、添付した URL を確認します。
gcloud
プロジェクト内のすべてのカスタム URL とドメイン マッピングを一覧表示するには、次のコマンドを実行します。
gcloud beta run domain-mappings list
特定のカスタム URL ドメイン マッピングの詳細を表示するには、次のコマンドを実行します。
gcloud beta run domain-mappings describe \ --domain=CUSTOM_URL_DOMAIN.cloud.run
CUSTOM_URL_DOMAIN は、説明するサブドメインに置き換えます。
カスタム オーディエンスで保護する
カスタム オーディエンスをカスタム URL に関連付けて、アクセスを制限できます。
gcloud beta run services update SERVICE_NAME \ --add-custom-audiences=CUSTOM_URL_DOMAIN.cloud.run
次のように置き換えます。
- SERVICE_NAME: サービスの名前。
- CUSTOM_URL_DOMAIN: カスタム オーディエンスとして機能するサブドメイン。
カスタム URL を削除する
カスタム URL マッピングは、不要になったら削除できます。
コンソール
Google Cloud コンソールで、[ドメイン マッピング] ページに移動します。
削除するカスタム URL の横にあるチェックボックスをオンにします。
[削除] をクリックします。
gcloud
Cloud Run サービスからカスタム URL ドメイン マッピングを削除するには、次のコマンドを実行します。
gcloud beta run domain-mappings delete \ --domain=CUSTOM_URL_DOMAIN.cloud.run
CUSTOM_URL_DOMAIN は、削除するサブドメインに置き換えます。
既知の問題
伝播の遅延: カスタム URL を作成してから完全に機能するまで数秒かかることがあります。作成直後に URL にアクセスすると、一時的なルーティング エラーが発生する可能性があります。
カスタム URL を更新または移動する: カスタム URL の直接更新コマンドはありません。関連付けられたカスタム URL をあるサービスから別のサービスに移動するには、削除と再作成のフローに沿って操作する必要があります。
コンソール
Google Cloud コンソールで、[ドメイン マッピング] ページに移動します。
移動するカスタム URL の横にあるチェックボックスをオンにします。
[削除] をクリックします。
[カスタム URL を追加] をクリックします。
[サービス] リストで、新しいターゲット サービスを選択します。
以前に申し立てたカスタム URL のドメインを正確に入力します。
[作成] をクリックして、トラフィックを新しいサービスにリダイレクトします。
gcloud
古いサービスから既存のマッピングを削除します。
gcloud beta run domain-mappings delete \ --domain=CUSTOM_URL_DOMAIN.cloud.run
CUSTOM_URL_DOMAIN は、以前に所有権を主張したサブドメインに置き換えます。
URL を再利用して新しいサービスにマッピングします。
gcloud beta run domain-mappings create \ --service=NEW_SERVICE_NAME \ --domain=CUSTOM_URL_DOMAIN.cloud.run
次のように置き換えます。
- NEW_SERVICE_NAME: カスタム URL の移動先のサービスの名前。
- CUSTOM_URL_DOMAIN: 関連付けるサブドメイン。
次のステップ
- カスタム ドメインのマッピングの詳細を確認する。
- CDN で静的アセットを提供するについて学習する。