まじAWSのaliasってなんなんだよってところですが、
本名が『山田太郎』だけど、友達から『タロちゃん』って呼ばれる
みたいな感じ。
DNSでも、「example.com って呼んだら、実は otherdomain.com のことだよ」 って別名をつけるのがエイリアスになります。
つまりはあだ名をつける機能ですね。うん。
そこに付随するalias recordやそもそもroute53って何ってところも合わせて解説しますと、、
route53の主な機能
- ドメイン名を登録
- インターネットのトラフィック(@@のウェブサイトに行きたいなどのリクエスト)を対象ドメインに当てはまるリソースへ案内する
- リソースの正常性をチェックする(ヘルスチェック)
ルーティングポリシーの種類
- シンプルルーティング
- 一番単純なやつ
- 単一リソースへのルーティング
- フェイルオーバールーティング
- アクティブとパッシブフェイルオーバーを設定できる
- アクティブフェイルオーバー:二つシステムがあったら二つとも稼働している状態。一つ死んだらもう一個の方だけで稼働を続けられるように死んだサーバーへはルーティングを行わない
- パッシブフェイルオーバー:二つシステムがあったら、どちらか一つのみが稼働している状態。稼働中のが死んだらもう一個の動いてなかったシステムを開始させてそちらにトラフィックをルーティングする。
- 位置情報ルーティング
- ユーザーの位置情報に基づいてトラフィックをルーティングする
- 地理的近接性ルーティングポリシー
- リソースの場所に基づいてトラフィックをルーティングする
- レイテンシールーティング
- 複数箇所にあるリソースのうち最もレイテンシーの低い(遅延が起きていない)リソースへのルーティング
- 複数回答値ルーティング
- 最大で8つのレコードにDNSクエリを投げてランダムに応答させる気まぐれルーティング
- 加重ルーティング
- 決めた比率で複数のリソースにトラフィックをルーティングする(「Aに5割行かせて、Bに3割行かせて、残り2割はCでいいや」など)
エイリアスレコード
- IPアドレスもしくはドメイン名の代わりに下記リソースへ繋いでくれる
- cloudfrontディストリビューションのサブドメイン名
- ELB
- 静的ウェブサイトとして設定されたs3
- 同じホストゾーン内の別のroute53リソースレコードセット
このエイリアスレコードですがまじでCNAMEレコードと区別つきにくい、
でも全然違うものなんです!
具体的には、、、
- CNAMEレコードはZone apex(最上位ドメイン)には作成できない
-
理由1:Zone ApexにはSOAとNSレコードが必要だけどCNAMEは一つしかDNSレコード(別名)しか設定できない
- DNSのZone Apex(最上位ドメイン)には、必ずSOA(Start of Authority)レコードとNS(Name Server)レコードが存在しなければなりません。
- SOAレコードはゾーンの管理情報を定義し、NSレコードはそのゾーンを管理するDNSサーバを示します。
- CNAMEレコードは、エイリアス(別名)を指すレコードであり、CNAMEが設定された場所には他のレコードを同時に設定できません。
- そのため、SOAやNSレコードが必須のZone ApexにCNAMEを設定することはDNSの仕様上不可能です
-
理由1:Zone ApexにはSOAとNSレコードが必要だけどCNAMEは一つしかDNSレコード(別名)しか設定できない
- エイリアスレコードはZone apexにも作成できる
- Zone ApexでCNAMEのように振る舞うけどSOAやNS(DNSサーバがドメインに対する問い合わせを処理するレコード)も持ち合わせることができるのがALIASレコードの特徴だからエイリアスは 「別名」 って意味だよ。