LoginSignup
40
28

More than 1 year has passed since last update.

CNAMEレコードとALIASレコードの違い

Last updated at Posted at 2021-11-26

前提

  • ドメイン名からI Pアドレスを受け取って通信したい
  • AWS S3とRoute53使用
  • Aリソースレコード(Aレコード)とは、ドメイン名に対するIPv4アドレスを指定するリソースレコード。同じドメイン名に対して複数記述することができる。

CNAMEレコードの場合

DNSの名前解決では、CNAMEリソースレコードが見つかった場合、ドメイン名を正式名に置き換えて名前解決を継続します。

つまりCNAMEレコード名でアクセスしたらAレコード名を返す。
でも通信するためにはIPアドレスが欲しいので、Aレコードが返されたらそのAレコード名を使用して名前解決をしてIPアドレスを受け取る。CNAME A.png

赤のアドレスでIPアドレスが欲しいとRoute53にリクエストを送るとCNAMEレコードの青のアドレスをクライアントに返す。
でもまだIPアドレスは手に入れられていないので、
クライアントは返ってきた青のアドレスを元にRoute53に問い合わせをしてAレコード内の黄のアドレスでS3でIPアドレスを取得し、クライアントに返して通信が成功する。

=> クライアントとRoute53の通信が2回行われる

ALIASレコード

Amazon Route 53 エイリアスレコード で、DNS 機能に Route 53 固有の拡張機能が追加されます。エイリアスレコードを使用すると、選択した AWS リソース (CloudFront ディストリビューションや Amazon S3 バケットなど) にトラフィックをルーティングできます。また、エイリアスレコードにより、ホストゾーン内のあるレコードから別のレコードにトラフィックをルーティングできます。

クライアントはRoute53に対してIPアドレスの問い合わせをすると、Route53はAレコードのALIASがあればそれを元にAWS内でS3に問い合わせをし、IPアドレスをクライアントに返す。
(AレコードなのでIPアドレスを返す)

s3-website-ap-nort.png

=> クライアントとRoute53の通信は1回で済むのでCNAMEを使うよりも通信の速度が上がる

最近はこちらのサイトでアウトプットしているのでよろしければ覗いてみてください

https://abillyz.com/moco/studies

40
28
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
40
28