
참고 https://repost.aws/ko/knowledge-center/route-53-fix-dns-resolution-issues/
AWS VPC 환경에서는 EC2 Instance가 Domain Name을 IP Address로 변환하기 위해 DNS Server를 사용하며, 기본적으로 AWS에서 제공하는 DNS Resolver인 AmazonProvidedDNS를 사용할 수 있습니다.
AWS에서 제공하는 DNS Server의 주소는 VPC의 Primary IPv4 CIDR을 기준으로 결정되며, VPC Network Address에 2를 더한 주소(VPC+2) 를 사용합니다. 따라서 VPC의 CIDR 범위를 알고 있다면 해당 VPC에서 사용하는 DNS Server IP를 쉽게 확인할 수 있습니다.
또한 VPC에 연결된 DHCP Option Set을 통해 EC2 Instance에 DNS Server 정보를 전달하며, Instance 내부에서는 /etc/resolv.conf 파일을 통해 실제로 설정된 DNS Server 주소를 확인할 수 있습니다.
AWS VPC에서는 기본적으로 Route 53 VPC Resolver를 통해 DNS Query를 처리합니다.
VPC에서 제공하는 DNS Server IP는 VPC의 Primary IPv4 CIDR Network Address에 2를 더한 값을 사용하며, 이를 VPC+2 주소라고 합니다.
예시는 다음과 같습니다.
VPC CIDR 범위가 10.0.0.0/16인 경우, 10.0.0.0 + 2 = 10.0.0.2 따라서 해당 VPC에서 제공하는 DNS Server IP는 10.0.0.2가 됩니다.
EC2 Instance에서는 /etc/resolv.conf 파일을 통해 현재 사용 중인 DNS Server 정보를 확인할 수 있습니다.
cat /etc/resolv.conf

VPC CIDR이 10.0.0.0/16인 환경이라면 DNS Server 주소가 10.0.0.2로 설정되어 있는 것을 확인할 수 있습니다.
이번 내용을 통해 AWS VPC 환경에서 제공되는 DNS Server의 주소가 어떻게 결정되는지 확인할 수 있었습니다.
AWS에서는 VPC의 Primary IPv4 CIDR Network Address에 2를 더한 VPC+2 주소를 DNS Resolver로 제공하며, EC2 Instance는 DHCP Option Set을 통해 전달받은 DNS 정보를 사용하여 Domain Name Resolution을 수행합니다.
또한 EC2 Instance의 /etc/resolv.conf 파일을 확인함으로써 실제 Instance에서 사용 중인 DNS Server 주소와 VPC에서 제공하는 DNS Resolver 주소가 일치하는 것을 확인할 수 있었습니다.
이를 통해 AWS VPC 내부에서 DNS Query가 처리되는 기본적인 구조와 AmazonProvidedDNS, DHCP Option Set, EC2 Instance 간의 관계를 이해할 수 있었습니다.