Amazon AWS :: Route53에서Public DNS와 Private DNS 활용
국내 전문 CDN 사업자인 GS네오텍은 2015년에 Amazon Web Service의 AWS Premier Consulting 파트너로서 WiseN 이라는 서비스 브랜드로 클라우드 사업을 함께 하고 있습니다.
Route53에서Public DNS와 Private DNS 활용
다루는 내용
-
Route 53에서 Public DNS 사용하기
-
Route 53에서 Private DNS 사용하기
실습
Public DNS 설정
-
콘솔에서 Route53 클릭
-
왼쪽 메뉴에서 Hosted Zones 클릭
-
Create Hosted Zone 클릭
∙ Domain Name : aws.idunbiz.com
실제 ICANN에 등록된 도메인이다. TLD(idunbiz.com)을 등록할 수도 있다.
∙ Comment : public zone
∙ Type : Public Hosted Zone
∙ Create 클릭 -
생성된 호스트존(aws.idunbiz.com) 클릭
∙ NS와 SOA 레코드가 등록되어 있다.
A 레코드 등록
-
Create Record Set 클릭
∙ Name : a-record
∙ Type : A-IPv4 address
∙ TTL : 300
∙ Value : 1.1.1.1
2.2.2.2
∙ Routing Policy : Simple
∙ Create 클릭 -
dig a-record.aws.idunbiz.com 실행
CNAME 레코드 등록
-
Create Record Set 클릭
∙ Name : cname
∙ Type : CNAME – Canonical name
∙ Value : dualstack.test-2139921278.ap-northeast-1.elb.amazonaws.com
생성되어있는 ELB의 DNS를 복사하여 사용한다.
∙ Create 클릭 -
dig cname.aws.idunbiz.com 실행
Weighted Round Robin 사용
비율을 설정하여 쿼리에 대한 응답률을 다르게 할 수 있다. 서버 사용 비율을 조절할 때 사용할 수 있다. 아래 설정은 각각 1/5, 4/5의 확률로 응답한다. DHCP로 DNS 서버가 지정되어 있는 EC2에서 짧은 시간에 테스트할 경우 동일한 IP만 지속적으로 리턴 될 수 있다.
-
Create Record Set 클릭
∙ Name : weight
∙ Type : A – Ipv4 address
∙ Value : 10.10.10.10
∙ Routing Policy : Weighted
∙ Weight : 10
∙ Set ID : weight 10
∙ Create 클릭 -
Create Record Set 클릭
∙ Name : weight
∙ Type : A – Ipv4 address
∙ Value : 40.40.40.40
∙ Routing Policy : Weighted
∙ Weight : 40
∙ Set ID : weight 40
∙ Create 클릭 -
dig weight.aws.idunbiz.com 실행
Latency Policy 사용
쿼리 요청을 하는 사용자의 위치에 따라 다른 아이피를 리턴하고자 할 경우 사용한다. latency의 경우 응답 시간이 짧은 서버의 아이피를 리턴한다. 유사하게 Routing Policy를 Geolocation으로 할 경우 대륙, 국가, 주 단위로 설정할 수 있다.
-
Create Record Set 클릭
∙ Name : application
∙ Value : 100.100.100.1
∙ Routing Policy : Latency
∙ Region : us-west-2
∙ Set ID : Oregon center
∙ Create 클릭 -
Create Record Set 클릭
∙ Name : application
∙ Value : 100.100.100.2
∙ Routing Policy : Latency
∙ Region : ap-northeast-1
∙ Set ID : Tokyo center
∙ Create 클릭 -
dig application.aws.idunbiz.com 실행
Oregon 리전의 인스턴스에서 룩업한 결과
사무실 PC에서 룩업한 결과
Health Check로 Failover 활용
두 대의 웹 서버가 서비스 중일 때, Primary 서버에 문제가 발생한 경우 Secondary 서버로 failover 된다.
-
왼쪽 메뉴에서 Health Checks 클릭
-
Create Health Check 클릭
-
Create Health Check 페이지
∙ IP Address : 50.112.150.102
∙ Request Interval : Fast (10 seconds)
∙ Failure Threshold : 2
∙ Create 클릭 -
Create Record Set 클릭
∙ Name : failover
∙ Value : 50.112.150.102
∙ Routing Policy : Failover
∙ Failover Record Type : Primary
∙ Associate with Health Check : Yes
∙ Health Check to Associate : http://50.112.150.102:80/ 선택
∙ Create 클릭 -
Create Record Set 클릭
∙ Name : failover
∙ Value : 52.11.212.162
∙ Routing Policy : Failover
∙ Failover Record Type : Secondary
∙ Associate with Health Check : No
∙ Create 클릭 -
확인
∙ Primary 서버에 접속하여 httpd stop 한다.
∙ Health Checks에 생성한 체커의 상태가 Unhealthy로 변경 된다.
∙ dig failover.aws.idunbiz.com 을 실행하면 Secondary IP가 노출된다.
Alias 활용
Alias를 사용할 경우 S3, ELB, CloudFront, Route53 호스트 존의 EndPoint로 매핑할 수 있다. 별칭으로 사용되며, CNAME과 다르게 중간 룩업 과정이 생략되어 나타나므로 요청자에게 불필요한 정보를 제공하지 않을 수 있다. Evaluate Target Health를 통해서 상태 체크가 가능하다.
-
Create Record Set 클릭
∙ Name : alias
∙ Alias : Yes
∙ Alias Target : dualstack.test-2139921278.ap-northeast-1.elb.amazonaws.com.
등록되어 있는 ELB가 있으면 선택 가능하다.
∙ Create 클릭 -
dig alias.aws.idunbiz.com 실행
CNAME과 다르게 ELB의 DNS는 표기되지 않는다. -
Evaluate Target Health란?
Health Checks를 직접 만들지 않아도 기본값으로 정의된 체커를 사용할 수 있다. 이것은 Evaluate Target Health를 Yes로 설정한 경우 자동 적용된다. 주로 ELB의 상태체크에 사용되며 서버의 상태를 체크하지는 않는다.
Private DNS 설정
인터넷에서는 사용할 수 없지만 VPC내에서 사용할 수 있는 Private DNS를 관리한다.
Private Hosted Zone 생성
-
콘솔에서 Route53 클릭
-
왼쪽 메뉴에서 Hosted Zones 클릭
-
Create Hosted Zone 클릭
∙ Domain Name : arang.internal
∙ Comment : Private Zone
∙ Type : Private Hosted Zone for Amazon VPC 선택
∙ VPC ID : Lab VPC 선택 (리전별로 VPC를 선택할 수 있다.)
∙ Create 클릭
NS와 SOA 레코드를 갖는 Private Zone이 생성되었다.
VPC 설정
-
콘솔에서 VPC 클릭
-
DHCP Options Sets 클릭
-
Create DHCP options set 클릭
∙ Name Tag : internal
∙ Domain name : arang.internal
∙ Domain name servers : AmazonProvidedDNS
∙ Yes, Create 클릭 -
왼쪽 메뉴에서 Your VPCs 클릭
-
Lab VPC 선택
-
Summary 탭 선택
VPC를 새로 만든 경우 default와 다르게 DNS hostnames 값이 no로 되어있다. -
Lab VPC 우클릭
∙ Edit DNS Hostnames 클릭
∙ DNS Hostnames : Yes
∙ Save 클릭 -
Lab VPC 우클릭
∙ Edit DHCP Options Set 클릭
∙ DHCP Options Set : internal 선택
∙ Save 클릭 -
Lab VPC 설정 결과
\
∙ DNS resolution이 no로 되어 있으면 lookup이 차단된다.
∙ DNS hostnames가 no로 되어 있으면 호스트를 못 찾는다. 인스턴스를 새로 생성할 경우 Public DNS가 할당되지 않는다. -
DHCP 설정 확인
∙ 해당 VPC의 한 인스턴스에 접속하여 프로세스를 확인하면 아래와 같은 데몬을 확인할 수 있다.
∙ cat /var/lib/dhclient/dhclient-eth0.leases 실행
default private domain-name이 us-west-2.compute.internal이다.
renew 시간이 되면 DHCP에 접근해서 새로운 정보를 가져온다.
레코드 셋 생성
-
콘솔에서 Route53 클릭
-
왼쪽 메뉴에서 Hosted Zones 클릭
-
arang.internal 도메인명 클릭
-
Create Record Set 클릭
∙ Name : test1
∙ Type : A-IPv4 address
∙ Value : 10.50.1.232
∙ Create 클릭 -
dig test1.arang.internal 실행
VPC 내부에서만 룩업이 가능한 Private DNS를 사용할 수 있다.
참고
● Route53은 분산된 DNS 서버들에 데이터가 모두 전파된 후 응답하므로 반영 시간이 느리다. (영역 전송을 강제로 할 수 없다.)
arang
Reference : GS네오텍 WiseN 서비스
www.SalesMore.co.kr
'Cloud AWS' 카테고리의 다른 글
Amazon AWS :: RedShift 활용 (0) | 2015.11.25 |
---|---|
Amazon AWS :: Cloudfront로 HLS 스트리밍 구성하기 (0) | 2015.11.25 |
Amazon AWS :: CloudFront 로그 --> Elastic MapReduce로 분석 (0) | 2015.11.25 |
Amazon AWS :: Transcoding - 동영상 공유 웹사이트 만들기 #2 (0) | 2015.11.25 |
Amazon AWS :: 동영상 공유 웹사이트 만들기 #1 동영상 업로드 (0) | 2015.11.25 |