Question
abc.com을 사용하고 있고, AWS Route53을 통해서 네임서버를 운영하고 있습니다.
최근 신규 서비스 오픈을 위해서 private domain을 추가 했는데, 시스템 (EC2) 내부에서 서비스 연결이 되지 않습니다.
어떻게 해야 하나요?
Answer
Route53에 기존 abc.com으로 public hosted zone을 사용하고 있었고, 동일하게 abc.com 도메인 이름으로 private hosted zone 을 생성 후 인스턴스 내부에서 통신이 되지 않아 문의주셨습니다.
현재 고객님의 public / private 도메인 간 레코드 정보가 다른 것으로 확인하였으며, 이로 인해 내부 통신이 되지 않은 것으로 보입니다.
AWS Route 53에서는 동일한 도메인 이름에 대해 public과 private hosted zone이 공존할 수 있지만, VPC 내의 인스턴스는 private hosted zone을 우선적으로 참조하게 됩니다.
즉, abc.com 도메인에 대해 private hosted zone이 존재하면, VPC 내의 인스턴스는 public hosted zone을 조회하기 전에 private hosted zone을 먼저 조회합니다. 이로 인해 private hosted zone에 존재하지 않는 레코드에 대한 조회가 실패하게 됩니다.
해당 문제를 해결할 수 있는 방법은 다음과 같습니다.
1. 우선, 프라이빗 호스팅 영역을 사용하기 위해서는 다음 Amazon VPC 설정이 ture로 설정되어 있어야 합니다.
- enableDnsHostnames
- enableDnsSupport
VPC > VPC 설정 편집 > DNS설정에서 확인 및 설정이 가능합니다.
2. 위 설정이 잘 되어있다면, private hosted zone에 public hosted zone의 레코드와 동일하게 레코드를 설정하여 문제를 해결할 수 있습니다.
이렇게 하면 VPC 내의 인스턴스가 private hosted zone을 조회하여 해당 레코드를 찾을 수 있게 됩니다.
Reference :
https://docs.aws.amazon.com/ko_kr/Route53/latest/DeveloperGuide/hosted-zones-private.html
https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/hosted-zone-private-considerations.html