본문 바로가기

Cloud AWS

Amazon AWS :: Route53에서Public DNS와 Private DNS 활용

 



 

 


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 설정

  1. 콘솔에서 Route53 클릭
  2. 왼쪽 메뉴에서 Hosted Zones 클릭
  3. Create Hosted Zone 클릭
    ∙ Domain Name : aws.idunbiz.com
     실제 ICANN에 등록된 도메인이다. TLD(idunbiz.com)을 등록할 수도 있다.
    Comment : public zone
    Type : Public Hosted Zone

    Create 클릭
  4. 생성된 호스트존(aws.idunbiz.com) 클릭
    ∙ NS와 SOA 레코드가 등록되어 있다.

A 레코드 등록

  1. 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 클릭

  2. dig a-record.aws.idunbiz.com 실행

CNAME 레코드 등록

  1. Create Record Set 클릭
    Name : cname
    Type : CNAME – Canonical name
    Value : dualstack.test-2139921278.ap-northeast-1.elb.amazonaws.com
     생성되어있는 ELB의 DNS를 복사하여 사용한다.
    Create 클릭
  2. dig cname.aws.idunbiz.com 실행

Weighted Round Robin 사용

비율을 설정하여 쿼리에 대한 응답률을 다르게 할 수 있다. 서버 사용 비율을 조절할 때 사용할 수 있다. 아래 설정은 각각 1/5, 4/5의 확률로 응답한다. DHCP로 DNS 서버가 지정되어 있는 EC2에서 짧은 시간에 테스트할 경우 동일한 IP만 지속적으로 리턴 될 수 있다.

  1. Create Record Set 클릭
    Name : weight
    Type : A – Ipv4 address
    Value : 10.10.10.10
    Routing Policy : Weighted
    Weight : 10
    Set ID : weight 10
    Create 클릭
  2. Create Record Set 클릭
    Name : weight
    Type : A – Ipv4 address
    Value : 40.40.40.40
    Routing Policy : Weighted
    Weight : 40
    Set ID : weight 40
    Create 클릭

  3. dig weight.aws.idunbiz.com 실행

Latency Policy 사용

쿼리 요청을 하는 사용자의 위치에 따라 다른 아이피를 리턴하고자 할 경우 사용한다. latency의 경우 응답 시간이 짧은 서버의 아이피를 리턴한다. 유사하게 Routing Policy를 Geolocation으로 할 경우 대륙, 국가, 주 단위로 설정할 수 있다.

  1. Create Record Set 클릭
    Name : application
    Value : 100.100.100.1
    Routing Policy : Latency
    Region : us-west-2
    Set ID : Oregon center
    Create 클릭
  2. Create Record Set 클릭
    Name : application
    Value : 100.100.100.2
    Routing Policy : Latency
    Region : ap-northeast-1
    Set ID : Tokyo center
    Create 클릭

  3. dig application.aws.idunbiz.com 실행
    Oregon 리전의 인스턴스에서 룩업한 결과

    사무실 PC에서 룩업한 결과

Health Check로 Failover 활용

두 대의 웹 서버가 서비스 중일 때, Primary 서버에 문제가 발생한 경우 Secondary 서버로 failover 된다.

  1. 왼쪽 메뉴에서 Health Checks 클릭
  2. Create Health Check 클릭
  3. Create Health Check 페이지
    IP Address : 50.112.150.102
    Request Interval : Fast (10 seconds)
    Failure Threshold : 2
    Create 클릭
  4. 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 클릭
  5. Create Record Set 클릭
    Name : failover
    Value : 52.11.212.162
    Routing Policy : Failover
    Failover Record Type : Secondary
    Associate with Health Check : No
    Create 클릭

  6. 확인
    ∙ Primary 서버에 접속하여 httpd stop 한다.
    ∙ Health Checks에 생성한 체커의 상태가 Unhealthy로 변경 된다.
    dig failover.aws.idunbiz.com 을 실행하면 Secondary IP가 노출된다.

Alias 활용

Alias를 사용할 경우 S3, ELB, CloudFront, Route53 호스트 존의 EndPoint로 매핑할 수 있다. 별칭으로 사용되며, CNAME과 다르게 중간 룩업 과정이 생략되어 나타나므로 요청자에게 불필요한 정보를 제공하지 않을 수 있다. Evaluate Target Health를 통해서 상태 체크가 가능하다.

  1. Create Record Set 클릭
    Name : alias
    Alias : Yes
    Alias Target : dualstack.test-2139921278.ap-northeast-1.elb.amazonaws.com.
    등록되어 있는 ELB가 있으면 선택 가능하다.
    Create 클릭
  2. dig alias.aws.idunbiz.com 실행

    CNAME과 다르게 ELB의 DNS는 표기되지 않는다.
  3. Evaluate Target Health란?
    Health Checks를 직접 만들지 않아도 기본값으로 정의된 체커를 사용할 수 있다. 이것은 Evaluate Target Health를 Yes로 설정한 경우 자동 적용된다. 주로 ELB의 상태체크에 사용되며 서버의 상태를 체크하지는 않는다.

Private DNS 설정

인터넷에서는 사용할 수 없지만 VPC내에서 사용할 수 있는 Private DNS를 관리한다.
Private Hosted Zone 생성

  1. 콘솔에서 Route53 클릭
  2. 왼쪽 메뉴에서 Hosted Zones 클릭
  3. 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 설정

  1. 콘솔에서 VPC 클릭
  2. DHCP Options Sets 클릭
  3. Create DHCP options set 클릭
    Name Tag : internal
    Domain name : arang.internal
    Domain name servers : AmazonProvidedDNS
    Yes, Create 클릭

  4. 왼쪽 메뉴에서 Your VPCs 클릭
  5. Lab VPC 선택
  6. Summary 탭 선택

    VPC를 새로 만든 경우 default와 다르게 DNS hostnames 값이 no로 되어있다.
  7. Lab VPC 우클릭

    Edit DNS Hostnames 클릭
    DNS Hostnames : Yes
    Save 클릭
  8. Lab VPC 우클릭
    Edit DHCP Options Set 클릭
    DHCP Options Set : internal 선택
    Save 클릭

  9. Lab VPC 설정 결과
    \
    ∙ DNS resolution이 no로 되어 있으면 lookup이 차단된다.
    ∙ DNS hostnames가 no로 되어 있으면 호스트를 못 찾는다. 인스턴스를 새로 생성할 경우 Public DNS가 할당되지 않는다.
  10. DHCP 설정 확인
    ∙ 해당 VPC의 한 인스턴스에 접속하여 프로세스를 확인하면 아래와 같은 데몬을 확인할 수 있다.

    ∙ cat /var/lib/dhclient/dhclient-eth0.leases 실행

    default private domain-name이 us-west-2.compute.internal이다.

    renew 시간이 되면 DHCP에 접근해서 새로운 정보를 가져온다.

레코드 셋 생성

  1. 콘솔에서 Route53 클릭
  2. 왼쪽 메뉴에서 Hosted Zones 클릭
  3. arang.internal 도메인명 클릭
  4. Create Record Set 클릭
    Name : test1
    Type : A-IPv4 address
    Value : 10.50.1.232
    Create 클릭
  5. dig test1.arang.internal 실행

    VPC 내부에서만 룩업이 가능한 Private DNS를 사용할 수 있다.

참고

● Route53은 분산된 DNS 서버들에 데이터가 모두 전파된 후 응답하므로 반영 시간이 느리다. (영역 전송을 강제로 할 수 없다.)

arang

Sr. Technical Trainer at GSNeotek





  Reference : GS네오텍 WiseN 서비스



www.SalesMore.co.kr