さくらのレンタルサーバで使うDNSレコードを搦め手的に編集する
さくらのレンタルサーバに独自ドメインを追加する際は、基本的にはさくらインターネットの権威ネームサーバにDNSゾーンを委譲することになる(* 管理事業者の「移管」とは異なる)。
しかしこの形でレンタルサーバのコンパネからドメインを追加すると、自分でDNSのリソースレコードを編集することが出来ない。このため、例えば「TXTレコードの追加によるドメイン認証」などができない。
この制限をどうにか迂回する方法を考える。
Symptom
- さくらのレンタルサーバを利用している
- 独自ドメインを(管理事業者を移管せずゾーン委譲のみで)使いたい
- DNSのレコードを自由に編集したい(TXTレコードの追加とか)
Resolution
方法1: ネームサーバサービスの無料ゾーンを利用する
「さくらのVPS」などを別途借りている場合、無料で5ゾーンぶんのネームサーバサービス(ドメインコントロールパネル)が付与されている。そしてレンタルサーバのコンパネのドメイン追加画面では、ドメインコントロールパネルに登録されたゾーンを指定することができる。
つまり以下の方法を取ることで、独自ドメインの自由なDNSレコード編集とレンタルサーバでの利用を両立することができる。なお既にレンサバにドメインを追加している場合は、一旦削除する必要がある。
- 通常通り、利用したいドメインをさくらインターネットの権威ネームサーバに委譲
(ドメイン取得元で ns1.dns.ne.jp, ns2.dns.ne.jp にゾーン委譲する) - ドメインコントロールパネルに委譲したドメインを登録
- ドメインコントロールパネル上で好きなようにレコードを追加/編集
- ドメインを利用したいレンタルサーバのコンパネから、先ほどドメインコントロールパネルに登録したドメインを追加する(先ほど登録したゾーンが「ドメインの追加」の選択肢に自動的に表示される)
方法2: 通常通りレンサバにドメインを追加してから、勝手に委譲を解除して弄る
一度通常の方法でレンタルサーバにドメインを登録したあと、勝手にゾーン委譲を解除して、自前のネームサーバにレコードを記載していくという方法だ。
この場合は、何らかの方法でレンタルサーバのIPアドレスを追跡して、自前のネームサーバにAレコードとAAAAレコードを設定しなければいけない。 CNAME
や ALIAS
などでレンタルサーバの初期ドメインを指すか、あるいは手書きする(IPアドレスの変更があれば自力で追跡する)ことになる。
この方法は特に検証していないが、昔やったような覚えがある。ただしざっと考えるだけで以下の制限がある
- 必ず一度正規の方法を用い、レンタルサーバのコンパネにドメインを登録する必要がある
- レンタルサーバにこのドメイン宛のリクエストを受け付けさせるために必要
- Let's Encryptの証明書自動更新は多分動かないので持ち込み証明書が必要
- acme-challengeディレクトリ見たことかないし、恐らくDNS-01チャレンジ使ってると思う
特に後者の制限はメチャメチャ痛いので、この時代にはあまりお勧めできないか。
Appendix
正直どっちも非常に面倒くさいので、素直にTXTレコードなどを用いない認証方法(認証ファイル設置とか)を用いたほうがいい。