Amazon VPC용 하이브리드 클라우드 DNS 옵션 1/4

빌드업웍스
12 min readMar 10, 2020

--

https://AWS.amazon.com/ko/

[ 고지 사항 (Disclaimer) ]

본 컨텐츠는 고객의 편의를 위하여 AWS 서비스 설명을 위해 제작, 제공된 것입니다. 만약 AWS 사이트와 컨텐츠 상에서 차이나 불일치가 있을 경우 AWS 사이트 (AWS.amazon.com)가 우선합니다. 또한 AWS 사이트 상에서 한글 번역문과 영어 원문에 차이나 불일치가 있을 경우(번역의 지체로 인한 경우 등 포함), 영어 원문이 우선합니다.

본 문서는 Hybrid Cloud DNS Options for Amazon VPC (2019년, 영문) 내용에 기반하여 작성 되었습니다.

이 문서는 정보 제공의 목적으로만 제공됩니다. 본 문서의 발행일 당시 AWS의 현재 제품 오퍼링 및 실행방법 등을 설명하며, 예고 없이 변경될 수 있습니다. 고객은 본 문서에 포함된 정보나 AWS 제품 또는 서비스의 사용을 독립적으로 평가할 책임이 있으며, 각 정보 및 제품은 명시적이든 묵시적이든 어떠한 종류의 보증 없이 “있는 그대로” 제공됩니다. 본 문서는 AWS, 그 자회사, 공급업체 또는 라이선스 제공자로부터 어떠한 보증, 표현, 계약 약속, 조건 또는 보장을 구성하지 않습니다. 고객에 대한 AWS의 책임 및 의무는 AWS 계약에 의해 관리되며 본 문서는 AWS와 고객 사이의 어떠한 계약에도 속하지 않으며 계약을 변경하지도 않습니다.

© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.

본 문서는 총 4부로 구성되어 있으며 이 글은 1부입니다.

2부 링크 : Amazon VPC용 하이브리드 클라우드 DNS 옵션 2/4

3부 링크 : Amazon VPC용 하이브리드 클라우드 DNS 옵션 3/4

4부 링크 : Amazon VPC용 하이브리드 클라우드 DNS 옵션 4/4

요약

DNS (Domain Name System)는 Amazon Web Services (AWS)에서 제공하는 많은 서비스를 지원하는 인터넷의 기본 요소입니다. Amazon Route 53 Resolver는 퍼블릭 도메인 이름, Amazon Virtual Private Cloud (Amazon VPC) 및 Route 53 프라이빗 호스팅 영역에 대한 DNS 분석을 제공합니다.

이 백서에는 고유한 DNS 요구 사항과 워크로드가 있는 고객 또는 온 프레미스 데이터 센터와 Amazon VPC의 Amazon EC2 인스턴스간에 DNS 확인이 필요한 온 프레미스 리소스를 보유한 고급 DNS 아키텍처에 대한 솔루션 및 고려 사항이 포함되어 있습니다.

소개

많은 조직이 온 프레미스 리소스와 클라우드에 리소스를 모두 보유하고 있습니다. DNS 이름 확인은 온-프레미스 및 클라우드 기반 리소스에 필수적입니다. 온-프레미스 및 클라우드 기반 리소스를 포함하는 하이브리드 워크로드가있는 고객의 경우 두 환경에서 원활하게 작동하도록 DNS를 구성하려면 추가 단계가 필요합니다.

이름 확인이 필요한 AWS 서비스에는 Elastic Load Balancing로드 밸런서 (ELB), Amazon Relational Database Service (Amazon RDS), Amazon Redshift 및 Amazon Elastic Compute Cloud (Amazon EC2)가 포함될 수 있습니다.

모든 Amazon VPC에서 사용할 수있는 Route 53 Resolver는 퍼블릭 레코드, Amazon VPC 리소스 및 Route 53 프라이빗 호스팅 영역 (PHZ)에 대한 DNS 쿼리에 응답합니다.

온 프레미스에서 호스팅되는 고객 관리 권한있는 DNS 서버에 쿼리를 전달하고 온 프레미스 DNS 서버가 Amazon VPC에 전달하는 DNS 쿼리에 응답하도록 구성 할 수 있습니다.

