ドメインの Amazon Route 53 レコードを作成中です。ルーティングポリシーを選択する必要がありますが、シンプルルーティングポリシーと複数値回答ルーティングポリシーのどちらを使用すればよいですか?
簡単な説明
シンプルルーティングポリシーは、標準の DNS レコードのみを必要とし、加重ルーティングやレイテンシールーティングなどの特別なオプションを必要としないトラフィックに使用します。たとえば、トラフィックを 1 つのリソースにルーティングする場合は、シンプルルーティングを使用します。シンプルルーティングでは、同じ名前やタイプの複数のレコードを使用することはできません。ただし、1 つのレコードに複数の値 (複数の IP アドレスなど) を含めることができます。
複数値回答ルーティングポリシーは、複数のリソースに DNS レスポインスを分散する場合に使用します。たとえば、複数のルーティングレコードを Route 53 ヘルスチェックに関連付ける場合は、複数値回答ルーティングを使用します。また、DNS クエリに複数の値を返す場合や、複数の IP アドレスにトラフィックをルーティングする場合にも複数値回答ルーティングを使用します。
解決方法
シンプルルーティング
以下の場合は、シンプルルーティングポリシーを使用します。
- 名前やタイプ別に基本レコードを 1 つのみ作成する
- 1 つのリソース (ウェブサイトのウェブサーバーなど) にトラフィックをルーティングする
- 複数の値を持つ 1 つのレコード (複数の IP アドレスを指定する A レコードなど) にトラフィックをルーティングする
注意: Route 53 はクライアントに対して値をランダムな順序で返します。シンプルルーティングポリシーでは、値の重み付けや順序の指定はできません。
次の例では、ドメインのすべてのレコードが 1 つのリソースレコードセット内に作成されています。
| | | |
---|
名前 | タイプ | 値 | TTL |
www.example.com | A レコード | 192.0.2.1 | 60 |
| | 198.51.100.1 | 60 |
| | 203.0.113.1 | 60 |
クライアントが DNS リクエストを行うと、Route 53 はすべての表示されている IP アドレスを返します。
注意: シンプルルーティングポリシーにヘルスチェックをアタッチすることはできません。代わりに、Route 53 は、IP アドレスのステータスに関係なくすべての値をクライアントに返します。異常な IP アドレスが返されると、ユーザーのクライアントは異常な IP に接続しようとするため、ダウンタイムが発生します。
複数値回答ルーティング
以下の場合は、複数値回答ルーティングポリシーを使用します。
- 同じ名前やタイプで複数のレコードを作成する
- 複数のリソースにトラフィックをルーティングする
- Route 53 ヘルスチェックを複数のレコードに関連付ける
クライアントが複数値回答ルーティングを使用して DNS リクエストを行うと、Route 53 は DNS クエリに応答して特定のドメイン名の正常なレコードを最大 8 個ランダムに選択して返します。これらの各レコードは Route 53 ヘルスチェックにアタッチできます。これにより、到達できない DNS レスポンスがクライアントで受信されなくなります。
複数値回答ルーティングは、複数の IP アドレスに DNS レスポインスを分散します。リゾルバーがレスポンスをキャッシュした後でウェブサーバーが使用できなくなると、クライアントはダウンタイムを避けるためにレスポンス内の他の最大 8 個の IP アドレスを試すことができます。
注意: 複数値回答ルーティングは、Elastic Load Balancing (ELB) に代わるものではありません。Route 53 は 8 個のレコードをランダムに選択します。ドメイン名に対して dig (Linux の場合) または nslookup (Windows の場合) を複数回実行すると、IP アドレスのローテーションに気付く場合があります。このローテーションで可用性が向上し、ある程度のロードバランシング機能が提供されます。オペレーティングシステムでは、Route 53 ではなく、キャッシュされたレスポンスで、このラウンドロビン DNS を実行します。
複数の値を複数値回答レコードセットに入力する場合は、同じ名前で別のリソースレコードを作成し、各値を別個に入力する必要があります。これを行わないと、Getting error: The record set could not be saved because: - Each Multivalue answer record can have only one value.(Route 53 returns one answer from multiple records.) (取得エラー: レコードセットを保存できません: - 各複数値回答レコードは 1 つの値のみを持つことができます (Route 53 は複数のレコードから 1 つの回答を返します)) というエラーが発生します。
次の例では、複数の A レコードがあり、それぞれの値が異なります。
| | | | | |
---|
名前 | タイプ | 値 | TTL | セット ID | ヘルスチェック |
www.example.com | A レコード | 192.0.2.2 | 60 | Web1 | A |
www.example.com | A レコード | 198.51.100.2 | 60 | Web2 | B |
www.example.com | A レコード | 203.0.113.2 | 60 | Web3 | C |
注意: 同じ名前やタイプで複数の複数値回答ルーティングレコードを作成し、異なる TTL 値を指定すると、Route 53 はすべてのレコードの TTL 値を最後に指定した値に変更します。
関連情報
change-resource-record-sets
レコードのクォータ