type
status
date
slug
summary
tags
category
icon
password
理論
VPC内のDNS設定とプライベートホステッドゾーン
Amazon Web Services (AWS) のVirtual Private Cloud (VPC)を使用している場合、DNSの設定は非常に重要です。VPC内のリソースが正しく通信できるようにするためには、DNS解決を適切に設定する必要があります。以下は、VPC内でDNS解決を管理するための主要なポイントです。
1. DNSサポートの有効化
enableDnsSupport
属性を有効にすると、VPC内のインスタンスがDNSを使用して名前解決を行うことができます。この属性が無効の場合、VPC内のインスタンスはDNSを使用できません。
2. パブリックDNSホスト名の設定
enableDnsHostnames
属性を有効にすることで、VPC内のインスタンスにパブリックDNS名を付与することができます。これにより、インスタンスがインターネットに公開されている場合、そのインスタンスにパブリックホスト名が自動的に割り当てられます。
3. プライベートホステッドゾーン
- プライベートホステッドゾーンは、VPC内でのみ名前解決されるDNSゾーンを提供します。これにより、VPC内のインスタンスがプライベートなDNS名前解決を行えるようになります。
- プライベートホステッドゾーンは、通常、VPCに関連付けて使用します。これにより、VPC内のリソースがDNSクエリをそのプライベートホステッドゾーンで解決できます。
4. DHCPオプションセット