이 백서는 기본 및 맞춤형 솔루션을 사용하여 AWS에서 구현할 수있는 여러 가지 아키텍처를 보여줍니다. 이러한 아키텍처는 Amazon VPC에서 온 프레미스 인프라의 이름 확인 요구와 이전에 게시 된 솔루션으로 부분적으로 만 해결 된 제약 조건을 충족시킵니다.

주요 컨셉

솔루션에 대해 알아보기 전에 이 백서에서 참조 할 몇 가지 개념과 구성 옵션을 설정해야 합니다.

Amazon VPC DHCP 옵션 세트

DHCP (Dynamic Host Configuration Protocol)는 TCP / IP 네트워크의 호스트에 구성 정보를 전달하기위한 표준을 제공합니다. DHCP 메시지의 옵션 필드에는 domain-name-servers, domain-name, ntp-servers 및 netbios-node-type과 같은 구성 매개 변수가 포함됩니다. 모든 Amazon VPC에서 DHCP 옵션 세트를 생성하고 최대 4 개의 DNS 서버를 지정할 수 있습니다. 현재 이러한 옵션 세트는 VPC별로 생성 및 적용되므로 가용 영역 수준에서 DNS 서버 목록을 가질 수 없습니다.

DHCP 옵션 세트 및 구성에 대한 자세한 내용은 Amazon VPC 개발자 안내서의 DHCP 옵션 세트 개요를 참조하십시오.

Amazon Route 53 리졸버

Amazon DNS 서버 또는 Amazon 제공 DNS라고도하는 Route 53 Resolver는 VPC 및 고객 정의 Route 53 프라이빗 DNS 레코드에 대한 내부 레코드에 대한 추가 해상도와 함께 전체 퍼블릭 DNS 해상도를 제공합니다 .2 Route 53 Resolver는 DNS 서버에 매핑 VPC 네트워크 범위의 기본에 예약 된 IP 주소에 2를 더한 값. 예를 들어 10.0.0.0/16 네트워크의 DNS 서버는 10.0.0.2에 있습니다. CIDR 블록이 여러 개인 VPC의 경우 DNS 서버 IP 주소는 기본 CIDR 블록에 있습니다.

Elastic Network Interfaces (ENIs)

탄력적 네트워크 인터페이스 (Amazon EC2 콘솔에서 네트워크 인터페이스라고 함)는 VPC의 인스턴스에 연결할 수 는 가상 네트워크 인터페이스입니다. VPC에서 실행중인 인스턴스에만 사용할 수 있습니다. 네트워크 어댑터와 마찬가지로 가상 네트워크 인터페이스는 장치가 네트워크에 연결하는 데 사용하는 인터페이스입니다. 인스턴스 유형에 따라 VPC의 각 인스턴스에는 여러 개의 네트워크 인터페이스가 연결될 수 있습니다.

자세한 내용은 Linux 인스턴스 용 Amazon EC2 사용 설명서의 탄력적 네트워크 인터페이스를 참조하십시오.

Route 53 Resolver에서 ENI가 작동하는 방식

Route 53 Resolver 엔드 포인트는 VPC에있는 하나 이상의 ENI로 구성됩니다. 각 엔드 포인트는 한 방향으로만 쿼리를 전달할 수 있습니다.

인바운드 엔드 포인트는 DNS 확인 자의 전달 대상으로 사용할 수 있으며 연결된 VPC의 서브넷 공간에서 IP 주소를 사용합니다. 이러한 엔드 포인트로 전달 된 쿼리에는 엔드 포인트가 연결된 VPC의 DNS보기가 있습니다.

즉, AWS PrivateLink 엔드 포인트, EFS 클러스터, EKS 클러스터, 연결된 PHZ 등과 같이 VPC에 로컬인 이름이 있으면 쿼리는 해당 이름을 모두 확인할 수 있습니다. 엔드 포인트를 소유 한 VPC와 피어링 된 VPC의 경우에도 마찬가지입니다.

