Google I/O 2023 での Firebase の最新情報。詳細

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

Firebase Hosting では、ブランドを象徴する独自のドメイン名の使用をあきらめる必要はありません。Firebase でホストされるサイトには、Firebase で生成されるドメインの代わりに、example.comapp.example.com といったカスタム ドメインを使用できます。

Firebase Hosting は、ドメインの SSL 証明書をプロビジョニングし、グローバル CDN 経由でコンテンツを提供します。

カスタム ドメインを接続する方法を、以下で紹介します。

Hosting 用にドメインを設定する

プロジェクトの [Firebase Hosting] ページで [使ってみる] ウィザードが完了していて、Firebase プロジェクト内に Firebase Hosting サイトがあることを確認します。

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

  1. プロジェクトの [Hosting] ページで、カスタム ドメインを接続するためのウィザードを開始します。

    • Hosting サイトが 1 つしかない場合は、[カスタム ドメインを追加] をクリックします。
    • 複数の Hosting サイトがある場合は、目的のサイトの [表示] をクリックしてから、[カスタム ドメインを追加] をクリックします。
  2. Hosting サイトに接続するカスタム ドメイン名を入力します。

  3. (省略可)カスタム ドメインのすべてのリクエストを 2 番目に指定されたドメインにリダイレクトするチェックボックスをオンにします(example.comwww.example.com を同じコンテンツにリダイレクトします)。

  4. [続行] をクリックして検証プロセスを開始します。

ステップ 2: ドメインの所有権を確認する

[ドメインを接続] 設定ウィザードで要求された場合は、apex ドメインを確認します。

以下の手順により、ドメインが Firebase プロジェクトにリンクされていないことと、指定したドメインを自分が所有していることを確認できます。

  1. ドメイン プロバイダのサイトで、DNS 管理ページを探します。

  2. 次のように入力して、新しいレコードを追加して保存します。

    • タイプ: TXT レコードを追加します。

      Firebase Hosting では、ドメインの所有者であることを証明し、サイトの SSL 証明書の割り当てと更新を Firebase で承認するために、この TXT レコードを常に DNS 設定で保持する必要があります。

      ドメイン プロバイダによっては、「レコードタイプ」といった用語を使用している場合があります。

    • ホスト: Apex ドメインキーを入力します。

      Apex ドメインまたはルートドメインの所有者であることと、そのすべてのサブドメインの所有権があることを証明します。

      ドメイン プロバイダによっては、「ホスト名」、「名前」、「ドメイン」といった用語を使用している場合があります。

    • : 一意の検証値をフィールドにコピーします。

      Firebase Hosting はこの値をチェックして、ドメインの所有権であることを証明します。

      ドメイン プロバイダによっては、「データ」といった用語を使用している場合があります。

  3. 更新された TXT レコードが伝播されるまで最長で 24 時間かかります。伝播されたら、[確認] をクリックします。

    [キャンセル] をクリックして [ドメインを接続] ウィンドウを安全に閉じ、後で再度開くことができます。この操作はレコードの伝播時間に影響しませんが、ウィンドウを再度開くときにドメイン名の再入力が要求されます。

    伝播するのに十分な時間が経過したら、Firebase コンソールの [ドメインを接続] ウィンドウで [確認] をクリックして、SSL 証明書のプロビジョニング プロセスを開始できます。

    ほとんどの場合、レコードの伝播とドメインの検証は数時間以内に行われます(ドメイン プロバイダによって異なります)。TXT レコードを追加するための詳細な手順と伝播時間については、ドメイン プロバイダのドキュメントをご覧ください。

    [確認] をクリックしてエラー メッセージが表示される場合は、レコードが完全に伝播されていないか、値が正しくありません。

ステップ 3: 運用を開始する

Firebase コンソールの [ドメインを接続] ウィンドウで、新しいサイトの [クイック セットアップ] を選択します。すでに別のホスティング プロバイダで稼働しているサイトがあり、ゼロ ダウンタイム移行が必要な場合は、[詳細設定] を選択します。

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

ドメイン所有権の確認が済むと、ドメインの SSL 証明書がプロビジョニングされ、DNS A レコードが Firebase Hosting を指すようになってから 24 時間以内に、グローバル CDN にデプロイされます。

ドメインは、FirebaseApp SSL 証明書にサブジェクト代替名(SAN)の 1 つとして表示されます。この証明書はブラウザのセキュリティ ツールを使って表示できます。ドメインのプロビジョニング中は、ドメイン名が記載されていない無効な証明書が表示されることがあります。これは、通常プロセスの一部であり、ドメインの証明書が入手可能になると解決します。

詳細設定の場合、プロジェクトの Firebase Hosting ページ設定ステータスが [接続されています] に更新されるまで、ウェブサイトは以前のホスティング プロバイダでホストされます。

カスタム ドメインキー

DNS レコードの追加または編集時に DNS 管理サイト内の [ホスト] フィールドに入力する値は、ドメイン プロバイダごとに異なります。以下に、よく利用されるプロバイダの一般的な入力情報をまとめました。詳細な手順については、ドメイン プロバイダのドキュメントをご覧ください。

ドメインのタイプ カスタム ドメインキー
Apex ドメイン

一般的な入力情報:

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

一般的な入力情報:

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

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

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

カスタム ドメインのステータスの説明を設定する

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

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

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

  • ごくまれに、特に詳細設定のフローを使用している場合は、以下の理由で SSL チャレンジが失敗する可能性があります。

    • DNS レコードに、他のホスティング プロバイダを指す A レコードまたは CNAME レコードがあります。
      トラブルシューティングのヒント: A レコードが Firebase Hosting のみを指していることを確認し、すべての CNAME レコードを削除します。
    • 移行が失敗し、トークン(サイトに提供された DNS TXT レコードまたはアップロードされたファイル)が無効になりました。
      トラブルシューティングのヒント: ドメインの [表示] をクリックしてから、既存のドメインに新しいトークンを入力します。
保留中

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

たまに次の問題によって、カスタム ドメインの SSL 証明書の作成が滞ることがあります。

  • CAA レコードの制限が厳しすぎます。
    トラブルシューティングのヒント: 認証局「letsencrypt.org」と「pki.goog」で、ドメインでの SSL 証明書の作成が許可されていることを確認してください。
  • チャレンジ コードが無効です。
    詳細設定のフローを使用していて、移行に失敗した場合、トークン(およびそのチャレンジ コード)は無効になります。
    トラブルシューティングのヒント: ドメインの [表示] をクリックしてから、既存のドメインに新しいトークンを入力します。
  • リクエストした証明書のサブドメイン数が多すぎます。
    トラブルシューティングのヒント: SSL 証明書の作成制限により、Firebase Hosting では一般に、1 つの Apex カスタム ドメインあたりのサブドメイン数を 20 以下にすることが推奨されます。
接続されています

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

再確認が必要です

Firebase では、最初にドメインの所有権を証明した際に追加した TXT レコードがドメインの DNS 設定から変更または削除された場合、ドメインの所有権を手動で再確認する必要が生じることがあります。

  • google-site-verification トークンを使用する複数の TXT レコードが 1 つのドメインで許可されることに注意してください。
  • TXT レコードはドメインの所有者であることを証明し、サイトの SSL 証明書の割り当てと更新を Google が行うことを承認するものであるため、常に DNS 設定に保持しておく必要があります。
トラブルシューティングのヒント: プロジェクトの [Hosting] ページにアクセスし、指定された期間内(通常 30 日間)に再確認の手続きを完了して、Firebase Hosting からカスタム ドメインが自動的に接続解除されないようにします。