Route 53で登録されたドメインのレコードを編集しなければならない場合があります。しかし、その都度入力すべきものだけ調べていて、各入力フィールドがなぜあるのか、何を入力すべきかをよく分からないまま使っていました。
Route 53とはAWSが提供するDNSサービスです。
Route 53を通じてドメインを登録し、トラフィックをAWSサービスや他のWebアプリケーションに効率的にルーティングできます。
そこで今回一度整理してみようと思います!
AWSのRoute 53でドメインを一つ選んでCreate recordボタンを押すと、以下のような画面が表示されるはずです。

青いInfoをクリックすると英語の説明を見ることができます。
ホスティングゾーンの各レコードは、Route 53がDNSクエリに応答する方法を定義します。複数のレコードに対する設定を指定してから一度にすべて作成することもできます。
Record name#
ドメインの名前を表し、各レコードがどのドメインやサブドメインに属するかを区別する役割を果たします。
ドメインルート自体を使用したい場合は、このフィールドを空のままにするか@を入力することもできます。
例)www.example.com はexample.comのサブドメインです。
Record type#
選択したオプションによってValueの入力例が変わります。一部のタイプは選択したポリシーによって使用できない場合があります。
A - IPv4アドレスにトラフィックをルーティングします
AAAA - IPv6アドレスにトラフィックをルーティングします
CNAME - エイリアスのように別のドメイン名にトラフィックをルーティングします
MX - メール受信サーバーを指定します
TXT - ドメイン所有確認、メール送信者認証、アプリケーション設定に使用されます
PTR - IPアドレスをドメイン名にマッピングします
SRV - 特定のサービスを提供するサーバーを識別するために使用されます
SPF - メール送信者認証に使用されていましたが、現在はTXTレコードで実装するため推奨されていません
NAPTR - 特定の通信プロトコルやDDDSアプリケーションで使用されます
CAA - ドメインに対してSSL/TLS証明書を発行できる認証機関を制限します
NS - ホスティングゾーン内の権威あるネームサーバーを指定します
DS - DNSSECのための信頼チェーンを設定するために使用されます
TLSA - ドメイン名に対してTLS証明書を使用するサービスを安全に設定するために使用されます
SSHFP - SSHサーバーの公開鍵フィンガープリントをDNSに保存するために使用されます
HTTPS - HTTPSに関連する情報を含むレコードです
SVCB - サービスエンドポイントと接続設定情報を含みます。クライアントとサーバー間の接続を最適化するのに役立ちます
Alias#
AWS Route 53が提供する特殊オプションです。特定のAWSリソースと統合できます。
これを使用するとValueとTTLが消え、Route traffic toが表示されます。
endpointとregionを選択する必要があります。
Route traffic to#
Aliasオプションを選択した時に表示されるオプションで、トラフィックをどこに送るかを指定します。
S3バケット、ELB、CloudFrontディストリビューション、または他のRoute 53レコードに接続できます。
例)CloudFrontディストリビューションと接続すると、ユーザーはドメインを通じてCloudFrontにトラフィックをルーティングでき、IP変更時にも設定を修正する必要がありません。
Value#
各レコードの実際の値で、IPアドレス、エイリアス先のドメイン名、メールサーバーアドレスなど、ルーティング先のアドレスを指定します。
TTL#
レコードがキャッシュに保持される時間を設定します。TTLが短いとキャッシュが早く更新されますが、頻繁に更新されるためDNSリクエストのコストが増加する可能性があります。
Routing policy#
選択したポリシーによってUIが変わり、入力フィールドが追加されます。
Simple: シンプルルーティング
最も基本的なルーティング方式です。一つのドメイン名に対して一つのIPアドレスを返します。
例)ユーザーがドメイン名でリクエストすると、設定した単一エンドポイント(サーバー)にトラフィックが送信されます。
Weighted: 加重ルーティング
複数のエンドポイントにトラフィックを分散させたい場合に使用します。
各エンドポイントに重みを付与して、特定のエンドポイントにより多くのトラフィックが行くようにしたり、トラフィックを比率で分けたりできます。
Geolocation: 地理的位置ベースのルーティング
ユーザーの地理的位置に応じてトラフィックをルーティングします。
例)韓国からアクセスしたユーザーとアメリカからアクセスしたユーザーがいる場合、それぞれ近いサーバーに接続されるようにできます。
Latency: レイテンシベースのルーティング
ユーザーとの間で最も低いレイテンシを提供するエンドポイントにトラフィックを送ります。
世界中の複数のリージョンにサーバーが分散している場合に有効です。
Failover: フェイルオーバールーティング
障害発生時にバックアップエンドポイントにトラフィックを自動的に切り替えるルーティング方式です。
基本的にはプライマリエンドポイントにルーティングされますが、障害が検知されるとバックアップエンドポイントに切り替わります。
Multivalue answer - マルチバリュー応答
複数の値を持つレコードを返し、それぞれ異なるエンドポイントにトラフィックを分散します。
ヘルスチェックを通じて利用可能なエンドポイントのみを返すことで、可用性を向上させることができます。
IP-based - IPベースのルーティング
IPベースのルーティングは、ユーザーのリクエストを送信元IPアドレスに応じて特定のリソースにルーティングする方式です。
特定のIPアドレスブロックを基準にトラフィックをルーティングでき、特定のIP帯域をターゲットに特定サーバーへのアクセスを設定する際に便利です。一般的に特定のIP範囲に合わせたユーザー層にカスタマイズされたコンテンツやリソースを提供する必要がある場合に使用されます。
Geoproximity - 地理的近接ベースのルーティング
AWS Global Acceleratorと連動し、ユーザーの物理的な距離と指定された比率に基づいて特定のリソースにトラフィックをルーティングする方式です。
ユーザーがリソースに近いほどそのリソースを優先するように設定でき、AWSコンソールでBias値を調整してトラフィックをどの位置に優先的に送るかを細かく制御できます。
複数のAWSリージョン間のトラフィックを分配したり、地域ごとにリソースを最適化する必要がある場合に有効です。
We know nothing of tomorrow, our business is to be good and happy today.
— Sydney Smith