カスタム ドメインのマッピング

App Engine では、デフォルトの appspot.com アドレスの代わりに、example.com などのカスタム ドメインによってアプリケーションを提供できます。App Engine アプリのドメイン マッピングを作成すると、App Engine アプリでカスタム ドメインを使用できます。

デフォルトでは、カスタム ドメインをアプリにマッピングすると、App Engine は HTTPS 接続用のマネージド SSL 証明書を発行します。独自の SSL 証明書の使用方法をはじめとするカスタム ドメインでの SSL の使用法については、カスタム ドメインを SSL で保護するをご覧ください。

このページでは、App Engine で実行されているアプリのドメイン マッピングの作成方法を説明します。

次のリージョンでカスタム ドメインを使用すると、レスポンスに著しい遅延が発生する可能性があります。northamerica-northeast1(モントリオール)、southamerica-east1(サンパウロ)、asia-south1(ムンバイ)、australia-southeast1(シドニー)。

始める前に

  1. 使用するドメインをまだ所有していない場合、新しいドメインを購入してください。ドメイン名は Google Domains などのドメイン名登録事業者から取得できます。

  2. gcloud ツールコマンドを使用する場合は、次のようにします。

    1. Cloud SDK をインストールし、初期化します。

      ダウンロードとインストール

  3. Admin API を使用する場合は、Admin API へのアクセスの前提条件に関する情報をご覧ください。

アプリケーションにカスタムドメインを追加する

App Engine アプリにカスタム ドメインを追加するには:

  1. ウェブマスター セントラルで、ドメインのオーナーであることを確認します。

    Console
    1. Google Cloud Platform Console で [App Engine] > [設定] > [カスタム ドメイン] に移動します。

      [カスタム ドメイン] ページに移動

    2. [カスタム ドメインを追加] をクリックし、[新しいカスタム ドメインの追加] フォームを表示します。

      カスタム ドメインを追加

    3. [使用するドメインを選択する] セクションで、使用するドメインの名前(example.com など)を入力し、[続行] をクリックします。新しいタブでウェブマスター セントラルのページが開きます。
      1. ウェブマスター セントラルを使用して、ドメインの所有権を確認します。

        重要: App Engine では、CNAME レコードを使用してドメインの所有権を確認することをおすすめします。TXT レコードを使用する場合は、CNAME レコードが TXT レコードをオーバーライドし、ドメインが未確認となるため、CNAME レコードを使用してドメインの DNS を構成しないでください。

        ドメインの確認方法として CNAME レコードを使用できない場合は、ドメイン プロバイダとして [Other] を選択し、[Add a CNAME record] を選択します。

        1. [Alternate methods] をクリックし、[Domain name provider] をクリックします。
        2. メニューの [Other] を選択します。
        3. [Having trouble] セクションで [Add a CNAME record] をクリックし、指示に従ってドメインの所有権を確認します。

          注意: CNAME がドメイン登録事業者に設定されるまでに 1 分ほどかかることがあります。

      2. GCP Console の [新しいカスタム ドメインの追加] フォームに戻ります。
    gcloud
    1. 次の gcloud domains コマンドを実行して、ウェブマスター セントラルのページを開きます。

      gcloud domains verify DOMAIN

      DOMAIN は所有権を確認するドメインです。

      例:

      gcloud domains verify example.com
    2. ウェブマスター セントラルを使用して、ドメインの所有権を確認します。

      重要: App Engine では、CNAME レコードを使用してドメインの所有権を確認することをおすすめします。TXT レコードを使用する場合は、CNAME レコードが TXT レコードをオーバーライドし、ドメインが未確認となるため、CNAME レコードを使用してドメインの DNS を構成しないでください。

      ドメインの確認方法として CNAME レコードを使用できない場合は、ドメイン プロバイダとして [Other] を選択し、[Add a CNAME record] を選択します。

      1. [Alternate methods] をクリックし、[Domain name provider] をクリックします。
      2. メニューの [Other] を選択します。
      3. [Having trouble] セクションで [Add a CNAME record] をクリックし、指示に従ってドメインの所有権を確認します。

        注意: CNAME がドメイン登録事業者に設定されるまでに 1 分ほどかかることがあります。

      ドメインの DNS 構成に次の CNAME レコードを追加するには、次のコマンドを実行します。
      CNAME Label / Host: a1b2c3d4e5.example.com.
      CNAME Destination / Target: gv-abcdefghijk.dv.googlehosted.com
      Label / Host および Destination / Target 値をドメインの DNS 構成の対応するフィールドにマッピングします。たとえば、Google Domains では、CNAME を次のように設定します。
      NAMETYPETTLDATA
      a1b2c3d4e5CNAME1hgv-abcdefghijk.dv.googlehosted.com.

      ドメインに固有の手順など、CNAME レコードの追加の詳細については、サポートページをご覧ください。

  2. ドメインが確認済みであることを確認してください。確認が完了していない場合、次の手順に進むことができません。確認済みのドメインのみが表示されます。

    Console

    ドメインがまだリストにない場合は、[ドメインを更新] をクリックします。

    gcloud

    次の gcloud domains コマンドを実行して、確認済みのドメインを一覧表示します。

    gcloud domains list-user-verified
    API

    確認したドメインをプログラムで一覧表示するには、Admin API の apps.authorizedDomains.list メソッドをご覧ください。

  3. ドメインの所有権を他のユーザーまたはサービス アカウントに委任する必要がある場合は、ウェブマスター セントラルのページで権限を追加できます。

    1. ウェブブラウザで次のアドレスを開きます。

      https://www.google.com/webmasters/verification/home

    2. [Properties] で、ユーザーまたはサービス アカウントを追加するドメインをクリックします。

    3. [Verified owners] リストまでスクロールして [Add an owner] をクリックし、Google アカウントのメールアドレスまたはサービス アカウント ID を入力します。

      サービス アカウントのリストを表示するには、GCP Console の [サービス アカウント] ページを開きます。

      [サービス アカウント] ページに移動

  4. ドメインの所有権を確認したら、そのドメインを App Engine アプリにマッピングできます。

    Console

    [新しいカスタム ドメインの追加] フォームの次のステップに進み、App Engine アプリにマッピングするドメインを選択します。

    1. マッピングするドメインとサブドメインを指定します。ネイキッド ドメインと www サブドメインは、フォームに自動入力されます。
      • example.com などのネイキッド ドメインは、http://example.com にマッピングされます。
      • www などのサブドメインは、http://www.example.com にマッピングされます。
    2. [マッピングを保存] をクリックして目的のマッピングを作成します。
    3. [新しいカスタム ドメインの追加] フォームの最後のステップで、一覧表示されているリソース レコードを、タイプと正規名(CNAME)も含めてメモします。これらの詳細情報はドメインの DNS 構成に追加する必要があります。

      次の例では、CNAME が一覧表示されているタイプの 1 つであり、ghs.googlehosted.com がその正規名です。

      カスタム ドメインを追加
    gcloud

    次の gcloud app domain-mappings コマンドを実行して、ドメインを App Engine アプリにマッピングします。

    gcloud app domain-mappings create DOMAIN
    • DOMAIN は、App Engine アプリにマッピングするドメイン(*.example.com など)です。
    • エラーが発生した場合は、ドメインを引用符で囲んでください(例: '*.example.com')。

      例:

      gcloud app domain-mappings create '*.example.com'
    • 一覧表示されているリソース レコード(タイプと正規名(CNAME)を含む)をメモします。これは、これらの詳細をドメインの DNS 構成に追加する必要があるためです。
    API

    ドメインをプログラムで App Engine アプリにマッピングする場合は、Admin API の app.domainMappings.create メソッドをご覧ください。

    ドメインが App Engine アプリにマッピングされたら、apps.domainMappings.list メソッドを使用してリソース レコードを一覧表示します。

  5. 取得したリソース レコードをドメイン登録事業者の DNS 構成に追加します。

    1. ドメイン登録事業者のアカウントにログインし、DNS 構成ページを開きます。

    2. ドメインの構成ページのホストレコード セクションを見つけて、ドメインを App Engine アプリにマッピングしたときに取得した各リソース レコードを追加します。

      通常は、ホスト名と、アドレスとなる正規名を追加していきます。たとえば、Google Domain を登録した場合、DNS 構成に追加するレコードの 1 つは www ホスト名と ghs.googlehosted.com アドレスです。ネイキッド ドメインを指定するには、ghs.googlehosted.com アドレスに @ を使用します。

      別のプロバイダから移行する場合は、すべての DNS レコードが App Engine アプリを指していることを確認します。

      ドメインのマッピングの詳細については、後続のセクションのサブドメインを使用するワイルドカード マッピングをご覧ください。

    3. ドメインのアカウントの DNS 構成ページに変更を保存します。変更が反映されるまでしばらく時間がかかることがあります。

  6. 新しいドメインの URL(www.example.com など)でアプリを閲覧して、成功したかどうかテストします。