아웃 바운드 엔드 포인트는 모든 쿼리가 VPC에서 전달되는 경로 역할입니다. 아웃 바운드 엔드 포인트는 소유자 VPC에 직접 연결되며 규칙을 통해 다른 VPC와 간접적으로 연결됩니다. 즉, 전달 규칙이 아웃 바운드 끝점을 소유하지 않은 VPC와 공유되면 전달 규칙과 일치하는 모든 쿼리가 소유자 VPC로 전달 된 다음 전달됩니다. 쿼리를 사용하여 한 VPC에서 다른 VPC로 전달할 때이를 인식하는 것이 중요합니다. 아웃 바운드 엔드 포인트는 원래 쿼리를 보낸 VPC와 완전히 다른 가용 영역에 상주 할 수 있으며 소유자 VPC의 가용 영역 중단은 전달 규칙을 사용하여 VPC의 쿼리 해결에 영향을 줄 수 있습니다. 여러 가용 영역에 아웃 바운드 엔드 포인트를 배포하면이를 피할 수 있습니다.

그림 1 : 아웃 바운드 엔드 포인트가있는 Route 53 Resolver

자세한 내용은 Amazon Route 53 개발자 안내서의 Route 53 Resolver 시작하기를 참조하십시오.

Route 53 프라이빗 호스팅 영역

Route 53 프라이빗 호스팅 영역은 하나 이상의 VPC에 표시되는 DNS 레코드를 보유하는 컨테이너입니다. 프라이빗 호스팅 영역 생성시 (또는 이후) VPC를 프라이빗 호스팅 영역에 연결할 수 있습니다.

자세한 내용은 Amazon Route 53 개발자 안내서의 프라이빗 호스팅 영역 작업을 참조하십시오.

연결 추적

기본적으로 Amazon EC2 보안 그룹은 연결 추적을 사용하여 인스턴스와 주고 받는 트래픽에 대한 정보를 추적합니다. 보안 그룹 규칙은 트래픽의 연결 상태에 따라 적용되어 트래픽의 허용 또는 거부 여부를 결정합니다. 이를 통해 보안 그룹의 상태를 유지할 수 있습니다. 즉, 아웃 바운드 보안 그룹 규칙에 관계없이 인바운드 트래픽에 대한 응답이 인스턴스 밖으로 흐를 수 있으며 그 반대도 마찬가지입니다.

Linux Resolver

Linux의 스텁 해석기는 궁극적으로 전체 해상도로 이어지는 DNS 쿼리를 시작하고 시퀀싱하는 역할을 합니다. 리졸버는 구성 파일 /etc/resolv.conf를 통해 구성됩니다. 확인자는 resolv.conf에 나열된 DNS 서버를 나열된 순서대로 쿼리합니다.

다음은 샘플 resolv.conf입니다.

options timeout:1
nameserver 10.0.0.10
nameserver 10.0.1.10

Linux DHCP Client

Linux의 DHCP 클라이언트는 인스턴스가 DNS 확인에 사용하는 DNS 서버 세트를 사용자 정의하는 옵션을 제공합니다. 이 DHCP 클라이언트는 AWS DHCP 옵션에서 제공한 DNS 서버를 선택하여 DNS 서버 IP 주소 목록으로 resolv.conf를 추가로 업데이트 합니다. 또한 대체 DHCP 클라이언트 옵션을 사용하여 AWS DHCP 옵션 세트에서 제공 한 DNS 서버를 정적 DNS 서버 목록으로 바꿀 수 있습니다. DHCP 클라이언트 구성 파일을 수정하면됩니다.

/etc/dhcp/dhclient.conf :

interface "eth0"
{
supersede domain-name-servers 10.0.2.10, 10.0.3.10;
}

이 샘플 문장은 resolv.conf 샘플의 DNS 서버 10.0.0.10 및 10.0.1.10을 10.0.2.10 및 10.0.3.10으로 바꿉니다. Supersede 솔루션을 사용하는 Zonal Forwarders 솔루션에서 이 옵션의 사용에 대해 설명합니다.

조건부 전달자 — 언 바운드

조건부 전달자는 인스턴스에서 수신 한 DNS 쿼리를 검사하고 구성에서 설정된 규칙에 따라 다른 DNS 서버로 전달합니다. 일반적으로 쿼리의 도메인 이름을 사용하여 전달자를 선택합니다. 하이브리드 아키텍처에서 조건부 전달자는 사내 구축 환경과 클라우드 리소스 간의 이름 확인을 연결하는 데 중요한 역할을합니다. 이 특정 솔루션에는 조건부 전달자 외에도 재귀 적이며 캐싱 DNS 확인자인 Unbound를 사용합니다. 요구 사항에 따라이 옵션은 Amazon Route 53 Resolver에서 전달 규칙에 대한 대안 또는 하이브리드 역할을 할 수 있습니다.

