Route 53
- Web ベースの DNS サービス
- SLA 100 %
- リージョンで提供されるのではなく、世界中に展開されているエッジロケーションで提供
- Anycast IP アドレスの仕組みを利用して、世界中のエッジロケーションの中でもっとも近いロケーションから応答を返す仕組み
- 概念
- Hosted Zone
- 管理される DNS レコードの集合
- ほかの DNS システムにおけるゾーンファイル
- Record Set
- DNS レコード
- Routing Policy
- Set ID
- Routing Policy を用いて複数の Record Set で同じ名前を設定する場合に、それぞれを一意に認識するために設定する ID
- ヘルスチェック
- 転送先ホストの状態をチェックするための設定
- HTTP/HTTPS/TCP
- Hosted Zone
- Route 53 の基本操作
- Route 53 の利用停止
- VPC の内部 DNS としての利用
- 制限
- ホストゾーン
- 最大 500
- 各ホストゾーンにつきリソースレコードセット
- 10000
- ホストゾーン
- ドメインとホストゾーン
- ドメイン
- 一般的な DNS の概念
- ドメイン名は、容易に認識可能なインターネットリソース名で、数字でアドレスが割り当てられる
- ホストゾーン
- Route 53 の概念
- ホストゾーンは、従来の DNS ゾーンファイルと類似し、シングルの親ドメイン名に属し、まとめて管理可能なレコードの集合を表す
- ドメイン
ドメインネームシステム (DNS)
Route 53 はエニーキャストネットワークを使用
- エニーキャストは、お客様のエンドユーザーの DNS クエリが、任意のネットワーク状況下で最適化された Route 53 ロケーションから返信されるサポート
管理可能なホストゾーン数
- Amazon Route 53 アカウント
- ホストゾーンが最大 500
- 各ホストゾーンに付きリソースレコードセットが 10,000
- Amazon Route 53 アカウント
レコードタイプ
- A(アドレスレコード)
- ELB では使えない
- AAAA(IPv6 アドレスレコード)
- CNAME(正規名レコード)
- CAA (認証機関認可)
- MX (メール交換レコード)
- NAPTR (名前付け権限ポインタレコード)
- NS(ネームサーバーレコード)
- PTR(ポインターレコード)
- SOA(管理情報の始点レコード)
- SPF(センダー ポリシー フレームワーク)
- SRV(サービス ロケーター)
- TXT(テキストレコード)
- エイリアス
- Route 53 固有の仮想レコード
- ホストゾーン内のリソースレコードセットを、ELB 、CloudFront ディストリビューション、Elastic Beanstalk 環境、またはウェブサイトとして設定されている S3 バケットにマッピングすること
- エイリアスレコードは CNAME レコードのように機能するので、DNS 名(example.com)を別の「ターゲット」DNS 名(elb1234.elb.amazonaws.com)にマッピングできる
- サブドメインでも利用可能
- A(アドレスレコード)
ワイルドカードエントリをサポート
- DNS 設定の変更の全体適用
- 時間
- 通常の状況では 60 秒以内に DNS レコードへのアップデートを全世界の権威 DNS サーバーのネットワークに反映するよう設計
- API が INSYNC ステータスリストを返すと、変更が全世界に広まっていることを意味する
- 時間
DNS ルーティングポリシー
- what
- Route 53 が Record Set に対してどのようにルーティングを行なうか決定
Simple
- 一般的な DNS と同じ挙動
Weighted(重み付けラウンドロビン)
- 転送先毎に重み付けを行い、その総和における指定された重みの時間割合で転送比率が決定
Latency(レイテンシーベースルーティング)
- 同じ名前が設定された複数のリージョンに配置された EC2 インスタンスのグローバル IP アドレスや ELB に対して、よりレイテンシーの小さくなるリージョンを選択してリクエストをルーティングしてくれる機能
Failover(DNS フェイルオーバー)
- Primary に設定されたヘルスチェックに問題があると、Secondary に指定された転送先にルーティングされるようになる
Geolocation(Geo Routing)
- レイテンシーベースルーティングがエンドポイントとのレイテンシーが小さくなるようにルーティングしていたのに対し、Geo Routing では、 DNS 問い合わせがあった場所に応じて転送先を変えることが可能
- ユーザーのリクエストに対して、ロケーションに依存する完全に適切なレスポンスを効率的に返すアプリケーションを構築することができるようになる
- あるロケーションでは、S3から配信される静的なリソースを受け取り、別のロケーションでは、 EC2やElastic Beanstalkで実行しているアプリケーションからの動的なリソースをうけとるといった具合が可能
- 3 つのレベルの地理的粒度(大陸、国、州)とグローバルレコードを用意
- グローバルレコード
- エンドユーザーの位置が作成したいずれの Geo DNS レコードにも一致しない場合に使用
- 対象のエンドユーザーの場所について、Route 53 は最初に州レコードを返し、州レコードが見つからない場合、国レコードを返します。国レコードが見つからない場合は大陸レコードを返します。大陸レコードが見つからない場合はグローバルレコードを返します。
- グローバルレコード
レイテンシーベースルーティングと Geo DNS の違い
- Geo DNS
- リクエストの地理的場所に基づくルーティングを決定
- コンプライアンス、ローカライズ要件、または特定の地域から特定のエンドポイント間の安定したルーティングを必要とするその他のユースケースがある場合、Geo DNS を使用することが推奨
- レイテンシーによるルーティング
- ビューアネットワークと AWS データセンター間のレイテンシー計測を利用
- これらの計測は、どのエンドポイントがユーザーに最も近いかを判断するために使用
- レイテンシーを最小化することが目標である場合に利用
- Geo DNS
DNS トラフィックフロー
- what
- グローバルトラフィック管理サービス
- 世界中で複数のエンドポイントが実行され、レイテンシー、地理的場所、エンドポイントの状態に基づいてユーザーが最適なエンドポイントに接続されるため、エンドユーザーにとってアプリケーションのパフォーマンスと可用性を向上させることができます
ヘルスチェック & DNS フェイルオーバー
DNS フェイルオーバー
- ヘルスチェックとフェイルオーバー 2 つの要素で構成
- ヘルスチェック
- 自動化されたリクエストであり、インターネットを介してお客様のアプリケーションに送信
- この目的は、アプリケーションが到達可能で、使用可能で、機能していることを確認すること
- HTTP/HTTPS, TCP サポート
- DNS フェイルオーバー
- お客様のアプリケーションの中に正常に動作していない部分がある場合は、その部分へのエンドユーザーからのアクセスは別の場所にルーティングされまる
- ヘルスチェック
- サポート
- ELB エンドポイントをサポート
- ヘルスチェックとフェイルオーバー 2 つの要素で構成
Route 53 のヘルスチェックは HTTP の 3xx コードを成功応答と見なすので、リダイレクトにしたがいません。
DNS フェイルオーバーを使用するときは、TTL を 60 秒以下にすることをお勧め
- これは、障害状態のエンドポイントへのトラフィックルーティングを停止するのに要する時間を最小化するため
- ELB および S3 ウェブサイトエンドポイントの DNS フェイルオーバーを設定するには、固定 TTL が 60 秒のエイリアスレコードを使用する必要がある
- これらのエンドポイントタイプについては、DNS フェイルオーバーを使用するための TTL の調整は必要ない
すべてのエンドポイントが障害状態である場合は、Route 53 はすべてのヘルスチェックが合格であるものとして動作
HTTPS ヘルスチェックは Server Name Indication(SNI)をサポート
Route 53 のヘルスチェックを使用して、サーバー応答の中に指定の文字列があるかどうかを調べることができる
CPU 負荷、ネットワーク、メモリなどの内部ヘルスメトリクスに基づいて DNS フェイルオーバーを設定できる
- Amazon CloudWatch で利用可能な任意のメトリクスに基づいて DNS フェイルオーバーを実行
- ドメイン名をヘルスチェック対象として指定した場合、Route 53 は IPv4 アドレスを検索し、IPv4 を使用してエンドポイントに接続
- DDoS 対策
- シャッフルシャーディング
- データの水平パーティションが異なるデータベースサーバー間で分散され、それにより負荷が分散されるとともに冗長性が提供
- Route 53 はシャッフルシャーディングを使用して数多くのエンドポイントに DNS リクエストを分散させ、アプリケーションの複数のパスとルートを提供
- Anycast ルーティング
- 複数の PoP から同じ IP アドレスをアドバタイズすることで冗長性を高めます
- DDoS 攻撃が 1 つのエンドポイントを攻略した場合、シャッフルシャーディングによって障害が分離され、インフラストラクチャに追加のルートが提供
- シャッフルシャーディング
Roadworker
- Route53 のレコードをコード管理できるツール
cli53
- Route 53 向けのコマンドラインツール
- cli53