0
0

AWS SAA-C03対策メモ CNAMEコードとエイリアスコードの違い

Posted at
  • CNAMEコード:別のホスト名にマッピングするだけでなく、そのホスト名を正式名とみなします。そのため、CNAMEコードを設定したホスト名には、Aレコード、AAAAレコード、MXレコード、TXTレコードなどのDNSレコードを追加できません。

  • エイリアスコード:別のホスト名にマッピングするだけで、他のDNSレコードを許可します。そのため、エイリアスコードを設定したホスト名には、Aレコード、AAAAレコード、MXレコード、TXTレコードなどのDNSレコードを追加できます。

-詳しい解説
エイリアスコードとCNAMEコードの違いは、別のホスト名にマッピングするという点では同じですが、許可されるDNSレコードDNS名前解決の流れが異なります。
エイリアスコードは、別のホスト名にマッピングするだけで、他のDNSレコードを許可します。そのため、エイリアスコードを設定したホスト名には、Aレコード、AAAAレコード、MXレコード、TXTレコードなどのDNSレコードを追加できます。

CNAMEコードは、別のホスト名にマッピングするだけでなく、そのホスト名を正式名とみなします。そのため、CNAMEコードを設定したホスト名には、Aレコード、AAAAレコード、MXレコード、TXTレコードなどのDNSレコードを追加できません。

DNS名前解決の流れは、以下のようになります。
1. クライアントがDNSサーバーに、ドメイン名のIPアドレスを問い合わせる。
2. DNSサーバーは、ホストゾーン内のレコードを調べて、該当するレコードを返す。
3. クライアントは、返されたレコードの値を元に、IPアドレスを取得する。

エイリアスコードの場合、ステップ2でCNAMEレコードが返された場合、クライアントはCNAMEレコードの値を元に、別のホスト名のIPアドレスを問い合わせる。

CNAMEコードの場合、ステップ2でCNAMEレコードが返された場合、クライアントはCNAMEレコードの値を元に、別のホスト名の正式名を取得する。

具体例

エイリアスコードの場合、以下のようになります。

この場合、クライアントがexample.comにアクセスすると、DNSサーバーはwww.example.comのCNAMEレコードを返します。クライアントはwww.example.comのCNAMEレコードの値を元に、www.example.comのIPアドレスを問い合わせます。

CNAMEコードの場合、以下のようになります。

この場合、クライアントがexample.comにアクセスすると、DNSサーバーはwww.example.comのCNAMEレコードを返します。クライアントはwww.example.comのCNAMEレコードの値を元に、www.example.comの正式名を取得します。

まとめ

エイリアスコードとCNAMEコードは、どちらも別のホスト名にマッピングする点で同じですが、許可されるDNSレコードとDNS名前解決の流れが異なります。

エイリアスコードは、他のDNSレコードを追加できるため、WebサイトのURLを変更するなどの場合に便利です。CNAMEコードは、正式名を変更するなどの場合に便利です。

どのコードを使用するかは、用途に合わせて選択する必要があります。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0