AWS Route 53을 이용한 도메인 적용

1. DNS(Domain Name Server)

DNS는 사람이 읽을 수 있는 도메인 이름(예:www.haru.com)을 컴퓨터나 스마트폰 등 다양한 디바이스에서 읽을 수 있는 IP주소(예:192.168.x.x)로 변환하는 역할을 한다.

DNS는 도메인 이름을 -> IP 주소로 변환하는 역할

  • 인터넷 상의 모든 컴퓨터는 IP Address라는 숫자를 사용해 서로를 찾고 통신한다.
  • DNS가 없었다면 웹 사이트에 접속하기 위해 웹 서버의 IP Address를 알아야만 웹 페이지에 접속가능하다.
  • DNS서비스가 있기 때문에 긴 숫자(IP)대신 haru.com과 같은 도메인 이름을 입력해도 원하는 웹 사이트로 갈 수 있다.

AWS에서는 Route53(DNS서비스)를 이용해 도메인을 IP로 변환하여 컴퓨터가 통신하도록 한다.

2. DNS의 구성 체계

DNS 구성 및 체계에 대한 이해를 위해서는 인터넷 도메인 체계에 대한 이해가 필요하다.

1) 인터넷 도메인 체계에서 최상위는 루트(root)도메인으로, 인터넷 도메인의 시작점이다.

2) 루트 도메인 바로 아래에 있는 것을 1단계 도메인이라고 한다. = 최상위 도메인,TLD(Top Level Domain)

3) 최상위 도메인국가 최상위 도메인(국가명을 나타냄)과 일반 최상위 도메인으로 구분한다.

  • 도메인을 구입할 경우 1단계 도메인(최상위 도메인) 중에 하나를 선택하고 원하는 도메인명을 지정하여 등록한다.

3. DNS의 동작 원리

재귀적 DNS서비스(DNS레코드를 소유하고 있진 않지만 사용자를 대신하여 DNS 정보를 가져올 수 있는 중간자의 역할)와 신뢰할 수 있는 DNS 서비스가 서로 연계하여 최종 사용자를 웹 사이트 또는 애플리케이션으로 전달하는 방법에 대한 개요를 보여준다.

1) 사용자가 웹 브라우저 주소 표시줄에 www.haru.com을 입력하고 enter를 누른다

2) www.haru.com에 대한 요청은 일반적으로 케이블 공급 업체, DSL 광대역 공급업체 또는 기업 네크워크 같은 인터넷 서비스 제공 업체(ISP)가 관리하는 DNS 해석기로 전달된다.

3) ISP의 DNS해석기는 www.haru.com에 대한 요청을 DNS 루트 이름 서버에 전달한다.

4) ISP의 DNS해석기는 www.haru.com에 대한 요청을 .com 도메인의 TLD 이름 서버 중 하나에 다시 전달한다. .com 도메인의 이름 서버는 haru.com 도메인과 연관된 4개의 route53 이름 서버의 이름을 사용하여 요청에 응답한다.

5) ISP의 DNS 해석기는 Route53 이름 서버 하나를 선택해 www.haru.com에 대한 요청을 해당 이름 서버에 전달한다.

6) Route53 이름 서버는 haru.com 호스팅 영역에서 www.haru.com 레코드를 찾아 웹 서버의 IP 주소 192.168.x.x등 연관된 값을 받고 이 IP 주소를 DNS 해석기로 반환한다.

7) ISP의 DNS 해석기가 마침내 사용자에게 필요한 IP 주소를 확보하게 된다. 해석기는 이 값을 웹 브라우저로 반환한다. 또한 DNS 해석기는 다음에 누군가 haru.com을 탐색할 때 보다 빠르데 응답할 수 있도록 사용자가 지정하는 일정 기간 동안 haru.com의 IP 주소를 캐싱(저장)한다.

8) 웹 브라우저는 DNS 해석기로부터 얻은 IP 주소로 www.haru.com에 대한 요청을 전송한다. 여기가 콘텐츠가 있는 곳으로 웹 사이트 엔드 포인트로 구성된 AWS S3 버킷 또는 EC2 인스턴스에서 실행되는 웹 서버이다.

9) 192.168.x.x에 있는 웹 서버 또는 그 밖의 리소르는 www.haru.com의 웹 패이지를 웹 브라우저로 반환하고 웹 브라우저는 이 페이지를 표시한다.

4. Amazon Route 53

AWS Route53이란 가용성과 확장성이 우수한 클라우드 기반의 DNS 웹 서비스이다.

