はじめに
このブログも運営を続けて2年半が経った。これまで GitHub Pages という無料ホスティングサービスで github.io というドメインを使用していた。ただ、大分続いているのでサービスに依存しない独自ドメインが欲しくなった。カスタムドメインを導入するなら今かもしれない。
カスタムドメイン導入の判断
カスタムドメインを持つことのメリットは大きい。サービスを乗り換えてもドメイン URL は変わらないため、検索エンジンのランクやリンクが失われない。また、メールアドレスや SNS アカウント、その他のサービスでも同じドメインを使うことができる。
一方、デメリットは年間で 10~20 ドル程度のコストがかかることだ。ただ、ブログの更新頻度と今後の利便性を考えると十分に元が取れると判断した。
ドメインの購入:Cloudflare
ドメインレジストラはいくつかあるが、Cloudflare を選んだ。DNS 設定も一括で管理できるため、後の設定が簡単だ。
.com や .net などいくつか候補を検討したが、.net が空いていたため購入した。

DNS 設定:技術的な詳細
DNS(Domain Name System)は、ドメイン名(example.net など)を IP アドレス(サーバーの住所のようなもの)に変換するシステムらしい。DNS を設定することで、「このドメインがどのサーバーを指すのか」を指定する。
GitHub Pages では、複数の IP アドレスが用意されている。Aレコード(IP アドレスを指定するレコード)に以下の 4 つをすべて追加する必要がある。複数指定することで負荷分散と冗長性を確保している。
185.199.108.153185.199.109.153185.199.110.153185.199.111.153
さらに、www.example.net でアクセスされた場合に example.net へ自動リダイレクトするため、CNAME レコード(別名を指定するレコード)も設定する。CNAME を設定することで、www 付きのドメインでのアクセスが自動的にメインドメインに向かう。

GitHub での設定
DNS 設定が完了したら、GitHub 上でドメインを登録する。
- リポジトリの Settings を開く
- 左メニューから Pages を選択
- Custom domain の入力欄にドメイン名を入力(例:
example.net) - Save をクリック
Enforce HTTPSというチェックボックスが押せたら押す。有効にするにはDNS設定でCloudflareのプロキシを外さないといけない。HTTPS(暗号化通信)を強制することで、訪問者は常に安全な通信でサイトにアクセスできるらしい。

おわりに
カスタムドメインの設定は思ったより簡単だった。DNS 設定と GitHub への登録を行うだけで、自分のドメイン名でブログを運営できるようになった。今後、ブログがさらに成長していく基盤ができた。