カスタム ドメインを接続する

Firebase App Hosting にデプロイされたアプリでは、ブランドを象徴する独自のドメイン名の使用をあきらめる必要はありません。Firebase App HostingFirebase でホストされるサイトには、Firebase で生成されるドメインの代わりに、 example.comapp.example.com といったカスタム ドメインを使用できます。Firebase App Hosting は、ドメインごとに SSL 証明書をプロビジョニングします。

カスタム ドメインを接続する手順は次のとおりです。

サービスが中断されないようにするには、DNS レコードを特定の順序で更新する必要があります。アプリのダウンタイムを防ぐには、ドメインを移行するの手順に沿って操作してください。

ウェブアプリに 新しいドメインを接続する場合など、ダウンタイムが問題にならない場合は、新しいドメインを 接続するの手順に沿って操作してください。

始める前に: DNS レコードタイプ

App Hosting [Set up domain] ウィザードでは、ドメインの現在の構成に応じて、1 ~ 5 個の DNS レコードの追加または削除を求められることがあります。レコードのタイプ によって、その機能が決まります。App Hostingで求められるレコードのタイプは次のとおりです。

タイプ 説明 排他的
A これらのレコードには IPv4 値(8.8.8.8 など)が含まれており、ブラウザがドメインに接続しようとするときに使用するアドレスをブラウザに伝えます。 はい
AAAA これらのレコードには IPv6 値(2001:4860:4860::8888 など)が含まれています。これは、A レコードとほぼ同じ機能を持つ別のアドレス レコードです。App Hosting では現在 AAAA レコードは使用されていませんが、存在する場合はドメインから削除するよう求められます。 はい
CNAME これらのレコードには、DNS クエリを解決するために現在のドメインの代わりに使用する別のドメイン名が含まれています。CNAME レコードはサブドメイン(www.example.com など)でのみ使用できます。 App Hosting で CNAME レコードを使用する理由は次の 2 つです。
  • 簡単なオンボーディング: 可能であれば、App Hosting_custom-domain... で始まる事前構成済みのドメインに CNAME を設定するよう求めます。
  • SSL 証明書の検証: App Hosting は Cloud Certificate Manager を使用して、カスタム ドメインの SSL 証明書をプロビジョニングします。_acme-challenge... サブドメインの CNAME レコードを使用すると、Certificate Manager が証明書を作成して更新できます。オンボーディング後、このレコードを削除すると、証明書の適用範囲が失効します。
はい
TXT これらのレコードを使用すると、任意のメタデータをドメインに添付できます。App Hosting では、TXT レコードの特定の形式 fah-claim=[UUID] を使用して、ドメインで提供するカスタム ドメインを指定できます。 いいえ
CAA これらのレコードは、ドメインの SSL 証明書を作成する権限を持つ認証局を指定するための許可リストとして機能します。App Hosting は、ドメインの証明書を作成できない場合にのみ CAA レコードをリクエストします。 いいえ

始める前に: カスタム ドメイン名

DNS レコードの追加または編集時に DNS 管理サイト内の [ホスト](または [ホスト名])フィールドに入力する値は、ドメイン プロバイダごとに異なります。 App Hosting カスタム ドメイン ウィザードでは、この同じ値を [名前] フィールドに入力する必要があります。

以下に、よく利用されるプロバイダの一般的な入力情報をまとめました。詳細な手順については、ドメイン プロバイダのドキュメントをご覧ください

ドメイン タイプ カスタム ドメイン名
Apex ドメイン

一般的な入力情報:

  • @
  • Apex ドメイン名(example.com など)
  • [ホスト] フィールドは空白のままにする
サブドメイン

一般的な入力情報:

  • 完全なサブドメイン名(app.example.com など)
  • サブドメイン部分のみ(app のみで .example.comは除外)

一般的なドメイン プロバイダ

一般的なドメイン プロバイダと、それぞれに必要な入力の種類は次のとおりです。この情報は可能な限り最新の状態に保たれますが、詳しい手順については ドメイン プロバイダのドキュメントをご覧ください

