SRV レコードの書き方

サービスを提供するホスト名とポート番号を知らせるレコードです。

名前種別優先度重みポートターゲットTTL
_sip._tcpSRV1005060sip.example.jp.3600

名前は「_サービス名._プロトコル」の形です。値は使うサービスの案内に書かれたとおりに入れます。

入力欄

  • 名前_sip._tcp のように、サービス名とプロトコル (_tcp / _udp) をそれぞれ「_」付きで並べます。
  • 優先度小さい数字のサーバーから先に使われます。0〜65535。
  • 重み優先度が同じサーバーが複数あるときの配分比です。1 台だけなら 0 で構いません。
  • ポートサービスが待ち受けるポート番号。例: 5060。
  • ターゲットサービスを提供するホスト名。そのホスト名には A か AAAA レコードが必要です。
  • TTL通常は 3600 で足ります。

こう書く

やりたいこと名前優先度重みポートターゲット
SIP サーバーを 1 台知らせる_sip._tcp1005060sip.example.jp.
止まったときの予備を足す_sip._tcp2005060sip2.example.jp.
2 台に 6 対 4 で振り分ける_xmpp-server._tcp10605269xmpp1.example.jp.
_xmpp-server._tcp10405269xmpp2.example.jp.

TTL はすべて 3600 の例です。

間違えやすい点

  • ✕名前の「_」を付け忘れるsip.tcp では別の名前になり、サービスから見つけてもらえません。_sip._tcp と書きます。
  • ✕ターゲットに IP アドレスや CNAME の名前を書くターゲットは A か AAAA を持つホスト名です。IP アドレスや、CNAME を置いた名前は使えません。
  • ✕ターゲットのホスト名を用意していないsip.example.jp に A レコードが無いと、SRV だけあっても接続できません。

設定後の確認

コマンドで問い合わせると、優先度・重み・ポート・ターゲットの順に返ります。

dig _sip._tcp.example.jp SRV +short
10 0 5060 sip.example.jp.

ターゲットの A / AAAA は DNS 反映チェックで確認できます。

よくある質問

どんなときに SRV を作りますか?

IP 電話 (SIP) やチャット (XMPP) など、利用するサービスの案内に SRV の指定があるときだけ作ります。Web サイトの表示には使いません。

優先度と重みはどう違いますか?

優先度は使う順番、重みは同じ順番の中での配分です。優先度 10 がすべて止まったときに、優先度 20 が使われます。