さくらのレンタルサーバで使うDNSレコードを搦め手的に編集する

投稿日:

さくらのレンタルサーバに独自ドメインを追加する際は、基本的にはさくらインターネットの権威ネームサーバにDNSゾーンを委譲することになる(* 管理事業者の「移管」とは異なる)。

しかしこの形でレンタルサーバのコンパネからドメインを追加すると、自分でDNSのリソースレコードを編集することが出来ない。このため、例えば「TXTレコードの追加によるドメイン認証」などができない。

screenshot_rs-cp.pngのサムネイル画像

この制限をどうにか迂回する方法を考える。

Symptom

  • さくらのレンタルサーバを利用している
  • 独自ドメインを(管理事業者を移管せずゾーン委譲のみで)使いたい
  • DNSのレコードを自由に編集したい(TXTレコードの追加とか)

Resolution

方法1: ネームサーバサービスの無料ゾーンを利用する

「さくらのVPS」などを別途借りている場合無料で5ゾーンぶんのネームサーバサービス(ドメインコントロールパネル)が付与されている。そしてレンタルサーバのコンパネのドメイン追加画面では、ドメインコントロールパネルに登録されたゾーンを指定することができる。

つまり以下の方法を取ることで、独自ドメインの自由なDNSレコード編集とレンタルサーバでの利用を両立することができる。なお既にレンサバにドメインを追加している場合は、一旦削除する必要がある。

  1. 通常通り、利用したいドメインをさくらインターネットの権威ネームサーバに委譲
    (ドメイン取得元で ns1.dns.ne.jp, ns2.dns.ne.jp にゾーン委譲する)
  2. ドメインコントロールパネルに委譲したドメインを登録
  3. ドメインコントロールパネル上で好きなようにレコードを追加/編集
  4. ドメインを利用したいレンタルサーバのコンパネから、先ほどドメインコントロールパネルに登録したドメインを追加する(先ほど登録したゾーンが「ドメインの追加」の選択肢に自動的に表示される)
    screenshot_rs-cp2.png

方法2: 通常通りレンサバにドメインを追加してから、勝手に委譲を解除して弄る

一度通常の方法でレンタルサーバにドメインを登録したあと、勝手にゾーン委譲を解除して、自前のネームサーバにレコードを記載していくという方法だ。

この場合は、何らかの方法でレンタルサーバのIPアドレスを追跡して、自前のネームサーバにAレコードとAAAAレコードを設定しなければいけない。 CNAMEALIAS などでレンタルサーバの初期ドメインを指すか、あるいは手書きする(IPアドレスの変更があれば自力で追跡する)ことになる。

この方法は特に検証していないが、昔やったような覚えがある。ただしざっと考えるだけで以下の制限がある

  • 必ず一度正規の方法を用い、レンタルサーバのコンパネにドメインを登録する必要がある
    • レンタルサーバにこのドメイン宛のリクエストを受け付けさせるために必要
  • Let's Encryptの証明書自動更新は多分動かないので持ち込み証明書が必要
    • acme-challengeディレクトリ見たことかないし、恐らくDNS-01チャレンジ使ってると思う

特に後者の制限はメチャメチャ痛いので、この時代にはあまりお勧めできないか。

Appendix

正直どっちも非常に面倒くさいので、素直にTXTレコードなどを用いない認証方法(認証ファイル設置とか)を用いたほうがいい。