DNSのSOAレコードとは何ですか?

by

最終更新日:
7 読了時間:約7分
DNSのSOAレコードとは何ですか?

主なポイント

  • DNSのSOAレコードは、IETF規格に準拠し、プライマリサーバーとセカンダリサーバー間のゾーン転送を確実に成功させるために不可欠です。
  • SOAレコードには、プライマリ・ネームサーバー、管理者の電子メールアドレス、更新時間や有効期限などの重要な情報が含まれている。
  • SOAレコードを適切に設定することで、コンプライアンス上の問題を防ぎ、DNSゾーンの整合性を確保することができます。
  • SOAレコードによって促進されるゾーン転送は、複数のサーバーにまたがるコンテンツの複製を可能にし、時間の節約と効率の向上を実現する。
  • SOAレコードをチェックするツールを活用すれば、潜在的な問題のトラブルシューティングに役立ち、DNS情報が正確で最新であることを確認できる。

SOA(Start of Authority)レコードとは、DNSゾーンの主要な管理設定(権威ネームサーバー、管理担当者、DNS更新のタイミング情報など)を格納するDNSレコードのことです。すべてのDNSゾーンには、SOAレコードが1つだけ存在しなければなりません。

SOAレコードにはどのような役割があるのでしょうか?

SOAレコードまたはStart of Authorityレコードは、管理者のメールアドレス、リフレッシュサーバーの時間枠、ドメインの更新履歴など、重要な情報を含むDNSレコードの一種です。各DNSにSOAレコードを設定することは、IETF(Internet and Engineering Task Force)の標準に沿うために重要です。

DNSのSOAレコードは、プライマリサーバーからセカンダリサーバーに送信する必要があるため、ゾーン転送を成功させるために必要です。

一般的なDNSのSOAレコードには何が含まれるのか?

標準的なDNSのSOAレコードは、次のような内容を含んでいます。

  • ドメインのプライマリネームサーバー。
  • ドメインの責任者対応。
  • 更新されたすべての内容を記録するためのタイムスタンプ。
  • ゾーンリフレッシュの残り秒数。
  • 失敗したリフレッシュを破棄するための残り秒数。
  • ゾーンがinauthoritativeとラベル付けされるまでの上限を秒数で指定します。
  • 負の結果のTTLまたはTime-to-Live。TTLとは、パケットやデータが生存している時間のことです。

SOAレコードの例

典型的なSOAレコードは、次のようなものになります:

なし

example.com.  IN  SOA  ns1.example.com. admin.example.com. (
                    2026081201 ; シリアル番号
                    3600       ; リフレッシュ
                    900        ; リトライ
                    1209600    ; 有効期限
                    86400      ; デフォルトのTTL
                    )

各値は、ゾーンをどのように管理すべきかについて、DNSサーバーにそれぞれ異なる情報を伝えます:

  • プライマリネームサーバー:ns1.example.com。このゾーンの権威あるプライマリネームサーバーを指定します。
  • DNS 管理者メールアドレス:admin.example.com。これは、DNS ゾーンの管理責任者を表します。SOA レコードでは、通常、最初のドットは @ 記号を表します。
  • シリアル番号「2026081201」は、ゾーンの現在のバージョンを識別するものです。セカンダリDNSサーバーは、この番号を用いて、更新されたコピーを取得する必要があるかどうかを判断します。
  • リフレッシュ:3600秒という値は、セカンダリサーバーに対して、ゾーンに変更があったかどうかを確認する頻度を指定します。
  • 再試行:900秒は、ゾーン転送が失敗した場合に、セカンダリサーバーが再試行を行うまでの待機時間を指定します。
  • 有効期限:1209600秒。これは、セカンダリサーバーがプライマリサーバーに接続できない場合、そのゾーンへのサービス提供を継続できる時間を決定します。
  • デフォルトのTTL:86400秒は、特定のTTLが指定されていない場合に、DNSレコードがキャッシュされるデフォルトの期間を指定します。

また、dig などのコマンドを使用する際にも、SOA レコードが表示される場合があります:

なし 
$ dig SOA example.com

example.com.  3600  IN  SOA  ns1.example.com. admin.example.com.
                               2026081201 3600 900 1209600 86400

値や書式はDNSプロバイダーによって異なる場合がありますが、7つのSOAフィールドは共通しています。

SOAレコードの構造:7つのフィールドの解説

SOAレコードには7つの主要なフィールドが含まれています。これらが連携して、DNSサーバーがゾーンの権威あるソースを特定する方法や、プライマリサーバーとセカンダリサーバー間の変更を同期させる方法を制御します。

DNS SOAレコード

