DNSのAレコードとは? Aレコードの形式、TTL、および例

by

最終更新日:
8 読了時間:約8分
DNSのAレコードとは? Aレコードの形式、TTL、および例

主なポイント

  • DNSのAレコードは、ドメイン名やホスト名をIPv4アドレスに関連付け、ブラウザやその他のサービスが正しいサーバーを見つけられるようにします。
  • TTLの値は、DNS応答がキャッシュに保持される期間を決定します。サーバーの移行前にこの値を低く設定しておくと、ダウンタイムを最小限に抑えることができます。
  • 複数のAレコードを使用することで、トラフィックを複数のIPアドレスに分散させることができますが、DNSラウンドロビンでは自動フェイルオーバーは提供されません。
  • Aレコード、AAAAレコード、CNAMEレコード、およびMXレコードは、DNSルーティングにおいて、IPv4やIPv6のマッピングからエイリアスや電子メールの配信に至るまで、それぞれ異なる役割を果たしています。
  • Aレコードを定期的に確認することで、設定ミスや古いIPアドレス、ドメインのハイジャックにつながる可能性のある未解決のレコードを特定することができます。

AレコードはDNSシステムの基礎となる構成要素であり、ホスト名、TTL(Time to Live)値、および32ビットのIPv4アドレスを1つだけ含む3つの主要な要素で構成されています。文字「A」は「アドレス」を表しています。Aレコードがなければ、Webブラウザやメール転送エージェントは、コンテンツをホストしているWebサーバーの位置を特定することができません。 

当社の無料サービスで、あらゆるドメインのアクティブなホストマッピングを即座に確認できます Aレコード検索 ツールで、どのドメインのアクティブなホストマッピングも即座に確認できます。

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

DNSのAレコード(アドレスレコード)は、ドメイン名やホスト名をIPv4アドレスに紐づけるものです。例えば、 example.com を 192.0.2 に割り当てます。1. Aレコードの主な目的は、人間が読みやすいホスト名を、ルーティング可能なIPv4アドレスに解決することです。AレコードにはIPv4アドレスが含まれますが、現代の128ビットIPv6ネットワークでは、別の AAAAレコードが使用されます。

ほぼすべての公開Webアセットには直接的なルーティングパスが必要であるため、Aレコードは依然としてすべての DNSレコードタイプです。

DNS Aレコードの形式と例

標準的なRFCゾーンファイルでは、Aレコードはスペースで区切られた厳格なテキスト形式に従います:

example.com. 3600 IN A 192.0.2.1

各コンポーネントは、それぞれ特定の機能を果たします:

  • 名前 (example.com.): マッピングされる完全修飾ドメイン名(FQDN)。末尾のドットはDNSルートを表します。
  • TTL (3600): 有効時間(秒単位)。中間リゾルバーが、新しいコピーをリクエストする前に、この応答をキャッシュできる期間を指定します。
  • クラス (IN): インターネットクラス。Webおよびメールトラフィックの標準設定です。
  • タイプ (A): IPv4 アドレスのマッピングを指定するレコードタイプ識別子。
  • データ / 宛先 (192.0.2.1): ホストが動作している宛先IPv4アドレス。

最新のDNS管理ダッシュボード(Cloudflare、AWS Route 53、Namecheapなど)では、レコードはゾーンファイルの構文を手動で記述することなく、表形式で入力されます。以下の表は、標準的なレコードがどのように表示されるかを示しています:

ホストタイプ価値TTL説明
@A192.0.2.13600プライマリWebサーバーを指すApex/ルートドメイン(example.com)
wwwA192.0.2.13600同じサーバーアドレスを指す一般的なWebプレフィックス
ブログA198.51.100.73600専用インフラ上でホストされる独立したサブサービス
メールA203.0.113.253600MXレコードで参照されている直接の宛先ホスト
@A192.0.2.883600独立したサンプルドメイン(example.net)のWebエンドポイント

「@」記号は、ルートドメインまたはアペックスドメインを表す省略形として機能します。ほとんどのプロバイダのダッシュボードでは、プライマリドメイン名が自動的に付加されるため、「blog」と入力するだけで、blog.example.com のレコードが作成されます。

DNSのAレコードの仕組み

