コンテンツにスキップ

AWS Route53@AWSリソース

はじめに

本サイトにつきまして、以下をご認識のほど宜しくお願いいたします。


01. AWS Route53とは

クラウドDNSサーバーとして働く。

リクエストされたドメイン名とEC2のグローバルIPアドレスをマッピングしている。

名前の由来は、名前解決時に53番ポートを使用するためである。


02. セットアップ

コンソール画面の場合

設定項目 説明
ホストゾーン DNSゾーン情報として、ドメイン名を設定する。
DNSレコードセット 名前解決時のルーティング方法を設定する。DNSゾーンとしてのホストゾーン配下に、サブドメイン名を設定することもできる。


DNSレコード

▼ DNSレコードとは

各ホストゾーンにドメインの名前解決方法を定義したDNSレコードを設定する。

▼ DNSレコードタイプの種類

DNSレコードタイプ 説明 名前解決の仕組み 補足
A リクエストを転送したいAWSリソースの、IPv4アドレスまたはDNS名を設定する。 IPv4アドレスが返却される。
AAAA リクエストを転送したいAWSリソースの、IPv6アドレスまたはDNS名を設定する。 IPv6アドレスが返却される。
CNAME リクエストを転送したい任意のサーバーのドメイン名を設定する。 ドメイン名にリダイレクトする。 設定するドメイン名はAWSリソースでなくとも良い。
NS IPアドレスの問い合わせに応えられるDNSサーバーの名前が定義されている。 DNSサーバーの名前が返却される。
MX リクエストを転送したいメールサーバーのドメイン名を設定する。 メールサーバーのドメイン名が返却される。
TXT リクエストを転送したいサーバーのドメイン名に紐付けられた文字列を設定する。 ドメイン名に紐付けられた文字列が返却される。

▼ AWSリソースのDNS名、ドメイン名、エンドポイント名

URLと電子メールの構造

種別 AWSリソース
DNS名 ALB <ALB名>-<ランダムな文字列>.ap-northeast-1.elb.amazonaws.com
EC2 ec2-<パブリックIPをハイフン区切りにしたもの>.ap-northeast-1.compute.amazonaws.com
ドメイン名 CloudFront <発行されたランダム文字列>.cloudfront.net
エンドポイント名 RDS (Aurora) <DBクラスター名><ランダムな文字列>.ap-northeast-1.rds.amazonaws.com.
RDS (非Aurora) <DBインスタンス名><ランダムな文字列>.ap-northeast-1.rds.amazonaws.com.
S3 <バケット名>.ap-northeast-1.amazonaws.com

▼ AWS以外でドメインを購入した場合

ドメイン名の名前解決は、ドメインを購入したドメインレジストラで行われる。

そのため、AWS以外 (例:お名前ドットコム) でドメインを購入した場合、AWS Route53のNSレコード値を、ドメインを実際に購入したサービスのドメインレジストラに登録する必要がある。

これにより、ドメインレジストラに対してIPアドレスの問い合わせがあった場合は、AWS Route53のNSレコード値がDNSサーバーにレスポンスされるようになる。

DNSサーバーがAWS Route53に問い合わせると、AWS Route53はDNSサーバーとして動作し、アプリケーションのIPアドレスをレスポンスする。

一方で逆も然りで、AWS以外のシステムのドメインをAWS Route53で購入した場合、そのシステムのNSレコードをAWS Route53に登録することになる。

▼ DNSキャッシュ

ルートサーバーは世界に13機しか存在しておらず、現実的には、世界中の名前解決の全てのリクエストを処理できない。

そこで、IPアドレスとドメイン名の関係をキャッシュするプロキシサーバー (キャッシュDNSサーバー) が使用されている。

基本的には、プロキシサーバーとDNSサーバーは区別されるが、AWS Route53はプロキシサーバーとDNSサーバーの能力を両立している。


リゾルバー

▼ リゾルバーとは

記入中...


ルーティングポリシー

▼ ルーティングポリシーとは

ドメイン名の名前解決ルールを設定する。

▼ シンプル

ドメイン名に単一のIPアドレスを紐付けられる。

ドメインの名前解決では、単一のIPアドレスが返却される。

▼ 複数値回答

ドメイン名に複数のIPアドレスを紐付けられる。

ドメインの名前解決では、正常なIPアドレスを均等に返却する。

ヘルスチェック機能を持つラウンドロビン方式と言い換えても良い。

▼ 加重

ドメイン名に複数のIPアドレスを紐付けられる。

ドメインの名前解決では、IPアドレスを指定した割合で返却する。

同じ名前で複数のレコードを作成し、各レコードのルーティングポリシーを加重とする。

これらの重み付けが合計100になるようにする。

現環境から新環境にできるだけ素早く切り替えられるように、DNSキャッシュであるTTL (秒) はあらかじめ短く設定しておく。

レコード名 ルーティングポリシー TTL (秒) 重み付け ルーティング先
example.com 加重 60 30 ブルー環境のALB (現環境)
example.com 加重 60 70 グリーン環境のALB (新環境)

aws_route53_routing-policy_weighted-routing


03 AWS Route53 + DNSサーバーによる名前解決の仕組み

AWS Route53を含む名前解決の仕組み

(1)

クライアントPCは、www.example.comにマッピングされるIPアドレスのキャッシュを検索する。キャッシュが無ければ、クライアントPCはドメイン名をキャッシュDNSサーバーに問い合わせる。

(2)

キャッシュDNSサーバーは、IPアドレスのキャッシュを検索する。キャッシュが無ければ、キャッシュDNSサーバーはドメイン名をDNSサーバーに問い合わせる。

(3)

AWS Route53は、IPアドレスのキャッシュを検索する。キャッシュが無ければ、AWS Route53はIPアドレスを検索する。また、キャッシュDNSサーバーにこれを返却する。

ドメイン名 AWS Route53による変換 IPアドレス
http://www.example.com 203.142.205.139
(4)

キャッシュDNSサーバーは、IPアドレスをNATに返却する。この時、IPアドレスのネットワーク間変換が起こる。

(5)

NATは、IPアドレスをクライアントPCに返却する。

(6)

クライアントPCは、返却されたIPアドレスを基にWebページにリクエストを送信する。