이 서비스는 www.haru.com과 같은 도메인 이름을 192.168.x.x와 같이 컴표터 간 연결을 위한 연결을 위해 사용되는 숫자로 된 IP 주소로 변환한다.

또한 사용자의 요청을 EC2, ELB, S3 버킷 등 AWS에서 실행되는 다양한 인프라에 효과적으로 연결할 수 있다.

주요 특징

  • 가용성과 확장성이 뛰어난 클라우드 기반 DNS 웹 서비스
  • 동적으로 사용자에게 노출될 DNS 레코드 타입과 값 조정
  • 각종 다양한 로드밸런싱 기능 지원
  • 사용자의 요청을 EC2, ELB, S3 버킷 등 인프라로 직접 연결 가능
  • 외부의 인프라로 라우팅하는데 사용 가능
  • Route 53 트래픽 흐름을 사용하면 지연시간기반 라우팅 가능
  • Route 53에서는 도메인 이름 등록도 지원 가능

5. Route 53의 주요 특징 및 기능

1) 연결 체크 및 Failover(Health Check and Failover) 기능

Route53의 헬스 체크 기능을 사용하면 상태확인 에이전트가 Route53에 연결된 응용프로그램의 각 엔드포인트를 모니터링하여 서비스의 사용가능 여부를 확인하고 “정상” 또는 “비정상” 상태를 반환한다.

이를 사용하여 외부 사용자가 직접 접속한 것과 유사한 상황을 시뮬레이션할 수 있다.

또한 리소스릐 연결 상태가 좋지 않을 때 알람 메일을 수신하도록 각 상태 검사에 대해 CloudWatch 알람을 구성할 수 있다.

또한 장애 조치(DNS Failover)가 구성되어 있고 에이전트가 정상이 아닌것으로 판단되면 Route53은 외부 사용자를 정상적으로 연결 가능한 사전 정의된 서버나 지정된 엔드포인트로 연결을 전환시킬 수 있다.

2) 고가용성 DNS(High Avaliability DNS)서비스 및 DNS Failover

Route53는 상태 검사(Health Check)와 연결된 장애 조치(Failover) 레코드를 구성할 수 있다.

헬스 체크에서 연결 상태로 정상 상태가 반환되면 응용프로그램은 계속 정상적으로 작동한다.

하지만 연결 상태가 비정상 상태가 반환되면 Route53에서 정상 상태가 아닌 엔드포인트 값을 반환하지 않고 오류 복구 레코드 값에 대해 응답하기 시작한다.

DNS Failover Record를 활용하면 외부 사용자를 응용프로그램의 오류나 시스템 장애 상황에서 미리 정의된 응용프로그램이나 정상적으로 도달 가능한 외부 리소스로 연결을 전환한다.

이렇게 응용프로그램이나 시스템의 장애 상황에서 정상적인 엔드포인트(End-Point)로 장애 조치(Failover)를 수행하면 웹 사이트 또는 애플리케이션의 다운 타임을 최소화할 수 있다.

지연 시간 기반 라우팅(Latency Based Routing)

Route53는 동일한 기능을 수행하는 여러 데이터 센터에 EC2 리소스가 있고, 가장 지연 시간이 적은 리소스로 Route53에서 DNS 쿼리에 응답 처리하여 지연 시간 기반 라우팅(Latency Based Routing) 서비스를 제공한다.

지연 시간 기반 라우팅은 최종 사용자에게 최저 지연 시간을 제공하는 엔드포인트로 라우팅(Routing)을 제공하며, 일정 기간 동안 수행된 지연 시간 측정을 기반으로 하며 주기적으로 지연시간을 측정하여 변경 사항을 반영한다.

가중치 기반 라우팅(Weighted Round Robin Routing)

여러 리소스 레코드를 단일 DNS 이름으로 연결 후 같은 기능을 수행하는 여러 리소스에 대해 사용자가 지정한 가중치 비율로 트래픽을 라우팅할 수 있다.

한 서버에 40%, 다른 서버에 60%의 쿼리를 보내서 특정 리소스 레코드 집합이 선택될 확률을 사전에 지정한 가중치의 비율로 지정하여, 해당 리소스에 접속할 확률을 조정할 수 있다.

이러한 가중치 기반 라우팅(Weighted Round Robin Routing)은 로드 밸런싱 및 새 버전의 소프트웨어 테스트를 포함하여 다양한 목적에 사용된다.

지역 기반 라우팅(Geolocation Routing)

요청이 시작된 지리적 위치를 기반으로 특정 엔드포인트에 대한 라우팅을 수행하는 기능이다.