ブラウザにウェブアドレスを入力すると、その宛先の解決には、以下の5つの単純な処理が行われます:

  1. ユーザーのリクエスト: ブラウザのアドレスバーに「example.com」と入力します。
  2. ローカルキャッシュの確認: オペレーティングシステムとローカルの再帰的リゾルバーは、レコードの有効で有効期限が切れていないコピーがすでにメモリ内に存在するかどうかを確認します。
  3. アップストリームクエリ: キャッシュされたエントリが存在しない場合、再帰リゾルバーは、example.comのゾーンファイルを管理する権威ネームサーバーにクエリを送信します。
  4. レコードの取得: 権威ネームサーバーは自身のゾーンファイルを読み取り、192.0.2.1 を含む A レコードを返します。
  5. 接続の確立: リゾルバーは 192.0.2.1 をブラウザに返します。ブラウザは、その IP アドレスに対して直接 HTTP またはTLS接続を開始します。

ルートおよびTLDネームサーバーを経由する階層構造のパス全体を詳しく知りたい場合は、以下の基礎ガイドをご覧ください。 DNSの仕組みに関する基礎ガイドをご参照ください。

AレコードにおけるTTLとは何ですか?

TTL(Time to Live)は、リゾルバやブラウザのキャッシュ内におけるDNS応答の有効期間を規定するもので、数秒単位で表されます。一般的なTTLの設定値としては、安定した本番環境のアセットでは3600秒(1時間)、動的な環境では300秒(5分)が挙げられます。TTLの値を高く設定すると、ページの読み込み遅延が改善され、権威サーバーへのクエリ負荷が軽減されます。

サーバーの移行やIPアドレスの更新を行う前に、少なくとも24時間前にAレコードのTTLを300秒に設定してください。移行が完了し、トラフィックが新しい宛先に問題なくルーティングされるようになったら、TTLを3600秒または86400秒に戻してください。この手順により、 DNSの伝播中に発生するダウンタイムを最小限に抑えます。

1つのドメインに複数のAレコードを設定することはできますか?

はい、ドメインまたはサブドメインに対して、複数のAレコードを同時に公開することができます。

同一のホスト名を持つ複数のAレコードを、それぞれ異なるIPアドレスを指すように設定することで、DNSラウンドロビンによる負荷分散が可能になります:

www.example.com. 300 IN A 192.0.2.10
www.example.com. 300 IN A 192.0.2.20

再帰的リゾルバーが `www.example.com` をリクエストすると、権威サーバーは両方の IP アドレスを返しますが、クエリごとにその順序を交互に変えます。この仕組みにより、中央集権的なハードウェア負荷分散装置を使用せずに、複数の Web サーバーにトラフィックを分散させることができます。

ただし、DNSのラウンドロビン方式では、自動フェイルオーバーは行われません。標準的なDNSサーバーは、192.0.2.10上のWebサービスがダウンしたかどうかを検知することはできず、レコードが手動で削除されるまで、その機能停止したIPアドレスをクライアントのブラウザに割り当て続けます。

なお、1つのAレコードエントリには1つのIPv4アドレスしか格納できませんが、名前ベースの仮想ホスティングを利用することで、異なる組織に属する複数の異なるホスト名が、同じ基盤となるIPアドレスを共有することができます。

なぜAレコードが必要なのか?

Aレコードは、日常的なさまざまな用途におけるドメイン管理の基盤となっています:

  • メインのウェブサイトホスティング: 登録済みのドメイン名を、メインのウェブホストまたはコンテンツ配信ネットワーク(CDN)に紐付けます。
  • サブドメインのインフラストラクチャ: api.example.com や app.example.com のような専用アプリケーション、会員ポータル、開発者環境を支えています。
  • メールサーバーのエンドポイント: 指定されたホスト名を MXレコードで指定されたホスト名を解決し、リモートサーバーが受信メールをメールゲートウェイに配信できるようにします。
  • ネットワークサービス: FTPホスト、VPNエンドポイント、およびリモートデータベースクラスタを、到達可能なアドレスにマッピングします。

レコードとAAAAレコード、CNAMEレコード、MXレコード

DNSでは、さまざまなルーティングの目的に応じて、それぞれ異なるレコードタイプが使用されます:

レコードタイプ目標値例最適な活用事例
A32ビットのIPv4アドレス192.0.2.1ホスト名をIPv4サーバーに直接割り当てる
AAAA128ビットのIPv6アドレス2001:db8::1ホスト名を最新のIPv6サーバーに直接割り当てる
CNAME正規のホスト名host.cdn-provider.comあるドメイン名を、既存の別のホスト名にエイリアス設定する
MXメールサーバーのホスト名と優先度10 mail.example.com受信ドメインのメールを指定されたメール処理担当者に転送する

Aレコード対AAAAレコード

Aレコードはホスト名を32ビットのIPv4アドレスに変換するのに対し、AAAAレコードはホスト名を128ビットのIPv6アドレスに変換します。世界的にIPv4アドレスの枯渇が進む中、多くの現代の組織では、ゾーンにAレコードとAAAAレコードをそれぞれ対応させて追加することで、デュアルスタック構成を公開しています。

レコードとCNAMEレコード

Aレコードはホスト名をIPアドレスに直接紐づけるのに対し、 CNAMEレコード は、あるドメイン名を別のドメイン名に指し示すエイリアスを作成します。RFCの仕様に基づき、CNAMEレコードはルートアペックスドメイン(@)には、MXやTXTなどの他のレコードと併せてCNAMEレコードを配置することはできません。 

詳細な技術比較評価については、 CNAMEとAレコードの比較をご覧ください。

AレコードとMXレコード

MXレコードは、ドメインをIPアドレスに紐付けるものではなく、メールの受信を担当する特定のメールサーバーのホスト名を指定するものです。指定されたメールホストには、リモートのメールシステムがSMTP接続を確立する先を認識できるよう、独自の有効なAレコードが設定されている必要があります。

以下のガイドをご覧ください どのDNSレコードがメールサーバーを特定するのか この関係性を確認してください。

DNS Aレコードの作成方法

Aレコードを設定するには、ドメインの現在のDNSプロバイダーへのアクセス権が必要です:

  1. DNSホスティングプロバイダーまたはドメイン登録業者の管理ポータルにログインしてください。
  2. ドメインの DNS管理、 ゾーンファイル、または DNSレコード の設定。
  3. 選択 「レコードの追加」を選択し を選択し、レコードタイプのドロップダウンを Aに設定します。
  4. 『 名前 または 「ホスト」 フィールドに、ルート・アペックス・ドメインを表す「@」を入力するか、サブドメインのプレフィックス(「www」や「portal」など)を入力します。
  5. サーバーのパブリックIPv4アドレスを 「ポイント先」に、 「値」、または 「ターゲット」 フィールド。
  6. 以下の設定を行ってください TTL を設定します(一般的なWebホスティングの場合は3600を、近いうちにサーバーを更新する予定の場合は300を選択してください)。
  7. 記録を保存する。

Cloudflare を通じて DNS を管理している場合は、レコードを 「プロキシ経由」 (WebトラフィックをCloudflareのセキュリティレイヤーおよびCDN経由でルーティングする)か、それとも DNSのみ (プロキシをバイパスしてオリジンサーバーのIPを直接返す)のいずれかに設定してください。保存後、グローバルDNS伝播チェッカーを使用して変更内容を確認してください。

Aレコードが変更されたタイミングを確認する

PowerDMARCは、お客様が所有するすべてのドメインに対して、毎日46項目のセキュリティチェックを実行します。DNSイベントフィードでは、レコードやネームサーバーの変更を「変更前」と「変更後」の値とともに記録し、未解決のCNAMEはフラグが立てられ、0から100までの客観的なセキュリティスコアが表示されます。

DNSのAレコードを確認する方法

Webツールやシステムの標準コマンドプロンプトを使えば、Aレコードがインターネット上で正しく解決されているかどうかを確認するのは簡単です。

オンライン検索

外部ネームサーバーにまたがる公開レコードを確認する最も簡単な方法は、当社のブラウザベースのAレコード検索ツールを利用することです。Aレコードと関連するすべてのMX、TXT、CNAMEレコードを同時に確認するには、当社の包括的な DNSレコード検索をご利用ください。

コマンドラインツール

ネイティブのユーティリティを使用すれば、ターミナルから直接、権威サーバーや再帰サーバーにクエリを送信することができます:

  • macOS / Linux (dig):