フィールドその機能代表値
シリアルナンバーDNSゾーンの現在のバージョンを特定します2026081201
プライマリ・ネーム・サーバプライマリの権威ネームサーバーを特定しますns1.example.com.
DNS管理者メールアドレスDNS管理者を特定しますadmin.example.com.
リフレッシュレートセカンダリサーバーが更新を確認する頻度を指定します3600
リトライ率更新チェックの失敗時の再試行頻度を決定します900
有効期限プライマリサーバーとの通信がない状態で、セカンダリサーバーがゾーンを配信できる期間を決定します。1209600
デフォルトのTTLDNSレコードのデフォルトのキャッシュ期間を設定します86400

シリアルナンバー

これはゾーンファイルのリビジョン番号であり、ファイルが変更されるたびに変化する。この値は、行われた変更がすべてのDNSサーバーに分散されるように変更される必要があります。ほとんどのシステムで、この処理は自動的に行われます。

プライマリ・ネーム・サーバ

その名の通り、ゾーンのプライマリDNSサーバです。無効なプライマリ・ネーム・サーバを入力すると、デフォルトのものに戻ります。

DNS管理者メールアドレス

特定のDNSやゾーンファイルを管理する責任者の電子メールアドレスです。間違ったメールアドレスを入力すると、デフォルトのメールアドレスに戻ります。

リフレッシュレート

リフレッシュレートは、セカンダリサーバーがプライマリDNSのSOAレコードに更新を問い合わせるまでの時間(秒)です。リフレッシュレートは、1200秒から43,200秒の間で変化します。

リトライ率

再試行率は、失敗したゾーン転送を再試行する前にセカンダリサーバーが待機する 時間(秒)である。一般に、リフレッシュレートは再試行レートよりも大きく、デフォルトは1800秒である。しかし、180秒から2,419,200秒の間で変化させることができます。

有効期限

これは、セカンダリサーバーがゾーン転送を完了しようとする時間(秒)である。ゾーン転送が完了する前にこの時間が経過すると、そのゾーンファイルも期限切れになります。セカンダリーサーバーはデータが古いと認識し、問い合わせに応答しなくなります。デフォルトの有効期限は1,209,600秒です。

デフォルトのTTL

TTLとはTime-to-Liveの略で、パケットやデータが生きている時間のことです。他のサーバーはこの値を使って、キャッシュにデータを保存しておく期間を知ることができます。デフォルト値は、3,600秒または1時間です。

なぜSOAレコードが必要なのでしょうか?(必須なのでしょうか?)

DNS SOAレコードは、お客様のゾーンに関する詳細を保持します。DNSネームサーバーは通常クラスターで設定され、データベースは内部ゾーン転送を使用して同期されます。SOAレコードのないゾーンは、IETFのプロトコルに準拠しておらず、ゾーン転送は不可能です。したがって、ITを駆使する企業経営者は、DNSのSOAレコードとは何かを知っておく必要があります。

すべてのDNSゾーンには、必ず1つのSOAレコードが必要です。有効なSOAレコードがないゾーンは、DNSゾーンが正常に機能するための基本要件を満たしておらず、確実に解決されない可能性があります。

SOAレコードはどのように機能するのか?

DNSは階層構造に従って動作する分散型システムです。したがって、ネームサーバーはすべてのゾーンファイルを管理することで、特定のゾーンに割り当てられたサーバーに情報を提供します。これらのゾーンファイルは、すべてのDNSレコードに関する詳細を含む単純なテキストファイルです。これらのレコードは、責任を解決するために適切なサーバーが要求されたかどうかなど、さまざまな問題に関する情報を提供します。

DNSのSOAレコードは、サーバークラスタにおいて、リクエストを機器間で分散させるために必要です。これにより、特定のサーバーに負荷がかかりすぎてシステム障害が発生することを防ぐことができる。

ゾーン転送は、関係するすべてのサーバー上でゾーンファイルが有効であるために 定期的に実行されなければならない。しかし、スレーブ(階層の下位に位置するサーバー)はマスターサーバー(特定のドメインで権威あるマップを維持する単一ホスト)と同時でなければならない。

これは、ゾーン転送がどのように実行され、規制されるべきかを 指示するものである。このように、DNS SOAレコードはあらゆる種類の情報を受け取ります。

DNSにおけるゾーン転送とは何ですか?

SOAレコードの仕組みを理解するためには、DNSにおけるゾーン転送とは何かを知っておく必要があります。

ゾーン転送とは、プライマリーサーバー上の任意のゾーンの内容を、DNSサーバー間で複製することです。これにより、複数のサーバーで情報を編集する必要がなくなります。つまり、メインサーバーで情報を編集し、他のサーバーにコピーすることで、時間と手間を省くことができます。

SOAレコードの確認方法

特別なツールやウェブサービスを使用して、ウェブサイトのDNS SOAレコードを確認することができます。関連するドメインを入力するだけで、次のページで「A」レコードが表示されます。該当するフィールドで「SOA」を選択すると、レコードを確認することができます。

パブリックDNSでは、DNSでさらに効率的な接続を確立することさえ可能ですが、限られたリソースしかこれを提供しません。DNSで受信した情報は発信元から流れ、セキュリティプロトコルは理論上操作できない。

