Firebase App Hosting にデプロイされたアプリに、ブランドを象徴する独自のドメイン名を使用する必要はありません。Firebase でホストされるサイトには、Firebase で生成されるドメインの代わりに、example.com
や app.example.com
といったカスタム ドメインを使用できます。Firebase App Hosting は、ドメインごとに SSL 証明書をプロビジョニングします。
以降では、次のいずれかの方法でカスタム ドメインを接続する手順について説明します。
サービスが中断されないようにするには、DNS レコードを特定の順序で更新する必要があります。手順に沿ってドメインを移行し、アプリのダウンタイムを防ぎます。
ウェブアプリに新しいドメインを接続する場合など、ダウンタイムが問題にならない場合は、手順に沿って新しいドメインを接続します。
始める前に: DNS レコードの種類
App Hosting [ドメインをセットアップ] ウィザードの指示に沿って、ドメインの現在の構成に応じて 1 ~ 5 個の DNS レコードを追加または削除します。レコードのType によって、その機能が決まります。App Hosting がリクエストする可能性があるレコードの種類は次のとおりです。
タイプ | 説明 | 限定公開 |
---|---|---|
A | これらのレコードには IPv4 値(8.8.8.8 など)が含まれており、ドメインへの接続時に使用するアドレスをブラウザに伝えます。 | ○ |
AAAA | これらのレコードには IPv6 値(2001:4860:4860::8888 など)が含まれます。これは、A レコードとほぼ同じ機能を備えた別のタイプのアドレスレコードです。App Hosting は現在 AAAA レコードを使用していませんが、ドメインに既存の AAAA レコードがある場合は、削除するよう求められます。 | いいえ |
CNAME | これらのレコードには、DNS クエリを解決するために現在のドメインの代わりに使用される別のドメイン名が含まれています。CNAME レコードは、サブドメイン(www.example.com など)でのみ使用できます。App Hosting は、次の 2 つの理由で CNAME レコードを使用します。
|
○ |
TXT | これらのレコードを使用すると、任意のメタデータをドメインに関連付けることができます。App Hosting を使用すると、特定の形式の TXT レコード(fah-claim=[UUID] )を使用して、ドメインで提供するカスタム ドメインを指定できます。 |
いいえ |
CAA | これらのレコードは、ドメインの SSL 証明書を作成できる認証局を指定する許可リストとして機能します。App Hosting は、ドメインの証明書の作成がブロックされている場合にのみ、CAA レコードをリクエストします。 | いいえ |
始める前に: カスタム ドメイン名
DNS レコードの追加または編集時に DNS 管理サイト内の [ホスト](または [ホスト名])フィールドに入力する値は、ドメイン プロバイダごとに異なります。App Hosting カスタム ドメイン ウィザードでは、[名前] フィールドに同じ値を入力する必要があります。
以下に、よく利用されるプロバイダの一般的な入力情報をまとめました。詳細な手順については、ドメイン プロバイダのドキュメントをご覧ください。
ドメイン タイプ | カスタム ドメイン名 |
---|---|
Apex ドメイン |
一般的な入力情報:
|
サブドメイン | 一般的な入力情報:
|
一般的なドメイン プロバイダ
一般的なドメイン プロバイダと、それぞれに必要な入力の種類は次のとおりです。この情報は可能な限り最新の状態に保たれますが、詳しい手順についてはドメイン プロバイダのドキュメントをご覧ください。
Cloudflare
ホスト | 入力 |
---|---|
example.com. | @ |
www.example.com. | www |
Google Cloud DNS
ホスト | 入力 |
---|---|
example.com. | .example.com. |
www.example.com. | www.example.com. |
NameCheap
ホスト | 入力 |
---|---|
example.com. | @ |
www.example.com. | www |
Squarespace
ホスト | 入力 |
---|---|
example.com. | @ |
www.example.com. | www |
ドメインを移行
アプリのダウンタイムなしでサービスを中断しないようにするには、DNS レコードを特定の順序で設定する必要があります。ドメインを追加したら、まず DNS レコードを確認するプロセスを行います。その後、もう 1 つの確認手順を実行して、ライブ リクエストを App Hosting に転送します。
ステップ 1: カスタム ドメインを追加する
- プロジェクトの App Hosting ページを開きます。
- [ダッシュボードを表示] オプションを使用して、App Hosting バックエンドを選択します。
- [設定] タブを選択し、[カスタム ドメインを追加] をクリックします。
- App Hosting サイトに接続するカスタム ドメイン名を入力します。
- (省略可)カスタム ドメインのすべてのリクエストを 2 番目に指定されたドメインにリダイレクトするチェックボックスをオンにします(
example.com
やwww.example.com
を同じコンテンツにリダイレクトします)。 - [設定を続行] をクリックして DNS レコードを構成し、カスタム ドメインの設定を完了します。
ステップ 2: DNS レコードを確認する
- 1. Firebase コンソールの [ドメインを移行] ウィザードに、ページが Firebase App Hosting を指すように更新する必要があるレコードが表示されます。必要なレコードに次の入力を行い、DNS プロバイダでドメインに対するレコードの追加、削除、保存を実行します。
- 名前: レコードのカスタム ドメイン名を入力します。ホストには、コンテンツを提供するドメイン(Apex ドメインまたはサブドメイン)を指定します。ドメイン プロバイダによっては、「ホスト名」、「名前」、「ドメイン」といった用語を使用している場合があります。
- レコードタイプ: 指定した DNS レコードを追加します。
- 値: 指定された値をレコードに割り当てます。ドメイン プロバイダによっては、「データ」、「ポイント」、「コンテンツ」、「アドレス」、「IP アドレス」といった用語を使用している場合があります。value フィールドの内容はレコードタイプによって異なります。A レコードと AAAA レコードでは値として IP アドレスが使用されますが、TXT レコードでは文字列が使用されます。
- [レコードを確認] を選択します。App Hosting は、ドメイン プロバイダで行った変更を検出しようとします。変更が反映されるまでに、最長で 24 時間かかることがあります。ステータスは、バックエンド ダッシュボードの [設定 > ドメイン] ビューで確認できます。
ステップ 3: App Hosting に誘導する
- App Hosting がレコードの更新を確認すると、[App Hosting に転送] ダイアログに、ドメインを App Hosting に転送するために更新する必要がある最終的なレコードが表示されます。前述と同様に、必要なレコードに次の入力を行い、DNS プロバイダでドメインに対するレコードの追加、削除、保存を実行します。
- 名前: レコードのカスタム ドメイン名を入力します。ホストには、コンテンツを提供するドメイン(Apex ドメインまたはサブドメイン)を指定します。ドメイン プロバイダによっては、「ホスト名」、「名前」、「ドメイン」といった用語を使用している場合があります。
- レコードタイプ: 指定した DNS レコードを追加します。
- 値: 指定された値をレコードに割り当てます。ドメイン プロバイダによっては、「データ」、「ポイント」、「コンテンツ」、「アドレス」、「IP アドレス」といった用語を使用している場合があります。value フィールドの内容はレコードタイプによって異なります。A レコードと AAAA レコードでは値として IP アドレスが使用されますが、TXT レコードでは文字列が使用されます。
- [レコードを確認] を選択します。App Hosting は、ドメイン プロバイダで行った変更を検出しようとします。変更が反映されるまでに、最長で 24 時間かかることがあります。ステータスは、バックエンド ダッシュボードの [設定 > ドメイン] ビューで確認できます。
新しいドメインを接続する
ウェブアプリに新しいドメインを接続する場合など、ダウンタイムが問題にならない場合は、このセクションの手順に沿って操作してください。
ステップ 1: カスタム ドメインを追加する
- プロジェクトの App Hosting ページを開きます。
- [ダッシュボードを表示] オプションを使用して、App Hosting バックエンドを選択します。
- [設定] タブを選択し、[カスタム ドメインを追加] をクリックします。
- App Hosting サイトに接続するカスタム ドメイン名を入力します。
- (省略可)カスタム ドメインのすべてのリクエストを 2 番目に指定されたドメインにリダイレクトするチェックボックスをオンにします(
example.com
やwww.example.com
を同じコンテンツにリダイレクトします)。 - [設定を続行] をクリックして DNS レコードを構成し、カスタム ドメインの設定を完了します。
ステップ 2: DNS レコードを確認する
- Firebase コンソールの [ドメインを設定] ウィザードに、ページが Firebase App Hosting を指すように更新する必要があるレコードが表示されます。次の入力を使用して、DNS プロバイダでドメインに対するレコードの追加、削除、保存を実行します。
- 名前: レコードのカスタム ドメイン名を入力します。ホストには、コンテンツを提供するドメイン(Apex ドメインまたはサブドメイン)を指定します。ドメイン プロバイダによっては、「ホスト名」、「名前」、「ドメイン」といった用語を使用している場合があります。
- レコードタイプ: 指定した DNS レコードを追加します。
- 値: 指定された値をレコードに割り当てます。ドメイン プロバイダによっては、「データ」、「ポイント」、「コンテンツ」、「アドレス」、「IP アドレス」といった用語を使用している場合があります。value フィールドの内容はレコードタイプによって異なります。A レコードと AAAA レコードでは値として IP アドレスが使用されますが、TXT レコードでは文字列が使用されます。
- [レコードを確認] を選択します。App Hosting は、ドメイン プロバイダで行った変更を検出しようとします。変更が反映されるまでに、最長で 24 時間かかることがあります。ステータスは、バックエンド ダッシュボードの [設定 > ドメイン] ビューで確認できます。
SSL 証明書のプロビジョニングを待機する
App Hosting DNS レコードを更新した後、ドメインの SSL 証明書のプロビジョニングが完了するまでに最大で数時間かかることがあります。DNS が Firebase App Hosting を指定するよう設定してから、最大で 24 時間かかる場合があります。
この証明書はブラウザのセキュリティ ツールを使って表示できます。ドメインのプロビジョニング中は、無効な証明書が表示されたり、ドメインへの接続に問題が発生したりすることがあります。これは、通常プロセスの一部であり、ドメインの証明書が入手可能になると解決します。
注: Firebase App Hosting は、必要に応じてカスタム ドメインの SSL 証明書を自動的に再プロビジョニングします。
カスタム ドメインのステータスの説明
ステータス | 説明 |
---|---|
設定が必要です |
DNS レコードを使った構成の変更が必要な場合があります。
|
保留中 | カスタム ドメインを正しく設定しましたが、Firebase App Hosting は SSL 証明書をプロビジョニングしていません。 過度に制限された CAA レコードによって、カスタム ドメインの SSL 証明書の作成が停止することがあります。認証局「letsencrypt.org」と「pki.goog」で、ドメインでの SSL 証明書の作成が許可されていることを確認してください。 |
証明書を作成中 | ドメインの SSL 証明書を作成しています。 |
接続済み | カスタム ドメインには適切な DNS レコードがあり、SSL 証明書があります。 |