サブドメインを使用する

カスタム ドメインにワイルドカード サブドメイン マッピングを設定すると、アプリケーションは、一致するサブドメインに対するリクエストを処理します。

  • アプリケーションのバージョン名またはサービス名と一致するドメインが参照されると、アプリケーションはそのバージョンを提供します。
  • サービス名と一致するドメインが参照されると、アプリケーションはそのサービスを提供します。
  • マネージド SSL 証明書には上限(ベースドメインごとに週あたり 20 個)があります。この制限に達した場合、App Engine はすべてのリクエストが処理されるまで、マネージド証明書の発行を継続します。

ワイルドカード マッピング

ワイルドカードを使用すると、第 3 レベル以降であればどのレベルのサブドメインでもマッピングできます。たとえば、使用するドメインが example.com の場合、ウェブアドレス フィールドにテキストを入力すると次のような結果になります。

  • *.example.com」と入力すると、example.com のすべてのサブドメインがアプリにマッピングされます。
  • *.private.example.com」と入力すると、private.example.com のすべてのサブドメインがアプリにマッピングされます。
  • *.nichol.sharks.nhl.example.com」と入力すると、nichol.sharks.nhl.example.com のすべてのサブドメインがアプリにマッピングされます。
  • *.excogitate.system.example.com」と入力すると、excogitate.system.example.com のすべてのサブドメインがアプリにマッピングされます。

dispatch.yaml ファイルを使用して特定のサービスに対するリクエストのルーティングを設定すると、App Engine のサービスでワイルドカード マッピングを使用できます。

使用しているドメインの他のサブドメイン(sitesmail など)で G Suite を使用する場合は、これらのマッピングの優先順位が高くなり、ワイルドカード マッピングが行われる前に最初に照合されます。また、他の App Engine アプリを他のサブドメインにマッピングしている場合にも、これらのマッピングはワイルドカード マッピングよりも優先順位が高くなります。

DNS プロバイダによってはワイルドカード サブドメイン マッピングに対応していないことがあります。特に、CNAME ホストエントリでのワイルドカードの使用が許可されているかどうかに注意が必要です。

ワイルドカード ルーティング ルールは、App Engine のサービス ルーティング ルールに従って、サービス、バージョン、インスタンスのコンポーネントを含む URL に適用されます。

次のステップ

カスタム ドメインを SSL で保護する

このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...

Go の App Engine スタンダード環境