はじめに
ソリューションアーキテクトアソシエイト対策の学習メモ
Route53とは?
- マネージドDNS(ドメインネームサービス)
- 所有しているドメインを管理(Route53サービス内でドメイン購入もできる)
- ドメインはホストゾーンとして管理され、1ドメインあたり月額0.5ドル発生
- ロードバランシングもできる
- ヘルスチェック(限定的)
レコードの種類
- Aレコード:ホスト名をIPアドレスに(IPv4方式)
- AAAAレコード:ホスト名をIPアドレスに(IPv6方式)
- CNAMEレコード:ホスト名を別のホスト名へ
- Aliasレコード:ホスト名をAWSリソースへ
※レコード:ドメイン名を IP アドレスに紐づけるためのデータベース上の情報のこと
ホストゾーン
└hogehoge.com(ルートドメイン)
└test.hogehoge.com(Aレコード)
└test2.hogehoge.com(AAAAレコード)
└hugahuga.com(ルートドメイン)
└test.hugahuga.com(Aレコード)
CNAMEレコードとAliasレコード
- ALBのエンドポイントではなく、自分で決めたドメインを使いたいときなどに使用
- CNAMEレコード:非ルートドメインに限る、有料
- Aliasレコード:IPアドレスやドメイン名の代わりにCloudFront、Elastic Beanstalk環境、ELBなどを設定できる、ルートドメインも設定可、無料
レコードのTTL(Time to Live)
- 毎回DNSに問い合わせをすると時間がかかるので、キャッシュを利用している
その有効期間のこと - IPアドレスが変わってもTTLが切れないとDNSへの再問合せは発生しない
ヘルスチェック
- デフォルトでヘルスチェックに3回失敗したらunhealthy
- デフォルトでヘルスチェックに3回合格したらhealthy
ルーティングポリシー
-
シンプル
- 単一リソースにリダイレクト
- 1レコードに複数のIPアドレスを設定できる
- ヘルスチェックを判定に使用不可(Aがhealthy、Bがunhelthyだった場合もA,Bが返る)
- 複数の値が返却される(レコードのIPアドレスを複数設定)場合、クライアントがランダムに一つ選択
-
複数値回答(マルチバリュー)
- ヘルスチェックを判定に使用可(Aがhealthy、Bがunhelthyだった場合もAのみ返る)
- 同じドメインで複数レコード登録
-
加重
- Aサーバに30%,Bサーバに20%,Cサーバに50%といった具合にリクエストを分散できる
- 同じドメインで複数レコード登録
- ヘルスチェックと併用可能
-
レイテンシー
- クライアントの近くの最もレイテンシー(遅延)の少ないサーバにリダイレクト
- レイテンシーはクライアントと設定したAWSリージョン間の遅延で評価
- 同じドメインで複数レコード登録
-
フェイルオーバー
- プライマリーサーバへのヘルスチェックがunhealthyになった場合、セカンダリのIPアドレスを返すようになる
- プライマリサーバへのヘルスチェック設定が必須
- 同じドメインで複数レコード登録(プライマリ、セカンダリ)
-
位置情報
- ユーザの位置情報に基づいたルーティング(イギリスからのトラフィックは特定のIPに送られるよう指定)
- デフォルトのポリシー作成が必要(ロケーションにマッチするものがない場合用)
- 同じドメインで複数レコード登録(デフォルトを1レコード、各国や地域単位のレコード)
- 地理的近接性
フェイルオーバー深堀り
- フェイルオーバー(アクティブ/パッシブ)
- フェイルオーバールーティングポリシーを用いたアクティブ/パッシブ構成
- フェイルオーバー(アクティブ/アクティブ)
- フェイルオーバールーティングポリシー以外のルーティングポリシーに対してヘルスチェックを適用し、アクティブ/アクティブ構成
シャッフルシャーディング
- Route53内部の耐障害性強化
- ユーザーごとに異なるサーバーセットを割り当てて影響を局所化
- DDoS攻撃の影響を「全体に拡散させない」耐障害性を実現
エニーキャストルーティング
- Route53のDNS応答を「最も近いサーバー」から返す仕組み
- 低レイテンシ&高可用性
Route 53 Resolver
- VPC向けDNS解決サービス
- オンプレ・他VPCとの名前解決連携を可能にする
他社ドメインを利用する方法
| 方法 | 概要 | 管理範囲 | 主な用途 |
|---|---|---|---|
| ①DNSのみRoute 53に移行 | ドメインは他社管理のまま、ネームサーバーだけRoute 53を使う | DNSレコード管理のみ | DNSをAWSで一元化したい場合 |
| ②ドメインごとRoute 53に移管 | ドメインのレジストラ自体をAWS Route 53へ移す | DNS+レジストラ両方 | AWSで完全にドメイン管理したい場合 |
①DNSのみRoute 53に移行
- Route 53でドメイン名と同じ名前で「パブリックホストゾーン」を作成
- Route 53で表示されるネームサーバー(NSレコード)を確認
- 他社のドメイン管理画面で、ネームサーバー設定をRoute 53で表示されたものに変更
②ドメインごとRoute 53に移管
- 移管元のレジストラからAuth Code(認証コード / EPPコード)を取得
- Route 53の「ドメイン移管」機能を利用(Auth Code入力)
- メールで承認
