前提
- SAA-C03の資格取得勉強中
- 普段の業務ではLambdaを使ってサーバーレスアプリケーションを開発
- SAA受験に向けて、Route 53について勉強したのでまとめてみる
- 前回のVPCについての学習記事はこちら
Route 53とは
Amazon Route 53 は、可用性が高くスケーラブルなドメインネームシステム (DNS) ウェブサービスです。
https://docs.aws.amazon.com/ja_jp/Route53/latest/DeveloperGuide/Welcome.html
そもそもDNSサービス(DNSサーバー)とは?
DNSサーバーとは、ドメイン名とIPアドレスを変換する仕組みを提供するサーバーです。
https://www.ntt.com/bizon/glossary/e-d/dns-server.html
- つまり、Route 53とは 「インターネット上のドメイン名とIPアドレスを変換したり、管理したりするAWSのサービス」 ということになる。
Route 53でできること
1. ドメイン名の登録
- 作成するウェブサイトに対して、
hogehoge.com
のようなドメイン名を登録することができる。 - つまり、ウェブサイトに独自の名前をつけることができるイメージ。
2. インターネットトラフィックのルーティング
- 1で作成したドメイン名にアクセスした際に、どのWebサイトを開くか、ウェブアプリケーションを開くかなどトラフィックを制御できる。
3. ヘルスチェック
- 2でルーティングしたウェブサーバーやアプリケーションなどのリソースが正常かどうかをチェックすることができる。
- 異常なリソースにアクセスしないように、トラフィックを制御することが可能になる。
- CloudWatchやSNSといった他のAWSサービスと組み合わせることで、異常な場合に通知を送信するなどの設定が可能。
関連する機能
DNSレコード
- 特定のドメインのトラフィックをどのようにルーティングするかの情報を保持している。
- Route 53では複数のレコードをサポートしている。詳細は、こちらを確認。
ホストゾーン
- レコードを管理するコンテナ。
パブリックホストゾーン
- インターネットでトラフィックをどのようにルーティングするかを指定するレコードが含まれる。
プライベートホストゾーン
- Amazon VPCでトラフィックをどのようにルーティングするかを指定するレコードが含まれる。
DNSルーティング
- あるドメインに対して、どのIPアドレスにアクセスするかのルーティングを設定する。
- ルーティングポリシーが複数存在する(詳しくはこちら)
シンプルルーティング
- デフォルトで設定されているルーティング
- あるドメインで特定の機能を実行する単一のリソースがある場合に使用する(例えば、
hogehoge.com
を構成する1つのwebサーバーなど) - プライベートホストゾーンにレコードを作成するために使用する
フェイルオーバールーティング
- 利用可能なリソースに対してルーティングする
- ヘルスチェックで異常なリソースが検知された場合、別の利用可能なリソースにルーティングする。
- これにより、フェイルオーバーを構成でき、耐障害性を考慮した構成にできる。
位置情報ルーティング
- ユーザーの位置に基づいてルーティングする
- 例えば、日本からのアクセスはこのルーティング、イギリスからのアクセスはこのルーティングというように設定できる。
地理的近接性ルーティング
- リソースの場所に基づいてルーティングする。ユーザーに最も近いリソースにルーティングする。
- 位置情報ルーティング→ルーティングするリソースを指定する
- 地理的近接性ルーティング→最も近いリソースにルーティングする
レイテンシールーティング
- 最もレイテンシーが低いリソースにルーティングする
IPベースのルーティング
- 送信元のIPアドレスがわかっている場合に、そのアドレスに基づいてルーティングするリソースを決定する。
複数値回答ルーティング
- ランダムに選ばれた最大8つの正常なレコードを使用して、複数のリソースに対してルーティングする。
- ロードバランシングを向上させることができる
- つまり、ELBと同じような機能を発揮する(正確には代替はできない)
加重ルーティング
- 指定した比率でリソースに対してルーティングする
- 例えば、Aというリソースは70%, Bというリソースは30%の重みを設定したらその比率に従ってルーティングする。