dig A example.com +short

宛先のIPv4アドレスを返します。 `dig A example.com` を実行して、レスポンスヘッダー全体、ステータスフラグ、および残りのTTLを確認してください。

  • Windows (nslookup):

nslookup -type=A example.com

リクエストに応答したローカルリゾルバと、その後に続くターゲットのIPv4アドレスを表示します。

  • PowerShell (Resolve-DnsName):

Resolve-DnsName -Name example.com -Type A

ホスト名、レコード種別、TTL、および割り当てられたIPアドレスを示す、書式設定済みの表を出力します。

Aレコードに関するよくある問題と解決策

Aレコードの設定に誤りがあると、ウェブサイトが利用できなくなったり、セキュリティ上の脆弱性が生じたりする可能性があります:

  • キャッシュの古さとTTLの長期化: 事前にTTLを下げずにサイトを移行すると、以前のカウントダウンが切れるまで、訪問者はローカルキャッシュから古いIPアドレスを取得することになります。
  • AレコードとCNAMEレコードの競合: RFC 1912 では、Aレコードが設定されているホスト名にCNAMEレコードを設定することを禁じています。エイリアスが必要な場合は、まず既存のAレコードを削除してください。
  • www の設定が欠落しています: @ に対してのみ A レコードを公開した場合、www に対応する A レコードまたは CNAME エントリを作成しない限り、www.example.com にアクセスした訪問者は接続エラーが発生します。
  • 古いAAAAレコード: IPv4ホストを移行しても、古いIPv6 AAAAレコードをそのまま残しておくと、IPv6対応の接続を使用している訪問者は、機能しなくなったサーバーへのアクセスを試み続けてしまいます。
  • 未処理のAレコードとサブドメインの乗っ取り: AWSやAzureでクラウド仮想マシンやエラスティックIPアドレスを解放する際、DNS内の対応するAレコードを削除しないと、他のクラウド利用者がその解放されたIPを割り当てて、あなたのトラフィックを乗っ取ってしまう可能性があります。インフラを定期的に監査し、 未処理のDNSレコードを削除してください。

よくあるご質問

Aレコードの「A」は何を意味するのでしょうか?

Aレコードの「A」は「Address(アドレス)」を表しています。これは、アルファベットで表記されたドメイン名を、インターネット上の数値のIPv4アドレスに結びつける、中核となるホストアドレスのマッピング機構です。

DNSのAレコードを削除するとどうなりますか?

Aレコードが削除されると、ドメインがIPアドレスを見つけられなくなり、レコードを復元または交換するまでウェブサイトのダウンタイムが発生します。

DNSのAレコードの変更が反映されるまでの時間は?

DNSの変更がワールドネットワーク全体に広がるのに必要な時間は、数分から48時間に及びます。正確な時間は、TTLの設定と、異なるDNSサーバーがキャッシュデータを更新する頻度に依存します。

Aレコードは別のドメインを指すことができますか?

いいえ。Aレコードには、有効な32ビットのIPv4アドレスのみを指定できます。あるドメイン名またはサブドメインを別のドメイン名に紐付けたい場合は、代わりにCNAMEレコードを使用してください。

メールを使うにはAレコードが必要ですか?

はい、間接的にはそうです。MXレコードは、ドメイン宛ての受信メールを処理するメールサーバーを指定するものですが、そのMXレコードが指し示すのはIPアドレスではなくホスト名です。指定されたメールホスト名には、外部のメールサーバーがトラフィックをそのホスト名へルーティングできるように、有効なAレコードが設定されている必要があります。

まとめ

DNSのAレコードは、人間が読み取れるドメイン名と、ウェブを支える物理的なIPv4インフラストラクチャとを結びつける基本的な要素です。レコード値を正確に維持し、予定された移行前にはTTL設定を低く設定し、不要になったホストのマッピングを削除することで、継続的な稼働、予測可能なルーティング、そして最適なウェブパフォーマンスを確保できます。

DNSの設定は、組織のセキュリティにおいても極めて重要な役割を果たしています。PowerDMARCを活用して、ドメイン環境を定期的に評価し、使用されなくなったエンドポイントを監査するとともに、デジタル資産をハイジャックやスプーフィングから保護しましょう。

DNSのAレコード