ドメインを移行

ダウンタイムなしでドメインを別のプロバイダから App Hosting に移管する場合は、[ドメインを移行] フローを Firebase コンソールで使用します。このフローでは、トラフィックを App Hosting サーバーに転送する前に、App Hosting がドメインでコンテンツを提供できるように準備する 2 段階の手順を行います。

ステップ 1: カスタム ドメインを追加する

  1. Firebase コンソールで、[**Hosting とサーバーレス**] > [**App Hosting**] に移動します。
  2. App Hosting バックエンドを [**ダッシュボードを表示**] オプションを使用して選択します。
  3. [設定] タブを選択し、[カスタム ドメインを追加] をクリックします。
  4. サイトに接続するカスタム ドメイン名を入力します。App Hosting
  5. (省略可)カスタム ドメインのすべてのリクエストを 2 番目に指定されたドメインにリダイレクトするチェックボックスをオンにします(example.comwww.example.com を同じコンテンツにリダイレクトします)。
  6. [設定に進む] をクリックして DNS レコードを構成し、カスタム ドメインの設定を完了します。

ステップ 2: ドメインを準備する

  1. [ドメインを設定] ウィザードの [ドメインを移行] タブを選択します。
  2. 最初の手順である [ドメインを準備する] の手順に沿って操作します。この手順では、App Hosting が優先するバックエンドを提供し、ドメインの安全な TLS 接続を確立するために必要な変更を行います。必要なレコードについて、次の入力を使用して、DNS プロバイダでドメインに対するレコードの追加、削除、保存を行います。
    • 名前: レコードのカスタム ドメイン名 を入力します。ホストには、コンテンツを提供するドメイン(Apex ドメインまたはサブドメイン)を指定します。ドメイン プロバイダによっては、「ホスト名」、「名前」、「ドメイン」といった用語を使用している場合があります。
    • レコードタイプ: 提供された DNS レコードを追加します。
    • : 提供された値をレコードに割り当てます。ドメイン プロバイダによっては、「データ」、「ポイント」、「コンテンツ」、「アドレス」、「IP アドレス」といった用語を使用している場合があります。値フィールドの内容はレコードタイプによって異なります。たとえば、TXT レコードは文字列です。
  3. [レコードを確認] を選択します。 App Hosting は、ドメイン プロバイダで行った 変更を検出します。変更が反映されるまでに、最長で 24 時間かかることがあります。ステータスは、バックエンド ダッシュボードの [設定 > ドメイン] ビューで確認できます。

ステップ 3: App Hosting に転送する

  1. App Hosting が前の手順のレコードの更新を確認すると、 ウィザードは最後の [Direct to App Hosting] ステップに進みます。この ステップでは、ドメインの トラフィックを App Hosting サーバーに転送するために行う必要のあるレコードの更新が表示されます。前と同様に、必要なレコードについて、次の入力を使用して、DNS プロバイダでドメインに対するレコードの追加、削除、保存を行います。
    • 名前: レコードのカスタム ドメイン名 を入力します。ホストには、コンテンツを提供するドメイン(Apex ドメインまたはサブドメイン)を指定します。ドメイン プロバイダによっては、「ホスト名」、「名前」、「ドメイン」といった用語を使用している場合があります。
    • レコードタイプ: 提供された DNS レコードを追加します。
    • : 提供された値をレコードに割り当てます。ドメイン プロバイダによっては、「データ」、「ポイント」、「コンテンツ」、「アドレス」、「IP アドレス」といった用語を使用している場合があります。値フィールドの内容はレコードタイプによって異なります。たとえば、TXT レコードは文字列です。
  2. [レコードを確認] を選択します。 App Hosting は、ドメイン プロバイダで行った 変更を検出します。変更が反映されるまでに、最長で 24 時間かかることがあります。ステータスは、バックエンド ダッシュボードの [設定 > ドメイン] ビューで確認できます。

新しいドメインを接続

ウェブアプリに新しいドメインを接続する場合など、ダウンタイムが問題にならない場合は、このセクションの手順に沿って操作してください。