국가별 또는 사용자의 지역적 위치에 따라 현지화된 콘텐츠를 사용자별로 제공하거나, 라이선스가 있는 시장에만 콘텐츠 배포를 한정하거나 배포 대상으로 선택할 수 있다. 미국에서는 대륙, 국가 또는 주를 기준으로 지리적 위치를 정할 수 있다.

또한 지역 기반 라우팅(Geolocation Routing) DNS는 LBR(Latency Based Routing) 또는 DNS Failover와 결합하여 Performance 향상을 위한 다양한 환경을 구성할 수 있다.

6. 실습 : Route 53에서 DNS 구입하기

Route53을 사용하여 신규 도메인을 등록하고 기존에 구성한 EC2 인스턴스에 연결하는 방법에 대해 실습한다.

**) 주의 – 신규 DNS를 등록하는 과정에서 DNS 사용료가 발생됩니다.

1) [Route 53] -> [호스팅 영역]-> [호스팅 영역 생성] -> [등록된 도메인]->[도메인 등록]

Route 53에서 등록된 도메인 메뉴를 클릭하고 신규 도메인 등록을 위해 [도메인 등록]버튼을 클릭한다.

2) [도메인 이름 선택]에서 원하는 도메인 이름 작성+ [구분자] 선택 ->[확인] -> [계속]

[도메인 이름 선택] 페이지에서 등록할 도메인을 입력하고 등록할 도메인의 끝자리 구분자를 선택한 후 [확인] 버튼을 누른 후 하단의 [계속]버튼을 클릭한다.

3) 원하는 도메인 이름 선택 후 [장바구니]에 추가하기

원하는 도메인의 등록 가능 여부를 확인 후 해당 도메인을 등록하길 원하면 [장바구니 추가] 버튼을 눌러 [장바구니]에 추가 후 하단의 [계속] 버튼을 누른다.

4) 도메인에 대한 [연락처 세부 정보]를 “영어”로 기입 후 [계속] 버튼 클릭

5) 약관에 대해 동의 후 [구매 완료] 클릭 -> 본인이 입력한 이메일로 확인을 위한 요청 메일이 자동으로 발송된다.

6) 도메인이 정상 등록되었으며, 신규로 등록시 모든 절차가 완료되기까지 일정 기간이 필요하다.

결과확인은 [대시보드]에서 [도메인] -> [대기 중인 요청]에서 DNS 등록 작업 진행 절차를 확인할 수 있다.

7. 실습 : 다른 곳에서 구매한 도메인을 Route 53에 등록하기

1) 도메인 판매 업체 (예 : hosting.kr)에서 도메인 구매하기

Route53이 아닌 다른 판매 사이트(후이지, hosting.kr 등)에서 도메인을 구매한 경우 Route53에서 등록할 수 있는 방법에 대해 실습한다.

2) http://aws.amazon.com에 접속 후, [서비스] -> [Route 53] 으로 이동

Route53이 아닌 다른 판매 사이트(후이지, hosting.kr 등)에서 도메인을 구매한 경우 Route53에서 등록할 수 있는 방법에 대해 실습한다.

3) [Route 53] -> [호스팅 영역]-> [호스팅 영역 생성] 클릭

  • 도메인을 등록 관리하기 위해 “호스팅 영역” 클릭한다.
  • 구입한 도메인을 등록하기 위해 상단의 호스팅 영역 생성 버튼 클릭

4) “도메인 이름”을 입력 -> [퍼블릭 호스팅 영역] 선택

다음과 같이 구입한 “도메인 이름”을 입력하고 “유형”은 [퍼블릭 호스팅 영역]을 선택한 후 [생성] 버튼 선택한다.

5) 호스트 존의 Type이 NS인것을 확인한다.

본인이 등록한 호스트존에 대한 Type이 “NS”인 행을 선택하여 4개의 Name server 정보를 확인한다.

6) [도메인 구매 업체] -> [DNS 설정] -> [네임 서버 변경]

도메인 구매 업체에 로그인하여 [DNS 설정] 페이지에서 [네임 서버 변경]을 선택한다.

Route 53에서 발급된 ns를 도메인 구매업체 사이트에서 네임서버에 등록시켜 준다.

7) 등록한 도메인의 네임서버가 정상적으로 변경되었는지 확인하기

  • 네임서버 확인
    : [시작]->[cmd]->[nslookup]->[Set type=ns] -> “도메인 명”

5~10분 후 등록한 도메인의 네임 서버가 정상적으로 변경되었는지 확인한다.

Leave a Comment