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名、ドメイン名、エンドポイント名¶
種別 | 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 (新環境) |
03 AWS Route53 + DNSサーバーによる名前解決の仕組み¶
(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ページにリクエストを送信する。