このタイプのSOAレコードチェックのリクエストは、「質問と回答」形式で行われます。マスターサーバー、管理者のメールアドレス、時間指定などを求めることができます。

PowerDMARCプラットフォームにサインアップすると、SOAレコード検索ツールを使ってSOAレコードを検証することができます。このプロセスは瞬時にして正確であり、レコードのエラーを強調する結果で、問題のトラブルシューティングを迅速に行うことができます!

また、dig や nslookup を使用して、コマンドラインから直接 SOA レコードを確認することもできます。

なし 
dig SOA yourdomain.com

あるいは:

なし
nslookup -type=SOA yourdomain.com

出力には、そのドメインの権威ネームサーバー、管理担当者、シリアル番号、更新間隔、再試行間隔、有効期限、およびデフォルトのTTLが表示されます。

DNS情報をより簡単に確認するには、PowerDMARCのSPFレコード検索機能を利用することもできます。

SOAレコードと電子メール認証

DNS SOAレコード

SOAレコード自体は電子メールの認証を行いませんが、SPF、DKIM、DMARCレコードも含まれるDNSゾーンに属しています。したがって、これらの認証レコードの変更は、それらが公開されているDNSゾーンの状態や動作に依存します。

SOAレコードには、DNSサーバーが使用するタイミング情報も含まれており、特にゾーン転送や同期に利用されます。これは、個々のSPF、DKIM、またはDMARCレコードに設定されるTTLとは別のものであり、TTLはそれらのレコードがキャッシュされる期間を制御するものです。

したがって、SOAレコードを理解しておくことは、メール認証に影響を与えるDNSの変更に関するトラブルシューティングを行う際に役立ちます。詳細については、SPFレコードおよびDMARCレコードに関するガイドをご覧ください。

よくあるご質問

SOAレコードにはどのような役割があるのでしょうか?

SOAレコードには、プライマリネームサーバー、管理者連絡先、シリアル番号、タイミング値など、DNSゾーンの中核となる管理情報が格納されています。また、セカンダリDNSサーバーが、ゾーンの変更をいつ同期させる必要があるかを判断する際にも役立ちます。

SOAレコードは必須ですか?

はい。すべてのDNSゾーンには、その権威DNS情報の一部として、SOAレコードが1つだけ存在しなければなりません。有効なSOAレコードがない場合、そのゾーンは正しく設定されておらず、確実に解決されない可能性があります。

SOAレコードの例を挙げていただけますか?

はい。一般的なSOAレコードには、プライマリネームサーバー、管理者のメールアドレス、シリアル番号、リフレッシュ、リトライ、有効期限、およびデフォルトのTTL値が含まれます。完全な例については、上記の「SOAレコードの例」のセクションをご覧ください。

SOAレコードはどのように確認すればよいですか?

コマンドラインから「dig SOA yourdomain.com」または「nslookup -type=SOA yourdomain.com」を実行して、このレコードを取得できます。また、オンラインのSOA検索ツールを使用すれば、コマンドラインでのクエリを実行せずにレコードを確認することもできます。

SOAのシリアル番号が更新されなかった場合はどうなりますか?

セカンダリDNSサーバーは、SOAのシリアル番号を用いて、ゾーンに変更があったかどうかを判断します。ゾーンの変更後にシリアル番号がインクリメントされない場合、セカンダリサーバーは更新されたデータを転送せずに、古いバージョンのゾーンを使い続けてしまう可能性があります。

SOAレコードは、SPF、DKIM、およびDMARCの伝播にどのような影響を与えますか?

SOAレコードは、DNSゾーンの管理および同期の方法を定義するのに役立ちます。一方、個々のSPF、DKIM、DMARCレコードのTTLは、それらのキャッシュを制御します。したがって、電子メール認証レコードの変更が、DNSリゾルバー全体で一貫して反映されるまでには、TTLや関連するDNSインフラストラクチャによっては時間がかかる場合があります。

最終的な感想

DNS SOAレコードには、管理者のメールアドレス、サーバーの更新間隔、ドメインの更新履歴などの機密情報が含まれます。これらのレコードはゾーン転送(ゾーンの内容をすべてのセカンダリDNSサーバーにコピーするプロセス)を支援します。これにより、手動でのコンテンツ複製にかかる時間と労力を節約できます。SOAレコードは、輻輳や障害を回避するため、リクエストを複数のサーバーに分散させます。

インフォテック関連企業は、DMARCポリシーに準拠する必要があります。 DMARCポリシーに準拠する必要があります。DNSにDMARCレコードを公開し、受信者のメールボックスに、設定されたポリシーに従ってメールを処理する方法を指示する必要があります。あなたは DMARCアナライザーを使用して、DMARCに関連するいくつかの問題を把握することができます。

DNS SOAレコード