DNSのAレコードとは?
ドメイン名とIPアドレスを紐づけるもの
2022年12月8日
著者: Ahona Rudra
翻訳: 高峯 涼夏
この記事はPowerDMARCのブログ記事 What is a DNS A Record? の翻訳です。
Spelldataは、PowerDMARCの日本代理店です。
この記事は、PowerDMARCの許可を得て、翻訳しています。
ドメインネームシステムでは、Aレコードはドメイン名を構成する最も重要なレコードの1つです。
DNSのAレコードは、ドメイン名に関連付けられているホストコンピュータ(またはホスト名)のIPアドレスが含まれています。
ドメイン名が登録されているサイトとは別の場所にあるサーバにWebサイトがある場合、おそらくAレコードが指す先はこちらでしょう。
DNSのAレコードとは何か、なぜ必要なのか、そしてDNSのAレコードをどのように管理するのか、詳しく見ていきましょう。
DNSのAレコードとは?
ホスト名は、AレコードによってIPアドレスに紐付けられています。
Aレコードの頭文字は、アドレスまたはAを表します。
DNSゾーンで最も頻繁に使用されるレコードの1つで、このレコードはDNSの設定に非常に重要です。
提供されるホストのIPアドレス(IPv4)は、Aレコードに指定されます。
つまり、IPアドレスを使用して、ドメイン名を適切な場所に解決(または参照)するのです。
Aレコードを使用すると、フォールバック(縮退運転)や冗長性として同じドメインに多数のAレコードを採用するなど、多くのことを実現できます。
複数の名前が同じアドレスを指している場合、それぞれの名前は、同じIPアドレスを指す独自のAレコードを持つことになります。
なぜAレコードが必要なのですか?
Aレコードは、DNSレコードの最も基本的なタイプであり、ドメイン名を特定のIPアドレスに指定するために使用されます。
Aレコードは、ユーザがドメイン名を入力すると、Webサイトに直接移動するように、そのWebサイトの本拠地を設定します。
Aレコードは、ホスト名とIPアドレスの1対1の対応付けです。
たとえば、 www.example.com でホストされているWebサイトがある場合、ホスト名を www に設定し、IPアドレスを 1.2.3.4 に割り当ててAレコードを作成できます(1.2.3.4 はWebサーバのパブリックIPアドレスです)。
誰かがブラウザで www.example.com にアクセスすると、そのコンピュータはUDPポート53(DNS)を使用してそのホスト名についてDNSサーバに問い合わせ、1.2.3.4 のIPアドレスを含む回答を受け取ります。
ブラウザは、TCPポート80(HTTP)または443(HTTPS)で 1.2.3.4 に直接接続し、サイトのコンテンツを要求します。
1つのドメイン名に対して複数のAレコードを持つことができます。
たとえば、異なるIPアドレスに複数のWebサーバを設定したい場合(冗長性を高めるため)、各サーバのIPアドレスにAレコードを作成することができます。
また、複数のAレコードで複数のメールサーバをセットアップすることもできます。
どのように作るのですか?
ClouDNSアカウントにログイン後、DNSゾーン管理ページに入り、「新しいレコードを追加」オプションを選択します。
タイプは「A」を選択し、次のように入力します。
(訳注:ClouDNS→お使いのDNSサーバとお考え下さい)
Type: A
TTL: 1 Hour
Points to IP.of.your.website
DNSのAレコードのフォーマット
Aレコードの構造は、RFC1035の規範的なトップレベルフォーマットの定義に準拠しています。
RDATAセクションには1つだけコンポーネントがあります。
- Element
- Address
- Description
- IPv4アドレスを表す32ビットのインターネットアドレス
複数のインターネットアドレスを持つホストには、多数のAレコードが存在します。
公式な実例は以下のとおりです。
A <address>
DNSでAレコードを問い合わせるには?
DNS lookupとは、DNSサーバに問い合わせることで、ドメイン名のIPアドレスを取得することです。
名前ベースの解決は、DNSルックアップを実行する方法の1つです。
これには、問い合わせの際にIPアドレスの代わりにドメイン名を使用することが含まれます。
典型的なクエリは、2つの部分から構成されます。
- ホスト名、またはFQDN(完全修飾ドメイン名)は、特定のリソースを識別するために使用されます。
ホスト名には、正式なインターネット名と、ネットワーク上の特定のデバイスを指すエイリアスがあります。 - クエリの種類によって、クエリに対する応答として返される情報の量が決まります。
これには以下が含まれます。
・Aレコード(アドレスレコード)は、指定されたホスト名と関連付けられたIPアドレスを返します。
・Aレコードがない場合は、NXDOMAINエラーを返します。
A vs CNAMEレコード
Aレコードは、ホスティングアカウントにドメイン名を入力するときのデフォルトのオプションです。
これらは、DNS(ドメインネームシステム)レコードのページで見つけることができる個々のIPアドレスに関連付けられています。
これらのIPアドレスは、メール、Web、およびFTPサービスに使用することができます。
CNAMEレコードは、ドメイン名のエイリアスまたは「別名」を作成します。
例えば、 www.example.com でホストされているWebサイトがある場合、これを使用して、完全なアドレスの代わりに example.com という名前を使用して、そのエイリアスを作成することができます。
また、CNAMEを使用して、複数のドメインを1つのIPアドレスに指定したり、サブドメインをその親ドメインとは異なるIPアドレスに指定することもできます。
AレコードとCNAMEレコードの違いは、Aレコードはドメイン名とIPアドレスの対応付けに使用し、CNAMEレコードは複数のドメイン名と1つのIPアドレスの対応付けに使用することです。
Aは「アドレス」、CNAMEは「Canonical Name(正式名)」の略です。
つまり、example.comでWebサイトをホストしたい場合、ドメイン名をサーバのIPアドレスにマッピングするAレコードが必要です。
結論
これで、DNSのAレコードについて深い知識が得られたのではないでしょうか。
要約すると、Aレコードは、ドメイン名(www.example.com)をIPアドレスにマッピングするものです。
そして、ドメインにAレコードがない場合、そのドメイン名は機能せず、他のWebサイトやサーバにアクセスするために使用することはできません。
インターネット全体でWebサイトが正しく動作するようにするには、Aレコードを使用していることを確認する必要があります。
これにより、サイトのURLが、インターネット上のどこかのサーバではなく、指定されたIPアドレスを指していることが確認できます。