언 바운드 DNS 서버를 설정하는 방법에 대한 지침은 AWS 보안 블로그의 언 바운드 블로그 게시물을 사용하여 온-프레미스 네트워크와 AWS간에 DNS 확인을 설정하는 방법을 참조하십시오.

다음은 샘플 unbound.conf입니다.

forward-zone:
name: "."
forward-addr: 10.0.0.2 # Amazon Provided DNS forward-zone:
name: "example.corp"
forward-addr: 192.168.1.10 # On-premises DNS

이 샘플에서 example.corp에 대한 구성 쿼리는 온-프레미스 DNS 서버로 전달되고 나머지는 Route 53 Resolver로 전달됩니다.

제약

지금까지 확립 된 개념 외에도 이 백서의 나머지 부분과 솔루션을 형성하는 데 중요한 제약 조건을 알고 있어야합니다.

탄력적 네트워크 인터페이스 한계당 초당 패킷 (PPS)

Amazon VPC의 각 네트워크 인터페이스에는 1 초마다 Amazon 제공 DNS 서버로 전송할 수 있는 1024 개의 패킷 제한이 있습니다. 따라서 네트워크 인터페이스가 연결되어 있고 트래픽을 Amazon DNS 리졸버 (예 : Amazon EC2 인스턴스 또는 AWS Lambda 함수)로 전송하는 AWS의 컴퓨팅 리소스는 이 하드 제한에 속합니다. 이 백서에서는 이 제한을 네트워크 인터페이스 당 초당 패킷 (PPS)이라고 합니다. 이름 확인을 위한 확장 가능한 솔루션을 디자인 할 때이 제한을 고려하지 않으면 제한에 도달하면 Route 53 Resolver에 대한 쿼리에 응답하지 않을 수 있으므로 이 제한을 고려해야 합니다. 이 제한은 이 백서에서 제안 된 솔루션에 고려되는 핵심 요소입니다. 이 한계는 탄력적 네트워크 인터페이스 당 약 10,000 QPS로 제한되는 Route 53 리졸버 엔드 포인트에 대해 더 높습니다.

연결 추적

Amazon EC2 보안 그룹이 기본적으로 지원할 수있는 동시 상태 저장 연결의 수는 표준 TCP 기반 고객 대다수가 전혀 문제를 겪지 않는 매우 큰 값입니다. 드물지만 자체 관리되는 재귀 DNS 서버와 같이 대량의 동시 연결을 생성하는 제한적인 보안 그룹 정책 및 응용 프로그램을 사용하는 고객은 모든 동시 연결 추적 리소스를 모두 소모하는 문제가 발생할 수 있습니다. 이 제한을 초과하면 후속 연결이 자동으로 실패합니다. 이러한 경우 연결 추적을 비활성화하는 데 사용할 수 있는 보안 그룹을 설정하는 것이 좋습니다. 이를 위해 인바운드 및 아웃 바운드 연결 모두에 허용 규칙을 설정하십시오.

Linux Resolver

Linux 리졸버의 resolv.conf 구성 파일에서 지정할 수있는 기본 최대 DNS 서버 수는 3 개입니다. 즉, 추가 DNS 서버는 그렇지 않으므로 DHCP 옵션 세트에서 4 개의 DNS 서버를 지정하는 것은 유용하지 않습니다. 이 한도는 이 백서에서 논의 된 솔루션 중 일부에 상한을 더합니다. 운영 체제마다 DNS 쿼리의 할당 및 페일 오버를 다르게 처리 할 수 있다는 점도 중요합니다.

--

--

빌드업웍스
빌드업웍스

Written by 빌드업웍스

클라우드 교육, 구축, 운영, 관리, 컨설팅 및 교육 리소스 디지털 퍼블리싱 : AWS 파트너, 유데미 파트너| buw.co.kr | admin@buw.co.kr | 053–954–3711

No responses yet