Cloud Endpoints API のポータルを作成する場合、ポータルのホストはデフォルトで、Google が所有、管理する cloud.goog
ドメインになります。ポータルのデフォルト URL は、次の形式になっています。ここで、YOUR_PROJECT_ID
は Endpoints 構成のデプロイ先となっている Google Cloud プロジェクトです。
https://endpointsportal.YOUR_PROJECT_ID.cloud.googgRPC サービス構成ファイルの
name
フィールドにカスタム ドメイン(example.com
や my-api.example.com
など)を指定した場合でも、これがデフォルトの URL です。
API のユーザーにカスタム ドメインを使ってポータルにアクセスさせるには、Cloud Endpoints Portal と DNS の設定をドメイン名登録事業者(レジストラ)で構成する必要があります。カスタム ドメインをポータルに追加するとき、ドメイン名登録事業者で構成する必要のある DNS レコードのタイプなどの情報が Endpoints Portal に表示されます。
このページでは、Endpoints Portal でカスタム ドメインを使用するための構成について説明します。また、それぞれのタスクを実行するために最低限必要な Identity and Access Management のロールについても説明します。IAM の権限について詳しくは、以下をご覧ください。
前提条件
このガイドでは次の条件を前提としています。
- すでにポータルが作成されていること。
- 使用するドメインの確認済みオーナーであること。この他に、ドメイン名登録事業者で DNS を構成する方法についての知識も必要になります。
カスタム ドメインの追加
- Google Cloud Console で、プロジェクトの [エンドポイント] > [デベロッパー ポータル] ページに移動します。
- [カスタム ドメインを追加してください] をクリックします。
- ルートドメイン名またはサブドメイン名を入力します。
- ドメインを追加するには、[続行] をクリックします。
Endpoints Portal に [DNS レコードの更新] と表示されます。[DNS レコードの更新] セクションにリストされているすべてのレコードについて、ドメイン名登録事業者を使用して DNS レコードを追加します。
たとえば
example.com
などのルートドメインを入力した場合、[DNS レコードの更新] セクションに A レコードと AAAA レコードの一覧が IP アドレスとともに表示されます。例:タイプ データ エイリアス A 198.51.100.0 - A 198.51.100.2 - A 198.51.100.4 - A 198.51.100.6 - AAAA 2001:db8:ffff:32::15 - AAAA 2001:db8:ffff:34::15 - AAAA 2001:db8:ffff:36::15 - AAAA 2001:db8:ffff:38::15 - 1 つのドメイン名に対して複数の A レコードと AAAA レコードを追加する場合の構成手順と用語は、使用するドメイン名登録事業者によって異なります。不明な場合は、ドメイン名登録業者のドキュメントで、「レコードセット」や「複数のレスポンス」などの用語を検索してください。
たとえば、
apidocs.example.com
などのサブドメインを入力した場合は、[DNS レコードの更新] セクションに CNAME が表示されます。例:タイプ データ エイリアス CNAME ghs.googlehosted.com apidocs
[完了] をクリックします。
ポータルにアクセスするには、カスタム ドメインのリンクをクリックします。DNS レコードの反映状況によっては、カスタム ドメインのリンクが有効になるまでに最大で 24 時間かかる場合があります。
ドメイン登録事業者を使用して DNS レコードを追加した後で初めて、Google によって SSL 証明書がプロビジョニングされます。それまでは、カスタム ドメインを使用してポータルにアクセスできません。これは http://
を使用しても変わりません。ただし、[エンドポイント] > [デベロッパー ポータル] ページに表示されるデフォルトの URL は引き続き使用できます。
DNS に追加する情報を確認する
ドメイン名登録業者に追加する必要がある(または追加済みの)情報を確認するには:
- Google Cloud コンソールで、[エンドポイント] > [デベロッパー ポータル] ページに移動します。
- API を所有している Google Cloud プロジェクトを選択します。
- カスタム ドメインの横にある [DNS の詳細] をクリックします。
カスタム ドメインの削除
- Google Cloud Console で、プロジェクトの [エンドポイント] > [デベロッパー ポータル] ページに移動します。
- カスタム ドメインの [DNS の詳細] の横にある [削除] をクリックします。
- 確認ダイアログで [削除] をクリックします。
トラブルシューティング
カスタム ドメインの追加が一般的なエラーで失敗する。このエラーの原因は複数考えられます。ポータルのデフォルト URL endpointsportal.YOUR_PROJECT_ID.cloud.goog
が機能していることを確認してください。デフォルト URL が機能していない場合は、ポータルを削除してからエンドポイント API のポータルを作成するの手順に沿ってポータルを再作成します。
カスタム ドメインの追加が失敗したのに、メインページのテーブルにそのドメインがまだ表示されている。これは既知の問題です。この問題を解決するには、カスタム ドメインを削除してから再度追加します。
[DNS の詳細] をクリックすると空のテーブルが表示されて、追加するレコードがない。この問題は、カスタム ドメインの追加が失敗したにもかかわらず、テーブルに表示され続けている場合に起きることがあります。この問題を解決するには、カスタム ドメインを削除してから再度追加します。
カスタム ドメインのリンクが機能していない。ドメイン登録事業者を使用して DNS レコードが正しく追加されていることを確認する必要があります。カスタム ドメインが機能するまでに最大で 24 時間かかることがあります。
カスタム ドメインを追加する権限がない。少なくとも、プロジェクト閲覧者の役割に加え、プロジェクトに対する Endpoints Portal 管理者の役割が必要です。プロジェクトに対するプロジェクト編集者の役割にも、必要な権限が含まれています。詳細については、カスタム役割の作成と管理をご覧ください。
自分の App Engine アプリケーションで使用したのと同じドメイン名を再使用したい。特定のドメイン名は 1 つのウェブ アプリケーションに限り使用可能です。App Engine ウェブ アプリケーションとポータルに同じドメイン名を使用することはできません。一意のドメイン名を使用してください。
次のステップ
以下の内容について学習します。
- Endpoints Portal 管理者の役割に含まれる権限
- ポータルで API を試す