18
13

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

AWS DNS の基本

Last updated at Posted at 2021-11-07

DNS(Domain Name System)

ここでは AWS ではなく、一般的なDNSの役割を記載します。

image.png

  • Name Server
    クライアントから FQDN を探索し、自身が名前解決を行うサーバーを示します。

  • Full Serivice Resolver
    ネームサーバーからの応答をクライアントに返す役割を示します。

  • Stub Resolver
    フルサービスリゾルバーに名前解決の実行を委ねるリゾルバーです。
    DNSクライアントとして名前解決を要求する側に位置しており、要求に対して応答を受けます。

  • Forwarder
    要求を受け取った際に、ルールに沿って、中継する役割を示します。
    ネームサーバーへ辿る反復問合せの機能を持たないため、常に再帰的問合せを行います。

  • 反復問合せ
    ネームサーバーに直接問合せ(名前解決を要求)をするもの

  • 再帰的問合せ
    問合せ先へ、反復問合せを要求する問合せ(フォワーダーを経由する問合せ)

VPC

VPC上に展開されるサービスの DNS を理解する上で、いくつかの用語の説明をします。

  • Amazon Route 53 Resolver について

Amazon Route 53 Resolver は VPC を作成するとデフォルトで作成され、VPC 内のインスタンスを名前解決するために AWS から提供されるAmazon DNS サーバーにマッピングされます。
後述のDHCPオプションセットに関する設定値に出てきますが、AmazonProvidedDNS は、Amazon Route 53 Resolver の旧称です。

VPC を作成した際に指定する、IP アドレスの範囲(CIDR)において、先頭から 2 をプラスした IPアドレス が、DNSサーバー(前述のフォワーダー+フルサービスリゾルバー)として機能します。

image.png

  • プライベート DNS ホスト名
    プライベートDNS ホスト名は、インスタンスのプライベート IPv4 アドレスに解決されます。通常、プライベート DNS ホスト名は、ip-private-ipv4-address.region.compute.internal の形式になります
    プライベート DNS ホスト名は、同じネットワーク内のインスタンス間の通信に使用できます。

  • パブリック DNS ホスト名
    パブリック DNS ホスト名は、インスタンスのパブリック IPv4 アドレスに解決されます。パブリック DNS ホスト名には ec2-public-ipv4-address.region.compute.amazonaws.com という書式が使用されます。

Amazon DNS サーバーがパブリック DNS ホスト名を解決すると、インスタンスはパブリック IPv4 アドレスおよびインスタンスのプライベート IPv4 アドレスから構成されます。

Setting on VPC

VPC にはDNSに関する設定値が存在します。

1. DNS 解決(DNS resolution) 値: 有効/無効

デフォルトは有効です。
有効化すると、DNS 解決がサポートするかどうかを決定します。
有効である場合、パブリック DNS ホスト名を IP アドレスに名前解決するための Amazon Route 53 Resolverが使用されます。
無効である場合、Amazon Route 53 Resolverが使用出来ません。

2. DNS ホスト名(DNS hostnames) 値: 有効/無効

デフォルトは有効です。
パブリック IP アドレスを持つインスタンスが、対応するパブリック DNSホスト名(FQDN)を取得するかどうか示します。
DNSホスト名は、ホスト名とドメイン名で構成され、DNS サーバーが DNS ホスト名を対応する IP アドレスに解決します。
有効である場合、VPC 内のインスタンスは DNS ホスト名を取得し、無効の場合は取得をしません。

なお、DNSホスト名の有効化は、DNS 解決が有効である場合に限ります。

3. DHCPオプションセット

VPC単位でDHCPオプションセットを1つ付与出来ます。
DHCPのオプションフィールドに設定された情報が、VPC内で起動したインスタンスに反映されます。
DHCPオプションセットに適用する基本的な設定を2点挙げます。

3-1 ドメイン名
ドメイン名を指定します。
Amazon Route 53 Resolver(AmazonProvidedDNS)を使用しない場合、カスタムドメインネームサーバーが必要に応じてホスト名を解決する必要があります。
後述の Amazon Route 53プライベートホストゾーンを使用する場合は、Amazon Route 53 Resolverを使用する必要があります。
デフォルトVPC に付与されているDHCPオプションセットでは region.compute.internal というドメイン名が設定されます。

3-2 ドメインネームサーバー
デフォルトは Amazon Route 53 ResolverのIP で、指定しないと Amazon Route 53 Resolver(AmazonProvidedDNS) が設定されます。
その他、別のドメインネームサーバーを使用する場合、最大4つのIPアドレスを指定出来ます。


これらの設定から VPC の各パラメーターを有効/無効 にした場合の名前解決を以下に示します。

  • DNS 解決 / DNS ホスト名をいずれも有効とした場合の名前解決はどうなるか。

パブリックDNSホスト名が付与されます。
Amazon Route 53 Resolver(AmazonProvidedDNS)によりプライベートDNS名の名前解決が可能となります。

image.png

  • DNS 解決 / DNS ホスト名をいずれも無効とした場合の名前解決はどうなるか。

パブリック IP アドレスを持つインスタンスは、対応するパブリック DNS ホスト名を受け取りません。
Amazon Route 53 Resolver は、Amazon が提供するプライベート DNS ホスト名を解決できません。
DHCP オプションセットで、AmazonProvidedDNS による解決は出来ないため、カスタムドメイン名あるいAmazonProvidedDNS以外のIPアドレスを指定して、カスタムドメインネームサーバーがホスト名を解決する仕組みが必要です。

image.png

Amazon Route 53

上述では Amazon Route 53 Resolver が多く出てきましたが、マネージドサービスとしての Route53 について触れます。