VPCのDHCPオプションセットの主な役割の1つは、インスタンスのネットワーク設定に関連するパラメータ、特に**時間サーバー(NTPサーバー)やドメインネームサーバー(DNSサーバー)**を設定することです。
デフォルト設定
- DNSサーバー:
- デフォルトでは、AWSはVPC内のインスタンスにAmazon提供のDNSサービス(
AmazonProvidedDNS
)を提供します。このサービスは、AWS内で使用されるドメイン(例えば、ec2.internal
)や外部ドメイン(例えば、google.com
)を解決できます。
- 時間サーバー(NTP):
- デフォルトでは、VPC内のインスタンスはAWSが提供するNTPサーバーを使用して、システム時間を同期します。
カスタム設定
もし、独自のDNSサーバーや外部のNTPサーバー(例えば、企業内のDNSや時間同期サーバー)を使用する必要がある場合、DHCPオプションセットでそれらの設定を変更することができます。これにより、VPC内のインスタンスは、AWSのデフォルトのサービスではなく、指定した外部のDNSサーバーやNTPサーバーを使用するようになります。
意味:
- AmazonProvidedDNS は、AWSが提供するDNSサーバーで、通常、VPC内のインスタンスがインターネットや内部ドメイン名(例:
ec2.internal
)を解決するために使用します。
- この設定をVPCのDHCPオプションセットに追加すると、そのVPC内のすべてのインスタンスがこのDNSサーバーを使用して名前解決を行うことになります。
具体的には:
- AmazonProvidedDNS は、VPC内のインスタンスがインターネット上のホスト名(例:
www.example.com
)を解決するために使用されるDNSサーバーです。
- また、AWS内部で動作しているサービスやリソース(例: EC2インスタンスやALBなど)のドメイン名(例:
ec2.internal
)を解決するためにも使われます。
例:
- VPC内でインスタンスがインターネットのウェブサイトにアクセスする場合、
AmazonProvidedDNS
サーバーを使用してそのウェブサイトのIPアドレスを解決します。
AmazonProvidedDNS
は、ec2.internal
ドメインに関連するインスタンスやリソースの名前解決もサポートします。
まとめ
- デフォルトでは、AWSはDNSサーバーとNTPサーバーを提供しますが、特別なニーズがある場合(例えば、社内DNSやNTPサーバーを使いたい場合)は、それらをDHCPオプションセットでカスタマイズすることができます。
- DHCPオプションセットは、VPC内のインスタンスに対してこれらの設定を統一的に提供する方法です。
5. DNSクエリの管理
- VPC内でDNS解決を管理するために、プライベートホステッドゾーンを作成してVPCに関連付けます。これにより、プライベートなDNS名前解決を行い、インターネットに公開しないリソースに対しても名前解決が可能になります。
6. DNSとインターネットアクセス
- VPC内のインスタンスがインターネットにアクセスする場合、パブリックIPアドレスを持つインスタンスは、対応するパブリックDNS名を使用してアクセスできます。このDNS名は、
enableDnsHostnames
を有効にすることで自動的に割り当てられます。
よくある課題と解決策
- DNS解決の失敗: DNS解決がうまくいかない場合、
enableDnsSupport
やenableDnsHostnames
の設定を確認しましょう。また、DHCPオプションセットが正しく設定されていることを確認することも重要です。
- パブリックIPのDNS名の不一致:
enableDnsHostnames
が無効だと、インスタンスにパブリックDNS名が割り当てられません。この設定を有効にすることで、インスタンスのパブリックDNS名が自動的に割り当てられます。
まとめ
enableDnsSupport
とenableDnsHostnames
を適切に設定することは、VPC内でのDNS解決において非常に重要です。
- プライベートホステッドゾーンを作成してVPCに関連付けることで、プライベートDNS名前解決を実現できます。
- AmazonProvidedDNS を利用することで、AWSのデフォルトDNSサーバーが利用可能となり、インターネット接続を持つインスタンスにも対応するDNS解決が提供されます。
実践
一問道場
質問 #304
ソリューションアーキテクトが既存のVPCのDNS戦略を決定しています。VPCは10.24.34.0/24のCIDRブロックを使用するようにプロビジョニングされています。VPCはまた、Amazon Route 53 ResolverをDNSに使用しています。新たに要求されている要件は、DNSクエリがプライベートホステッドゾーンを使用する必要があることです。また、パブリックIPアドレスを持つインスタンスは、対応するパブリックホスト名を受け取る必要があります。
この要件を満たし、VPC内でドメイン名が正しく解決されることを保証するソリューションはどれですか?
A.
- プライベートホステッドゾーンを作成する。
- VPCの
enableDnsSupport
属性とenableDnsHostnames
属性を有効にする。
- VPCのDHCPオプションセットを更新し、
domain-name-servers=10.24.34.2
を含める。
B.
- プライベートホステッドゾーンを作成する。
- プライベートホステッドゾーンをVPCに関連付ける。
- VPCの
enableDnsSupport
属性とenableDnsHostnames
属性を有効にする。
- 新しいVPCのDHCPオプションセットを作成し、
domain-name-servers=AmazonProvidedDNS
を設定する。
- 新しいDHCPオプションセットをVPCに関連付ける。
C.
- VPCの
enableDnsSupport
属性を無効にし、enableDnsHostnames
属性を有効にする。
- 新しいVPCのDHCPオプションセットを作成し、
domain-name-servers=10.24.34.2
を設定する。
- 新しいDHCPオプションセットをVPCに関連付ける。
D.
- プライベートホステッドゾーンを作成する。
- プライベートホステッドゾーンをVPCに関連付ける。
- VPCの
enableDnsSupport
属性を有効にする。
- VPCの
enableDnsHostnames
属性を無効にする。
- VPCのDHCPオプションセットを更新し、
domain-name-servers=AmazonProvidedDNS
を含める。
解説
この質問では、VPC内でDNSクエリが正しく解決されるように設定を行う方法を尋ねています。新しい要件として、以下が求められています:
- DNSクエリはプライベートホステッドゾーンを使用すること。
- パブリックIPアドレスを持つインスタンスは、対応するパブリックホスト名を持つこと。
解説:
- プライベートホステッドゾーンの作成と関連付け:
- プライベートホステッドゾーンは、VPC内のインスタンスがクエリするDNSレコードを管理します。DNSクエリをプライベートホステッドゾーンに解決させるためには、このゾーンをVPCに関連付ける必要があります。
- VPCのDNS設定:
enableDnsSupport
属性は、VPC内でDNS解決を有効にするための設定です。これを有効にすると、VPC内のインスタンスがDNSを使用できるようになります。enableDnsHostnames
属性は、インスタンスにパブリックDNS名を付与する設定です。これを有効にすることで、インスタンスがパブリックIPを持っている場合、そのインスタンスに対応するパブリックDNS名を割り当てることができます。
- DHCPオプションセットの設定:
- VPC内のインスタンスが使用するDNSサーバーを指定するために、DHCPオプションセットを使用します。
domain-name-servers
を設定することで、DNSサーバーを指定できます。AmazonProvidedDNS
はAWSのデフォルトのDNSサーバーであり、これを設定すると、AmazonのDNSサービスを使用できます。
各選択肢の評価:
- A.
- プライベートホステッドゾーンを作成し、
enableDnsSupport
とenableDnsHostnames
を有効にする点は適切です。しかし、domain-name-servers=10.24.34.2
を指定するのは間違いです。AmazonProvidedDNS
を使うべきです。
- B.
- 正しいソリューションです。プライベートホステッドゾーンを作成してVPCに関連付け、
enableDnsSupport
とenableDnsHostnames
を有効にし、DHCPオプションセットでAmazonProvidedDNS
を指定しています。この設定により、要求を満たします。
- C.
enableDnsSupport
を無効にするのは誤りです。これにより、DNS解決が無効になります。enableDnsHostnames
を有効にするのは正しいですが、enableDnsSupport
は有効にする必要があります。
- D.
enableDnsHostnames
を無効にするのは誤りです。これにより、パブリックIPを持つインスタンスに対応するパブリックDNS名が割り当てられません。enableDnsSupport
は有効にする必要があります。
結論:
正しい解答は B です。この設定は、プライベートホステッドゾーンを作成し、VPCに関連付け、必要なDNS設定を適切に行う方法を提供しています。
- 作者:みなみ
- 链接:https://tangly1024.com/資格勉強/175d7ae8-88e2-802a-94b5-d1673c195067
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
相关文章