ステップ 1: カスタム ドメインを追加する

  1. Firebase コンソールで、[**Hosting とサーバーレス**] > [**App Hosting**] に移動します。
  2. App Hosting バックエンドを [**ダッシュボードを表示**] オプションを使用して選択します。
  3. [設定] タブを選択し、[カスタム ドメインを追加] をクリックします。
  4. サイトに接続するカスタム ドメイン名を入力します。App Hosting
  5. (省略可)カスタム ドメインのすべてのリクエストを 2 番目に指定されたドメインにリダイレクトするチェックボックスをオンにします(example.comwww.example.com を同じコンテンツにリダイレクトします)。
  6. [設定に進む] をクリックして DNS レコードを構成し、カスタム ドメインの設定を完了します。

ステップ 2: DNS レコードを確認する

  1. [ドメインを設定] ウィザードには、ページが Firebase App Hosting を指すように更新する必要があるレコードが表示されます。Firebase次の入力を使用して、DNS プロバイダでドメインに対するレコードの追加、削除、保存を行います。
    • 名前: レコードのカスタム ドメイン名 を入力します。ホストには、コンテンツを提供するドメイン(Apex ドメインまたはサブドメイン)を指定します。ドメイン プロバイダによっては、「ホスト名」、「名前」、「ドメイン」といった用語を使用している場合があります。
    • レコードタイプ: 提供された DNS レコードを追加します。
    • : 提供された値をレコードに割り当てます。ドメイン プロバイダによっては、「データ」、「ポイント」、「コンテンツ」、「アドレス」、「IP アドレス」といった用語を使用している場合があります。値フィールドの内容はレコードタイプによって異なります。たとえば、TXT レコードは文字列です。
  2. [レコードを確認] を選択します。 App Hosting は、ドメイン プロバイダで行った 変更を検出します。変更が反映されるまでに、最長で 24 時間かかることがあります。ステータスは、バックエンド ダッシュボードの [設定 > ドメイン] ビューで確認できます。

SSL 証明書のプロビジョニングを待機する

App Hosting が DNS レコードを更新した後、 ドメインの SSL 証明書をプロビジョニングするまでに数時間かかることがあります。DNS が Firebase App Hosting を指定するよう設定してから、 最大で 24 時間かかる場合があります。

この証明書は、ブラウザのセキュリティ ツールで確認できます。ドメインのプロビジョニング中は、無効な証明書が表示されたり、ドメインに接続できない問題が発生したりすることがあります。これは、通常プロセスの一部であり、ドメインの証明書が入手可能になると解決します。

注: Firebase App Hosting は、必要に応じてカスタム ドメインの SSL 証明書を自動的に再プロビジョニングします。

カスタム ドメインのステータスの説明

ステータス 説明
設定が必要です

DNS レコードを使った構成の変更が必要な場合があります。

  • ほとんどの場合、DNS A レコードはドメイン名プロバイダから Firebase App Hosting サーバーに伝播されていません。
    トラブルシューティングのヒント: 24 時間以上経過している場合は、 レコードがFirebase App Hostingを指していることを確認してください。

  • まれに、DNS レコードに他のホスティング プロバイダを指す A レコードまたは CNAME レコードがあるため、SSL チャレンジが失敗することがあります。
    トラブルシューティングのヒント: A レコードが のみを指していることを確認し、すべての CNAME レコードを削除します。Firebase App Hosting

保留中

カスタム ドメインを正しく設定しましたが、 Firebase App Hosting は SSL 証明書をプロビジョニングしていません。

過度に制限の厳しい CAA レコード が原因で、カスタム ドメインの SSL 証明書の作成が滞ることがあります。認証局 「letsencrypt.org」と「pki.goog」で、ドメインでの SSL 証明書の作成が許可されていることを確認してください。

証明書を作成中

ドメインの SSL 証明書を作成しています。

接続済み

カスタム ドメインには適切な DNS レコードがあり、SSL 証明書があります。
自分のサイトのコンテンツを提供できます。