こんにちは.
鬼滅の刃の映画が待ち遠しい茂木です.
さて,GMOは息していますかね.
大手クラウドベンダーの技術力に圧倒されてます.
一度はサービスをローンチさせた人なら分かる
DNSについてです.
ドメインネームサービスです.
ドメインをIPアドレスに変換をしてくれる技術です.
オンプレなんかはDNS設定をしてやっとネット上で購入したドメインからサービスを見ることが出来ます.
AWSではこれをRoute53というサービスで担っています.
これを知っていないとawsでの構築は出来ないので,
やり方と従来との違いを説明して行きます!
##Route 53のお仕事
ドメイン内のDNSリソースレコードを*ホストゾーンを作成して登録出来ます.
簡単に言うと,可用性の高いドメイン->IP変換システムでしょう.
用語
「*ホストゾーン... レコードのコンテナ.
特定のドメインのトラフィックを
どのようにルーティングするかに関する情報を保持します.
.com/.co.uk/.org/.netの4つのトップレベルDNSサーバーで管理されている」
ホストゾーンには,
パブリックホストゾーンとプライベートホストゾーンがあります
インターネット上に公開するか否かの設定です.
##Route 53の特徴
###エイリアスレコード
Route 53固有の仮想リソースレコード.
こちらを利用するシナリオは,
AWSサービスのエンドポイントをDNSに登録する時です
AWSのIPは動的に変化します.
言い換えると,Aレコードの設定を行うことが出来ないんですね.
その為,エイリアスレコードが必要になってきます.
この辺は中身も知っておいた方がいいでしょう.
CNAMEと比較して説明します.
CNAMEは読み替え機能です.
motemote.com | CNAME | elb1.~~~.com
とやると読み換えてくれます
Aレコードの登録が出来ない場合,CNAMEで上の図のように別名で登録をしますが,
エイリアスレコードは更に進化した方法で登録できます.
従来よりもレスポンスが高速で,S3やCloudFrontへのクエリが無料になる利点もあります.
###Zone Apex
DNSドメインの頂点となるノードの事.
パッとしない方の為に例を用意.
例としては,www.motemote.comの「motemote.com」の部分
DNSの性質上,すでにNSレコードとしてZone Apexが登録されていると
CNAMEレコードでは登録出来ないんですね.
エイリアスレコードならこれが解決します.
ムームードメイン+ herokuとかで構築した人ならわかると思いますが,
この辺知っていないと,サブドメインでしかCNAME登録出来ません.
きちんとエイリアスレコードでエンドポイントを指定しましょう!
##Route 53の特徴その2
従来と比較するとルーティングから別物です.
従来のDNSサービスの様に事前に定義されている静的リソースレコードに基づいて応答するだけでは無いんです.
ポリシーで定義されたルールに基づいて動的に転送先を変更する,
ポリシーベースのルーティングとなっています.
加重ルール...複数のエンドポイントに対して重みを付ける.重みの高いものが優先される
フェイスオーバールール...ヘルスチェックの結果に基づく
位置情報ルール...クライアントの位置に基づく
レイテンシールール...リージョン間の遅延が少ないほうのリソースにルーティングされる
複数値解答のルール...複数のリソースに DNS レスポンスを分散する場合に使用
地理的近接性ルール...リソースの場所に基づいてトラフィックをルーティングし、必要に応じてトラフィックをある場所のリソースから別の場所のリソースに移動する場合に使用
要件に合わせて選んで使い分けましょう.
用途に合わせて使い分けることが出来れば,トラフィックを分散させられたり,
ドメインのダウンタイム軽減が可能になりますよ!!