이제 시험에 많이 나오는 하이브리드 DNS에 관한
고난이도 적용 사례에 대해 살펴봅시다
리전이 존재하고 Route 53 Resolver가 있습니다
그리고 기본값으로 이 resolver는
자동으로 DNS 쿼리에 응답합니다
EC2 인스턴스를 위한 로컬 도메인 이름에 대해서 말입니다
예를 들어 VPC가 있습니다
EC2 인스턴스가 있습니다
DNS 이름이 있습니다
Route 53 resolver는 이런 쿼리에 응답하는
방법을 알고 있습니다
개인 호스트 존에 있는 레코드들도 쉽게
응답할 수 있습니다
공용 네임 서버에 있는 것도 마찬가지입니다
예를 들어 공용 호스트 존이나 인터넷에 공유된
네임 서버에 대해서도 쉽게 응답할 수 있습니다.
VPC와 다른 DNS resolver를 가진
다른 개인 네트워크 사이의 DNS 쿼리를
해결하고 싶으시다면
하이브리드 DNS가 필요할 것입니다
이 네트워크들은 예로 피어링된 VPC가 될 수 있습니다
VPC에 직접 연결되었거나
AWS VPN을 통해 VPC에 연결된
온프레미스 네트워크일 수도 있습니다
이를 배우기 위해 필요한 두 가지의 개념을
다음 슬라이드에서 도표와 함께 소개해 드리겠습니다
Resolver 엔드포인트에 대해 이야기해 봅시다
두 가지가 개념이 있습니다
인바운드 엔드포인트와 아웃바운드 엔드포인트가 있습니다
인바운드 엔드포인트는 외부 네트워크의
DNS Resolver가 Route 53으로 DNS 쿼리를
보낼 수 있게 해주고 쿼리에 응답하도록 해 줍니다
이 resolvers들이 AWS 리소스들의
도메인 이름을 해결하도록 도와줄 것입니다
예를 들어, Route 53 개인 호스트 존에
생성한 EC2 인스턴스나 레코드 같은 것입니다
내부 시스템과 AWS 개인 호스트 존에 대한
두 가지 응답을 모두 얻을 수 있습니다
이따가 다이어그램을 보여드리겠습니다
더 쉽게 이해가 될 것입니다
아웃바운드 엔드포인트는
조건부로 DNS 쿼리를
온프레미스 DNS resolver로
전달하기 위해 사용하는데
이를 위해 Resolver 규칙을 생성해 줍니다
이제 엔드포인트들을 해당 리전 내의
하나 이상의 VPC에 연결합니다
그리고 두 개의 가용 영역을 생성해 줍니다
이는 고가용성을 제공하게 됩니다
각 엔드포인트들은 각 IP주소 당
10,000개의 쿼리를 지원합니다
더 필요하다면 IP 주소를 더 생성하면 되는 것입니다
그리고 이 Resolver는 이전에 필요했던
AWS로 DNS Resolver를 작동시키고
온프레미스의 Resolver와 연결해야 하던 번거로움을 없애 줍니다
이는 AWS로 관리되는 Resolver 엔드포인트입니다
다이어그램을 보고
이해도를 높여 봅시다
VPC에 속하는 EC2 인스턴스가 있고
aws.private이라는 개인 호스트 존도
생성했습니다
서버가 있는
온프레미스 데이터 센터도 있습니다
EC2 인스턴스를 보면 제가 CNAME을
app.aws.private으로 설정했습니다
이건 CNAME인데 EC2 DNS와 연결되어 있거나 프라이빗 IP와
연결된 A 레코드일 수도 있지만
뭐든 상관없습니다
web.onpremise.private의 서버가
이 EC2 인스턴스에 접근하길 원합니다
먼저 온프레미스 데이터 센터와 AWS 클라우드는
VPN 연결 또는 직접 연결을 통해
링크될 것입니다
이해되셨습니까?
이제 온프레미스와
DNS 해결사도 갖게 됩니다
온프레미스 데이터 센터의 존에 대해서 말입니다
이는 onpremise.private입니다
app.aws.private에서
서버가 앱에 DNS 쿼리를 발부할 때
해결사가 이렇게 말할 것입니다
"얘네가 뭔지 모르겠어요"라고 말입니다
이에 우리는 Resolver를 생성합니다
inbound endpoint로 생성합니다
뒷면으로는 이 resolver 인바운드 엔드포인트는
고가용성을 위한 두 개의 ENI를 가지고 있습니다
이 ENI 들은 프라이빗 IP 주소와 연결되어 있습니다
온프레미스의 DNS resolvers 내에서
도메인 이름 aws.private가
이 두 IP로
포워딩을 해줍니다
이해하셨습니까?
이제 app.aws.private에 대한 DNS 쿼리가
온프레미스에 구성된
도메인 이름과 일치합니다
그러므로 DNS Resolver는
"나는 이 쿼리를 해당 정보를 가진 DNS 서버로
전송해야 한다는 것을 알아"라고 할 것입니다
그래서 여기 이 IP들로 전송할 것입니다
resolver 인바운드 엔드포인트는
Route 53 Resolver로 연결되고
개인 호스팅 존으로부터
최종 조회를 수행하여
이 쿼리에 대한 정보를 제공할 것입니다
이것이 인바운드 엔드포인트입니다
외부로부터 요청이 오고 AWS로 인바운드 한 것입니다
온프레미스에서 AWS로 말입니다
예상하셨겠지만 아웃바운드 엔드포인트는 비슷하지만
반대 방향으로 가죠
필요 설정은 동일합니다
하지만 이번엔 온프레미스 데이터 센터의
DNS 이름을 해결하고자 합니다
EC2 인스턴스는 Rout 53 resolver에게
web.onprem.private에 대해 아는지 묻습니다
이를 위해
resolver outbound endpoint를 생성할 것입니다
이는 두 개의 ENI를 가집니다.
포워딩 규칙을 만들어 줍니다
onprem.private에게 타깃 IP 주소가 있고
이 타깃 IP는 온프레미스의 DNS Resolver
IP와 일치합니다
그리고 Route 53 Resolver는
이를 엔드포인로 보낼 것이며
엔드포인트는 DNS 쿼리를
온프레미스 DNS Resolver로 전달할 것입니다
그러면 온프레미스 데이터 센터 DNS에 저장된 기록으로부터
자동으로 응답이 오게 됩니다
이 아웃바운드 엔드포인트를 관리하려면
Resolver 규칙이 필요합니다
아웃바운드 엔드포인트는 규칙 모음을
갖도록 설정할 것입니다
여러분 네트워크에서 DNS 쿼리를
전달하는 방법도 설명할 것입니다
그래서 조건부 포워딩 규칙이 있습니다
포워딩 규칙은
이 도메인의
특정 DNS 쿼리에 대해 대상 IP
주소와 전부 매치해달라는 것입니다
example.com이나 acme.example.com
타깃 IP가 있습니다
이 도메인에 대한 타깃 IP입니다
시스템 규칙으로 무효로 할 수도 있습니다
그리고 이것은 동작 재정의를 위한 것입니다
도메인 호스트에게 이 포워딩 규칙을
사용하지 말라고 하는 것과 같습니다
이는 여러분이 직접 생성할 수 있는 거죠
그리고 마지막으로 자동 정의 시스템 규칙이 있습니다
내부적으로 해결되는 도메인을 위한 것입니다
예를 들어 AWS나 개인 호스트 존 내부의 도메인 이름인
comepute.amazonaws.com이나 ec2.internal이 예시가 될 수 있습니다
이제 여러 규칙이 일치할 경우
Route 53 Resolver는 가장 구체적인 매치를 선택할 겁니다
어떤 규칙을 적용할지
선택하는 측면에서 말입니다
이해하셨습니까?
마지막으로, AWS 리소스 액세스 관리자나 RAM을 사용한다면
이런 Resolver 규칙은 계정 간에 공유될 수 있습니다
여러 계정에 걸쳐 공유할 수 있다는 뜻입니다
즉, 중앙에 있는 하나의 전용 계정에서
Resolver 규칙을 관리할 수 있다는 것입니다
그런 다음 DNS 쿼리를 여러 VPC에서
규칙에서 정의된 타깃 IP로 보낼 수 있습니다
그래서 중앙 계정에서 Resolver 규칙에 대한
중앙 관리를 하는 방법이 있습니다
이해하셨습니까?
이제 끝났습니다
AWS에 하이브리드 DNS를 설치하는 방법입니다
기억하시길 바라는 부분은 인바운드 엔드포인트와
아웃바운드 엔드포인트는 보통 함께 사용되어
양쪽 AWS와 온프레미스의 DNS 시스템 둘 다에 in and out 트래픽을 지원합니다
시험에서는 이에 대한 문제가 꼭 나올 것입니다
이번 강의는 여기까지입니다
마음에 드셨으면 좋겠습니다
다음 강의에서 뵙도록 하겠습니다