Route53

combi_jihoon·2022년 3월 22일
0

aws solutions architect

목록 보기
31/57
post-thumbnail

DNS

DNS(Domain Name System)는 사람에게 친숙한 표현인 호스트명을 기계에 익숙한 IP 주소로 변환해 주는 시스템을 말한다.
ex) www.google.com => 172.217.18.36

  • DNS는 계층적 네이밍 구조로 이루어져 있다.
    - 아래의 경우, 왼쪽에서 오른쪽으로 갈수록 하위 계층에 속한다.
    ex) .com > example.com > www.example.com > api.example.com

DNS에서 사용되는 용어

  • Domain Registrar: Amazon Route 53, GoDaddy 등과 같이 DNS 정보를 기록하는 저장소이다.
  • DNS Records: A, AAAA, CNAME, NS 등이 있다.
  • Zone File: DNS 기록을 보관한다.
  • Name Server: DNS 쿼리를 해결하는 장소이다.
  • Top Level Domain (TLD): .com, .us, .in, .gov, .org 등이 있다.
  • Second Level Domain (SLD): amazon.com, google.com 등이 이에 해당한다.


DNS의 동작 방식

  • 웹 브라우저가 Local DNS Server에 example.com이라는 서버를 아는지 묻는다.
  • 그러면 Local DNS Server는 가장 먼저 Root DNS Server에서 똑같이 example.com을 아는지 묻고 -> TLD DNS Server로 가서 묻고 -> SLD DNS Server에 가서 묻는다.
    - 아래 예시의 경우 SLD DNS Server에서 답을 찾았으며 IP 주소를 얻었다.
    - 웹 브라우저는 이렇게 얻은 IP 주소를 이용해 웹 서버에 접속하게 된다.


Route53

  • 사용자가 DNS에 완전한 권한을 갖게 된다.
    - 즉, 사용자가 DNS 정보를 업데이트 할 수 있다.
  • Route53은 도메인 저장소이다.
  • 사용자가 Route53에서 사용하는 모든 리소스에 대한 health check도 지원한다.
  • 100% SLA(서비스 수준 계약) 가용성을 제공하는 유일한 서비스이다.
  • 참고로 53은 DNS에서 전통적으로 사용하는 포트 번호이다.

Records

  • 트래픽을 특정 도메인으로 라우팅 하는 방법을 레코드에 정의한다.
  • 레코드의 구성 요소
    - Domain/SubDomain Name: 예를 들면 example.com이 이에 해당한다.
    - Record Type: A/ AAAA/CNAME/ NS(Route53에서 지원하는 타입은 중 반드시 알아야 하는 것은 이와 같이 크게 4가지가 있다. 사실 더 있는데 이정도만 알아도 된다)
    - Value: IP 주소
    - Routing Policy: Route53이 쿼리에 어떻게 대응할 것인지를 결정한다.
    - TTL: DNS Resolver에서 얼마 동안 캐시할 것인지 결정한다.

Record Type

  • A: 호스트명을 IPv4에 연결한다.
  • AAAA: 호스트명을 IPv6에 연결한다.
  • CNAME: 호스트명을 다른 호스트명에 연결한다.
    - 타겟은 A 또는 AAAA 레코드를 가진 또 다른 도메인명이다.
    - DNS namespace(Zone Apex)의 탑 node에 CNAME record를 생성할 수 없다.
    - 예를 들면, example.com은 생성할 수 없지만 www.example.com은 생성할 수 있다.
  • NS(Name Server): 호스팅 존에 대한 Name Server이다.
    - 호스팅 존에 대한 DNS 쿼리에 응답할 수 있다.
    - 트래픽이 도메인에 대해 어떻게 라우팅 될 지를 조절할 수 있다.

Hosted Zones

  • 트래픽을 어떻게 domain 또는 subdomain으로 라우팅 할 지에 대한 정보가 정의 되어 있는 일종의 컨테이너이다.
  • Hosted Zones의 종류
    - Public Hosted Zones: 공개적으로, 인터넷에서 어떻게 라우팅 할 지에 대한 정보를 가지고 있다. ex) application1.mypublicdomain.com
    – Private Hosted Zones: 하나 또는 그 이상의 vpc 내에서(즉, private 도메인명이다) 트래픽을 어떻게 라우팅 할 지에 대한 정보를 가지고 있다. ex) application1.company.internal

참고로, Route53은 공짜가 아니며 하나의 hosted zonese 당 0.5 달러씩 지불해야 한다.

아래 도식에서는 Public Hosted Zone과 Private Hosted Zone을 비교하고 있다. 둘의 차이점은 인터넷을 통한 외부 망을 이용해 접근이 가능한지의 여부이다.
Private Hosted Zone에서 Private Hosted Zone은 ".internal"로 끝나는 내부 DNS의 ip로 리소스의 위치를 안내하고 있다.


Route53 사용하기

  1. 먼저 Domain Name을 등록해야 한다.
    • 원하는 도메인명을 입력하면 aws에서 해당 도메인명을 사용할 수 있는지 중복 체크를 해준다.
  2. 도메인명을 생성하면 자동으로 Route53을 이용해서 도메인을 관리하게 된다.
    • 즉, aws 측에서 Hosted Zones를 생성해 준다.

아래 Hosted Zones에서 도메인 명을 클릭해 Records를 확인할 수 있다.

아래의 사진에서 Type NS가 가장 중요하다. 여기에 등록된 Record name에 대해 Value/Route Traffic To에 정의된 서버들은 어떤 값이든 사용자에게 제공해 줄 수 있다.


Create record
아래와 같이 Hosted zones에서 도메인명을 클릭한 뒤 직접 record를 생성할 수 있다.
어떤 record name으로 접속했을 때 어떤 record type의 value(여기서는 ipv4 주소)로 접근할 것인지를 정의할 수 있다.

그러면 아래와 같이 Type A의 도메인 명에 대한 요청을 어디로 routing 할 지에 대한 정보가 생성되었다.

profile
쿄쿄

0개의 댓글