Google Domainsで取得したドメインをGitHub Pagesでホストしたサイトに割り当てる
はじめに
タイトル通りのことをやります。
ホストしているリポジトリが{username}.github.io
でもそうでない場合でも手順は変わりません。
またホストしているリポジトリがfoo
とbar
など複数あったとして、foo
リポジトリに独自ドメインを割り当ててもbar
には今まで通りのURL({username}.github.io/bar
)でアクセスできます。
ドメインを購入
Googleアカウントが必要です。ここではfoo.com
ドメインを購入したとします。
- Google Domains: https://domains.google
ドメイン割り当て
以下のページにアクセスし、左メニューのマイドメイン
からfoo.com
を選択します。
左メニューのDNS
を選択し、カスタムリソースレコードの設定を行います。
ここからApexドメイン(foo.com
)を割り当てるか、サブドメイン(bar.foo.com
)を割り当てるかで分岐します。お好みのほうをどうぞ。
Apexドメインの場合
まずgithub.io
のIPアドレスを調べます。
$ dig github.io
; <<>> DiG 9.16.1-Ubuntu <<>> github.io
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 45149
;; flags: qr rd ad; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 0
;; WARNING: recursion requested but not available
;; QUESTION SECTION:
;github.io. IN A
;; ANSWER SECTION:
github.io. 0 IN A 185.199.109.153
github.io. 0 IN A 185.199.110.153
github.io. 0 IN A 185.199.111.153
github.io. 0 IN A 185.199.108.153
;; Query time: 180 msec
;; SERVER: 172.18.176.1#53(172.18.176.1)
;; WHEN: Fri Nov 25 21:03:26 JST 2022
;; MSG SIZE rcvd: 100
ANSER SECTION
に出力されているIPアドレスをすべて控えておきます。
Google Domainsのページに戻り、カスタムレコードの入力項目を以下のように設定します。
- ホスト名 : (無記入)
- タイプ :
A
- TTL : (そのままでOK)
- データ : (先程のIPアドレスすべて)
ホストしているGitHubリポジトリのページに行き、Settings
-> Pages
からCustom domain
のフォームにfoo.com
と入力します。
この際、GitHub Pages公開対象のブランチのディレクトリ以下に、入力したドメインが記載されたCNAME
ファイルが自動作成されます。
foo.com
サブドメインの場合
ここではサブドメインをbar
としています。お好みの英数字文字列をどうぞ。
Apexドメインの場合とは違い、IPアドレスを調べる必要はありません。
カスタムレコードの入力項目を以下のように設定します。
- ホスト名 :
bar
- サブドメイン名だけでOK。
- タイプ :
CNAME
- TTL : (そのままでOK)
- データ :
{username}.github.io
ホストしているGitHubリポジトリのページに行き、Settings
-> Pages
からCustom domain
のフォームにbar.foo.com
と入力します。
この際、GitHub Pages公開対象のブランチのディレクトリ以下に、入力したドメインが記載されたCNAME
ファイルが自動作成されます。
bar.foo.com
おわり
数時間以内には割り当てたドメインであなたのサイトにアクセスできるでしょう。
おまけ
GitHub Pagesデプロイの自動化には、peaceiris/actions-gh-pagesが便利です。
使い方はGetting startedを見ればだいたいわかります(注意 : CNAME
ファイルがデプロイ先のディレクトリに含まれるようにしましょう。)