Route53 の DNS に関連する事項を記載します。

  • 新規ドメインの登録

新しいドメイン名を取得する場合は、ドメイン名を Amazon Route 53 に登録することができますが、登録後のドメインの値の変更は出来ません。
また、他のプロバイダから Route53 へドメインの移管も可能です。
但し、Amazon Route 53 でドメインを登録するために使用できる最上位ドメイン (TLD) には指定がありますので、これに準拠するドメインのみ Route53 での登録が可能です。

Amazon Route 53 に登録できる最上位ドメイン

  • DNS として機能する Route53

これは、以下の2ケースに分けられます。
後述する zone は名前空間の形成構造を示すもので、ここではローカルドメインとインターネットとして二つのzoneに分離されます。

  • Public Host Zone

インターネットに公開された DNS ドメインのレコードを登録する事が可能で、レコードに紐づくドメインをルーティングし、要求元に返すコンテナです。
上述のRoute53 にドメインを新規登録すると、そのドメインのホストゾーンが自動的に作成されますが、既存のドメインの DNS サービスとして Route53 に転送する場合、Public Host Zone を作成する際に、一意のドメイン名を指定します。

image.png

  • Private Host Zone

VPC 上に閉じたプライベートネットワーク内(ローカルドメイン)のドメインのレコードを登録する事が可能で、レコードに紐づくIPを要求元に返すコンテナです。
Private Host Zone を作成する際に、作成するzoneのドメイン名と、これに紐づく VPC を選択する必要があります。
名前解決では、プライベートホストゾーンに関連付けた VPCでリソースを実行している必要があり、DNSクライアントから DNSクエリを送信すると、Route53 は対応する IP アドレスを返します。

image.png

レコードを作成するときは、Amazon Route 53 がクエリに応答する方法を決定するルーティングポリシーを選択できます。

- シンプルルーティングポリシー – ドメインで特定の機能を実行する単一のリソースがある場合に使用します。例えば、example.com ウェブサイトにコンテンツを提供する 1 つのウェブサーバーなどです。
- フェイルオーバールーティングポリシー – アクティブ/パッシブフェイルオーバーを構成する場合に使用します。
- 位置情報ルーティングポリシー – ユーザーの位置に基づいてトラフィックをルーティングする場合に使用します。
- 地理的近接性ルーティングポリシー – リソースの場所に基づいてトラフィックをルーティングし、必要に応じてトラフィックをある場所のリソースから別の場所のリソースに移動する場合に使用します。
- レイテンシールーティングポリシー – 複数の AWS リージョンにリソースがあり、より少ない往復時間で最良のレイテンシーを実現するリージョンにトラフィックをルーティングする場合に使用します。
- 複数値回答ルーティングポリシー – ランダムに選ばれた最大 8 つの正常なレコードを使用して Route 53 が DNS クエリに応答する場合に使用します。
- 加重ルーティングポリシー – 指定した比率で複数のリソースにトラフィックをルーティングする場合に使用します。

なお、各ゾーンでサポートされる DNS レコードタイプは以下のいずれかです。

A レコードタイプ
AAAA レコードタイプ
CAA レコードタイプ
CNAME レコードタイプ
DS レコードタイプ
MX レコードタイプ
NAPTR レコードタイプ
NS レコードタイプ
PTR レコードタイプ
SOA レコードタイプ
SPF レコードタイプ
SRV レコードタイプ
TXT レコードタイプ
  • Route 53 Resolver のエンドポイント使用

Route 53 Resolver エンドポイントは、DNSクエリを VPCから特定のネットワークへ、あるいは特定のネットワークからVPCへ、または双方にルーティングするためにリゾルバーが必要とする情報を提供します。

  • Inbound Endpoint

ネットワークから Resolver に DNS クエリを転送するには、インバウンドエンドポイントを作成します。

image.png

インバウンドエンドポイントを作成する場合、以下の情報が必要です。

- 対象のVPC
- エンドポイントに対するセキュリティグループ
- Inbound Endpoint のIPアドレス2つ(VPC上のサブネットを指定し、範囲内のIPを指定あるいは、AWSから自動で選択いただきます)
  • Outbound Endpoint

VPC上にあるインスタンスから発信された DNS クエリを、各ネットワークに転送するには、アウトバウンドエンドポイントを作成します。
アウトバウンドエンドポイントは、クエリの送信元の IP アドレスを指定します。VPC で使用できる IP アドレスの範囲から選択するこれらの IP アドレスは、パブリック IP アドレスではありません。つまり、アウトバウンドエンドポイントごとに、AWS Direct Connect 接続、VPN 接続、またはネットワークアドレス変換 (NAT) ゲートウェイを使用して VPC をネットワークに接続する必要があります。同じリージョン内の複数の VPC で、同一のアウトバウンドエンドポイントを使用することも、複数のアウトバウンドエンドポイントを作成することもできます。

image.png

アウトバウンドエンドポイントを作成する場合、以下の情報が必要です。

- 対象のVPC
- エンドポイントに対するセキュリティグループ
- Outbound Endpoint のIPアドレス2つ(VPC上のサブネットを指定し、範囲内のIPを指定あるいは、AWSから自動で選択いただきます)
- アウトバウンドトラフィックに関するrule

アウトバウンドのruleの設定値は以下となります。

- 転送(Forward) 
指定のアドレスに DNS クエリを転送し、指定したドメイン名が一致すれば、ネームサーバーへルーティングされます。 Target IP /ドメイン名/ 適用するアウトバウンドエンドポイントの情報が必要。

- System
特定のドメインを上記転送ルールで転送した後、転送対象ドメインの特定サブドメインのみをインターネット上に向けます。ドメイン名が必要です。
18
13
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
18
13

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?