使い方
「サブドメインって何?」というところから、 実際に自分のサイトを繋ぐまでを順に説明します。
1. そもそも何ができるのか
このサービスは「名前」を配っています。 サーバーやサイトそのものを提供するわけではありません。
たとえばあなたが自宅のパソコンでサイトを動かしているとします。 そのままだと 203.0.113.10 のような数字でしか アクセスできません。覚えられませんし、人にも伝えにくい。
ここで myhome.byrua.site という名前をもらって、 「この名前は 203.0.113.10 のことですよ」と登録しておけば、 誰でも名前でアクセスできるようになります。
この「名前 → 実体」の対応表が DNS です。 このサービスがやっているのは、その対応表にあなたの行を1つ足すことだけです。
名前を登録しても、接続先のサーバーは自分で用意する必要があります。 名前だけあってもサイトは表示されません。 「どこに繋ぐか」が先に決まっていて、そこに名前を付けるのがこのサービスです。
2. はじめかた(3ステップ)
ステップ1:ログイン
ログインからGoogleアカウントでログインします。 パスワードの登録はありません。
ステップ2:利用規約に同意
初回ログイン時に同意画面が出ます。フィッシングやマルウェア配布に使うと即座に永久停止になります。 そこだけは本当に厳しく運用しますので、目を通してください。
ステップ3:サブドメインを作る
マイページの「新しく作成する」に入力します。
| サブドメイン名 | 欲しい名前。myhome と入れれば myhome.byrua.site になります。 3〜32文字の英小文字・数字・ハイフン。 |
|---|---|
| 最初のレコード | 接続先の種類。迷ったら次の章を読んでください。あとから追加・変更できます。 |
| 向き先 | 接続先のIPアドレス、またはホスト名。 |
名前を入力すると、その場で「取得できます / できません」が表示されます。 早い者勝ちなので、決めたら早めに押さえてください。
3. レコードの種類を選ぶ
4種類あります。ほとんどの場合 A か CNAME です。
A ── IPアドレスを指す
接続先がIPアドレス(数字)で分かっているときに使います。 自宅サーバー、VPS、レンタルサーバーなど。
A 203.0.113.10
複数登録すると、アクセスが自動的に振り分けられます(負荷分散)。
AAAA ── IPv6アドレスを指す
Aと同じですが、IPv6用です。2001:db8::1 のようにコロンが並ぶ形式のとき。 IPv4とIPv6の両方があるなら、A と AAAA を両方登録して構いません。
CNAME ── 別の名前を指す
接続先がホスト名で示されているときに使います。 Cloudflare Pages、Vercel、Netlify、GitHub Pages など、 ホスティングサービスは大抵こちらです。
CNAME your-site.pages.dev
- URLではなくホスト名を入れます。
https://やその後ろのパスは書きません。
✕ https://your-site.pages.dev/
○ your-site.pages.dev - 同じ名前に他のレコードを併用できません。DNSの仕様なので、このサービス側では変更できません。
TXT ── 文字列を置く
外部サービスに「このドメインは自分のものです」と証明するときによく使われます。 サービス側から指定された文字列をそのまま貼り付けます。
TXT google-site-verification=xxxxxxxxxx
4. やりたいこと別の設定例
自宅のパソコン / Raspberry Pi を公開したい
- 自分のグローバルIPアドレスを調べます (「確認くん」などのサイトで見られます)
- A レコードにそのIPを設定
- ルーターでポート転送(80番・443番)を設定
自宅の回線はIPアドレスが変わることがあります。 その場合はDDNSを使ってください。
Cloudflare Pages / Vercel / Netlify のサイトを繋ぎたい
- CNAME レコードに、そのサービスから指定された ホスト名を設定
- サービス側にも「独自ドメイン」として あなたの名前.byrua.site を登録します
VPS で動かしているアプリを繋ぎたい
A レコードにVPSのIPアドレスを設定します。 そのうえで、サーバー側(nginx / Caddy / Apache など)で そのホスト名を受け付ける設定が必要です。
Minecraft サーバーを繋ぎたい
A レコードにサーバーのIPアドレスを設定します。 接続時は あなたの名前.byrua.site:25565 のように ポート番号を付けて入力してもらいます。
ポート番号をDNS側で省略させる(SRVレコード)には対応していません。
サービスの所有権を確認したい
Google Search Console などから指定された文字列を、TXT レコードに設定します。 「_なんとか という名前に置いてください」と言われた場合は、 次の章を読んでください。
5. サブドメインの配下を使う
取得したサブドメインの配下は自由に使えます。 レコード追加時の「名前」欄に入力すると、その分だけ階層が深くなります。
| 名前欄 | 実際のホスト名 |
|---|---|
| (空欄) | myhome.byrua.site |
| www | www.myhome.byrua.site |
| api | api.myhome.byrua.site |
| _acme-challenge | _acme-challenge.myhome.byrua.site |
| * | 何でも.myhome.byrua.site(ワイルドカード) |
配下には制限をかけていません。アンダースコアで始まる名前も、階層を重ねた名前も使えます。 あなたが取得したサブドメインは、あなたのものだからです。
一方、◯◯.byrua.site の直下(サブドメイン名そのもの)は 全利用者の共有スペースなので、予約語などの制限があります。
6. SSL証明書(https)を使う
https:// でアクセスできるようにするには、 SSL証明書が必要です。取り方は2通りあります。
方法1:ホスティングサービスに任せる(おすすめ)
Cloudflare Pages、Vercel、Netlify などは、 独自ドメインを登録すると証明書を自動で用意してくれます。 CNAMEを設定してサービス側に登録するだけで、何もしなくてもhttpsになります。
方法2:自分で取る(Let's Encrypt)
自宅サーバーやVPSの場合、Let's Encrypt で無料の証明書を取れます。 ポート80が開いていれば、certbot などが自動で処理します。
ポートが開けられない場合や、ワイルドカード証明書(*.myhome.byrua.site)が欲しい場合は、 DNS認証を使います。
- certbot などが
_acme-challengeに置く値を教えてくれます - レコード追加で、名前欄に
_acme-challenge、 種別 TXT、値に指定された文字列を設定 - 反映を待ってから、certbot 側で認証を進めます
証明書は通常90日で期限が切れます。更新のたびにこの作業が必要なので、 自動化できる仕組み(DNS APIを使うプラグイン等)は現状ありません。 手動更新になる点はご承知おきください。
7. 自宅サーバー(DDNS)
自宅の回線は、再接続のたびにIPアドレスが変わることがあります。 そのたびに手で直すのは現実的ではないので、自動更新の仕組みを用意しています。
- マイページで対象のサブドメインの「DDNSを有効にする」を押す
- 表示されたURLを控える(一度しか表示されません)
- そのURLを定期的に叩くよう設定する
# Linux / macOS で15分おきに更新する例(crontab -e) */15 * * * * curl -s "https://ここに表示されたURL" > /dev/null
ルーターにDDNS設定の項目があれば、そこにURLを入れる方法もあります。 IPアドレスが変わっていなければDNSは書き換えないので、 頻繁に叩いても問題ありません。
8. 反映されるまでの時間
設定してもすぐには反映されません。 世界中のDNSサーバーが情報を持ち回る仕組みのため、数分〜最大1時間程度かかります。
マイページの「DNS反映を確認」ボタンで、 実際に世界から見えているかを確認できます。
| ✓ | 反映完了。誰からでもアクセスできます |
|---|---|
| ◐ | 一部のDNSにだけ反映済み。もう少し待ってください |
| ✕ | まだ反映されていません |
一度アクセスした端末はしばらく古い情報を覚えています。 自分だけ繋がらない場合、端末やブラウザの再起動で直ることがあります。
9. 3個の上限と入れ替え
1アカウントにつき3個までです。 みんなが公平に使えるようにするための制限です。
4個目を作ろうとすると、どれを削除するか選ぶ画面が出ます。 削除と作成は同時に行われるので、枠だけ失うことはありません。
なお、1つのサブドメインには30件までレコードを登録できます。 配下の名前を使えば、実質的に1つの枠でかなりのことができます。
10. DNSにできないこと
ここを誤解しているとハマります。DNSは「名前と接続先の対応」だけを扱う仕組みです。
| やりたいこと | DNSでは |
|---|---|
| 別のURLへ転送(リダイレクト)したい | できません。アドレスバーの表示は変わりません。転送はWebサーバーの仕事です |
| 特定のパス(/blog)に繋ぎたい | できません。DNSにパスの概念がありません |
| ポート番号を指定したい | できません。アクセスする側が :8080 のように付ける必要があります |
| httpsを有効にしたい | DNSの仕事ではありません。証明書は接続先のサーバー側で用意します |
| メールを受け取りたい(MX) | 提供していません。スパムの温床になり、ドメイン全体が使えなくなるリスクがあるためです |
11. うまくいかないとき
「ホスト名の形式が正しくありません」と出る
CNAMEにURLを入れていませんか。https:// と末尾のスラッシュを外して、 ホスト名だけにしてください。
設定したのにサイトが表示されない
- まず「DNS反映を確認」ボタンで ✓ になっているか確認します。 ✕ ならまだ待ちの段階です
- ✓ なのに表示されない場合、原因は接続先の側にあります。 ホスティングサービスに独自ドメインを登録しましたか。 サーバーはそのホスト名を受け付ける設定になっていますか
「保護されていない通信」と出る / 証明書エラー
接続先に証明書が用意されていません。SSL証明書の章を参照してください。 DNS側では解決できません。
「CNAMEは他のレコードと同時に設定できません」と出る
DNSの仕様上の制限です。同じ名前にAとCNAMEは共存できません。 既存のレコードを削除するか、配下の別の名前を使ってください。
希望の名前が取れない
既に使われているか、運営が予約している名前です (www、mail、admin など)。 第三者の商標を含む名前も取得できません。
それでも解決しない
お問い合わせからご連絡ください。 ただし個人が無償で運営しているため、返信をお約束できません。 設定内容と、試したことを具体的に書いていただけると助かります。