본문으로 바로가기
반응형

Intro

만약 사내에 도메인 서버가 없는데 내부에서만 도메인을 쿼리할 수 있도록 하려면 어떻게 해야할까요? 일반적으로 생각할 수 있는 방법은 크게 2가지 입니다.

  1. 로컬PC에 host 파일에 직접 도메인과 IP를 넣는다
  2. 내부에 도메인서버를 구축한다

여기에 만약 우리 회사가 도메인서버는 없지만 AWS를 사용하고 있고 AWS와 사무실이 네트워크가 연결이 되어있다는 조건이 붙는다면 한가지 방법이 더 있습니다. 바로 오늘 이야기 할 Route 53 resolver inbound endpoint 를 사용해서 도메인서버로 사용하는 방법입니다.

Route 53 resolver 란?

Amazon Route 53 Resolver는 AWS 환경에서 도메인 이름 시스템(DNS) 해석을 위한 관리형 서비스로, AWS 내외부의 리소스 간 DNS 쿼리를 원활히 처리할 수 있도록 지원합니다. 특히, AWS VPC(가상 프라이빗 클라우드)와 온프레미스 네트워크 간의 DNS 쿼리를 효과적으로 해석하는 기능을 제공합니다.

Route 53 resolver 의 기능

Amazon Route 53 Resolver의 가장 핵심 기능은 inbound, outbound DNS쿼리를 처리하는 기능입니다. 아래 그림과 같이 inbound, outbound를 생성할때 선택한 VPC대역의 private endpoint가 생성이 됩니다.

네트워크로 연결된 On-premis 환경에서 AWS Route 53의 도메인을 쿼리를 inbound endpoint 를 통해 수행할 수 있게 됩니다. 반대로 AWS Route 53에서 On-premis 환경의 도메인 서버를 쿼리할 수 있도록 outbound endpoint 가 해주죠. 또 inbound/outbound endpoint에는 security group이 할당되기 때문에 IP/PORT기반 네트워크 통신 제어를 할 수 있습니다.

  • inbound 및 outbound DNS 쿼리 처리:
    • 인바운드 DNS 확인(Inbound DNS Query Resolution): 온프레미스에서 AWS VPC 내 자원을 조회하는 DNS 쿼리를 처리합니다. 이를 통해 온프레미스 서버가 AWS 리소스의 도메인 Name을 사용할 수 있습니다. 이를 위해 Route 53 Resolver는 온프레미스 네트워크와 inbound endpoint 를 통해 통신합니다.
    • 아웃바운드 DNS 확인(Outbound DNS Query Resolution): VPC 내에서 온프레미스 리소스의 도메인 이름을 해석할 수 있습니다. 이를 위해 Route 53 Resolver는 온프레미스 네트워크와 outboud endpoint 를 통해 통신합니다.
  • Resolver 규칙(Route 53 Resolver Rules):
    • 특정 DNS 요청을 지정된 DNS 서버로 보내도록 규칙을 설정할 수 있습니다. 예를 들어, 특정 도메인에 대한 쿼리를 온프레미스 DNS 서버로 전송하고, 그 외의 쿼리는 기본 인터넷 DNS로 보내는 방식입니다.
  • 유연한 DNS 정책 적용:
    • Route 53 Resolver는 AWS의 모든 VPC 간에 적용할 수 있어, 여러 계정이나 여러 리전에 있는 VPC에서도 일관된 DNS 쿼리 처리가 가능합니다.
  • 보안 그룹 적용:
    • DNS 쿼리에 대한 보안 그룹을 적용하여 VPC 내에서의 DNS 통신에 대한 액세스 제어를 수행할 수 있습니다.

사내망에서 AWS Route 53으로 쿼리하는 방법

사내망에서 AWS Route53의 도메인을 쿼리할 수 있는 방법은 위에서 설명드린 inbound endpoint를 사용하는 방법입니다.

  • AWS에서 제공하고 있는 아래 그림과 같이 on-premises data center (앞서 설명드린 사내망)과 AWS VPC와 네트워크 연결이(VPN or 전용선) 되어있어야 합니다.
  • 그리고 나서 사내 도메인 서버에서 DNS resolver proxy설정을 해야합니다. 사내 DNS에서 AWS 의 Route 53 resolver inbound endpoint로 쿼리할 수 있도록 설정 합니다. 여기서 inbound endpoint는 단일 IP 2개가 생성이 되는데요. endpoint를 생성할때 VPC의 subnet을 필수로 2개를 선택하게되고 각 subnet대역에서 IP자동할당 또는 지정IP로 설정할 수 있습니다.

사내 DNS가 없는 경우 AWS Route 53으로 쿼리하는 방법

오늘 궁극적으로 이야기 드리려고 했던 부분이 바로 이 부분 입니다. 사내망에 DNS가 없는 경우에는 직접 AWS Route53의 resolver endpoint를 도메인 서버로 설정할 수 있습니다. 아래 그림과 같이 설정이 가능합니다.

google.co.kr 과 같이 외부 도메인 쿼리도 가능한데요. Route 53 private host zone에 없는 도메인이라면 인터넷 도메인을 쿼리할 수 있도록 자동구성이 됩니다. Route 53의 resolver를 생성하면 rule에 Rule: internet Resolver 가 자동으로 생성되는걸 볼 수 있죠.

실제로 아래와 같이 사내 로컬PC의 네트워크 설정에서 도메인서버에 Route53의 resolver endpoint IP를 등록하면 Route53 으로 생성한 도메인이 쿼리가 잘 되는걸 확인할 수 있습니다.

Route53 resolver endpoint를 직접 도메인 서버로 사용할 수 있다는 내용은 AWS 공식문서에도 없고 구글링해도 잘 나오지 않더군요. 실제 AWS담당자를 통해 가이드 받아 진행해본 내용입니다.
그럼 오늘 여기까지 마치도록 하고 제가 틀린게 있거나 질문이 있으시면 언제든지 문의 바랍니다.

반응형