Cloud Run と Value Domain で Docusaurus サイトにカスタムドメインを設定する手順
· 約6分
この記事では、Google Cloud Run でホスティングしている 当サイト(Docusaurus)に、Value Domain で取得したカスタムドメイン hkdocs.com
を設定した際の手順を整理します。
前提環境:
- ドメイン:
hkdocs.com
(Value Domain で取得済み) - ホスティング: Google Cloud Run
- サイトジェネレーター: Docusaurus
1. Docusaurus 設定ファイルの更新
まず、Docusaurus サイトが新しいドメイン hkdocs.com
を認識するように設定ファイルを変更します。
- Docusaurus プロジェクト内の
docusaurus.config.ts
(または.js
) ファイルを開きます。 url
プロパティを、https://hkdocs.com/
に変更します。// docusaurus.config.ts
const config: Config = {
// ...
url: 'https://hkdocs.com/', // ここを実際のドメインに変更
baseUrl: '/',
// organizationName や projectName も適切に設定
// ...
};organizationName
(例:hiroaki-com
) やprojectName
(例:hkdocs
) が、GitHub リポジトリのeditUrl
と整合性が取れるように正しく設定されているか確認します。- ファイルを保存します。
2. Cloud Run でのカスタムドメインマッピング開始
次に、Google Cloud Console で Cloud Run サービスに hkdocs.com
を紐付ける設定を開始します。
- Google Cloud Console にログインし、
hkdocs.com
をホストする Cloud Run サービスを選択します。 - 「カスタムドメインをマッピング」 (または類似のメニュー) を選択し、「マッピングを追加」をクリックします。
- 「ドメインを入力」フィールドに、
hkdocs.com
と入力し、「続行」します。 - Cloud Run は、ドメインの所有権を確認するための TXT レコード情報を提示します。この値を正確にメモしておきます。
- 例: ホスト名
@
(またはhkdocs.com.
)、値google-site-verification=ランダムな文字列
- 例: ホスト名
3. Value Domain でのDNSレコード設定 (TXTレコード)
Value Domain の管理画面で、Cloud Run から指示されたTXTレコードを設定します。
- Value Domain コントロールパネルにログインします。
- 対象ドメイン
hkdocs.com
の「DNSレコード/URL転送の変更」画面 (またはDNS設定画面) に進みます。 - DNSレコードの入力エリアに、手順2でメモしたTXTレコード情報を追加します。
- Value Domain の書式に合わせて入力します。
- 記載例:
(
# ドメイン所有権確認用TXTレコード
txt @ google-site-verification=ランダムな文字列google-site-verification=
の値は実際に表示されたものを使用)
- DNS設定を保存します。DNSの変更がインターネット全体に反映されるまで数分~数時間待ちます。
4. Cloud Run での所有権確認とA/AAAAレコード取得
Cloud Run がTXTレコードを認識すると、次に設定すべきAレコードとAAAAレコードが表示されます。
- Google Cloud Console の Cloud Run カスタムドメインマッピング画面に戻ります。
- 所有権確認が完了すると、Cloud Run サービスへトラフィックを向けるための A レコード (IPv4アドレス) と AAAA レコード (IPv6アドレス) が複数表示されます。これらのIPアドレスをすべて正確にメモします。
- Aレコードの例 (ダミー):
198.51.100.10
,198.51.100.11
,198.51.100.12
,198.51.100.13
- AAAAレコードの例 (ダミー):
2001:db8:2::1a
,2001:db8:2::1b
,2001:db8:2::1c
,2001:db8:2::1d
(これらのIPアドレスはあくまで例であり、実際にはCloud Runから提供される固有のIPアドレスを使用してください)
- Aレコードの例 (ダミー):
5. Value Domain でのDNSレコード設定 (A/AAAAレコード)
再度 Value Domain のDNS設定画面で、取得したA/AAAAレコードを設定します。
- Value Domain の
hkdocs.com
のDNS設定画面を開きます。 - 重要:
hkdocs.com
(ホスト名@
) に設定されている既存のAレコード、AAAAレコード、またはウェブサイト用のCNAMEレコードがあれば、それらを削除するか行頭に#
をつけてコメントアウトします。これは、Cloud Run の設定と競合するのを防ぐためです。メール関連のMXレコードなどは変更しないでください。 - 手順4でメモしたAレコードとAAAAレコードを、Value Domain の書式に従って追加します。
- 記載例 (IPアドレスは手順4で取得したダミー値を実際の値に置き換えてください):
# hkdocs.com を Cloud Run に向ける設定
# A レコード (IPv4)
a @ 198.51.100.10
a @ 198.51.100.11
a @ 198.51.100.12
a @ 198.51.100.13
# AAAA レコード (IPv6)
aaaa @ 2001:db8:2::1a
aaaa @ 2001:db8:2::1b
aaaa @ 2001:db8:2::1c
aaaa @ 2001:db8:2::1d
- 記載例 (IPアドレスは手順4で取得したダミー値を実際の値に置き換えてください):
- DNS設定を保存します。DNSの変更が反映されるまで待ちます。
6. Cloud Run での最終確認とSSL証明書発行
Cloud Run が新しいDNS設定を認識し、SSL証明書を発行するのを確認します。
- Google Cloud Console の Cloud Run カスタムドメインマッピング画面で、
hkdocs.com
のステータスが「有効」になり、SSL証明書が発行されていることを確認します。これには少し時間がかかる場合があります。
7. Docusaurus サイトの再ビルドとデプロイ
Docusaurus の設定変更を反映させるため、サイトを再ビルドし、Cloud Run にデプロイします。
- ローカルのターミナルで、Docusaurus プロジェクトのルートディレクトリに移動します。
- ビルドコマンドを実行します (例:
pnpm build
,npm run build
,yarn build
)。 - ビルドされた静的ファイルを、Cloud Run サービスにデプロイします。
8. 動作確認
最後に、設定したカスタムドメイン https://hkdocs.com/
でサイトが正しく表示されるか確認します。
- Webブラウザで
https://hkdocs.com/
にアクセスします。 - サイトが表示され、HTTPS接続 (アドレスバーの鍵マーク) が有効であることを確認します。
- サイト内のリンクや機能が意図通りに動作するかテストします。
- 必要であれば、
https://hkdocs.com/sitemap.xml
などのSEO関連ファイルも確認します。