AWS - Route53

MJMM·2024년 7월 31일
0

Route53

웹 사이트와 웹 시스템을 구축할 때에 외부에 그 사이트를 공개합니다. 이때에 공개시에 공개용 IP를 할당하여 사용함. 이를 외부에서 접속하게 만들어 줍니다.
IP 숫자는 기억하기 어렵고, 문자는 기억하기 쉽다는 특징을 이용한 서비스가 DNS.
때문에 DNS서비스를 통해서 외부 웹사이트에 접속할 수 있다.

AWS의 Route53은 웹 기반 DNS서비스를 말함.

Route53은 EC2과 같이 리젼별로 제공되는 서비스가 아닌 전세계에 설치되어 있는 에지 로케이션 기반으로 제공되는 서비스다.

Anycast IP 주소 구조를 이용
하여 전 세계의 에지 로케이션 중 가장 가까운 로케이션에서 응답을 주게 되어 있어 아주 빠르고 가용성이 높고 확장성이 뛰어난 구조를 가지고 있다.

Route53도 다른 서비스와 마찮가지로 API로 조작이 가능하다. (aws cli)

BIND의 경우 nsupdate 명령어를 위해 손이 많이 가는 설정을 해야 하거나
MyDNS처럼 백엔드에 RDBMS(Relational Database Management System)를 가진 DNS서버로 관리해야 하는 불편함이 있었다.

Route53은 이 설정들을 API로 할 수 있어 초기 비용이나 운용 비용을 고려해도 매우 좋은 서비스라고 할 수 있다. 기존 DNS서버 운용에서 패치 등의 작업
으로 어려움이 있는 경우에 추천할 서비스이다.


Route53 주요 개념

  • hosted Zone
    : Hosted Zone은 다른 DNS시스템에 있는 Zone파일과 같이 관리되는 DNS레코드 집합

    ** DNS 레코드란? DNS질의에 응답을 위해서 알고 있는 정보를 저장한 데이터를 말함.
    ( A, AAAA, MX, NS, SRV, CNAME ... )

  • Record Set
    : DNS레코드로 Routing Policy와 Set ID, Health Check설정과 Record를 전부 보함.

  • Routing Policy
    : Routing Policy는 Route53이 Record Set에 대해서 어떻게 라우팅할지 결정하는 것.
    일반적으로는 'Simple'이라는 정책을 이용하면 일반적인 DNS서버와 같게 동작함.
    'Weighted(가중치 기반)','Latency(지연 시간 기반 라우팅)', 'Failover(DNS Failover)','Geolocation(Geo Routing)'

  • Set ID
    : Routing Policy를 이용해 복수의 Record Set를 같은 이름으로 설정한 경우, 각각을 구별하여 인식하기 위해서
    설정하는 ID

  • Health Check
    : 호스트 상태를 확인하기 위한 설정.
    DNS Failover를 사용하는 경우 Health Check가 필요함. (HTTP/HTTPS/TCP)

Route53 주요 기능

  • Route53가 제공하는 것은 IP주소와 도메인명 매핑 등을 관리하는 데이터베이스로서의 역할인 '권한 네임 서버' 기능이다. 권한 네임 서버에 들어오는 질의 결과를 캐시하는 기능인 '캐시 네임 서버'로의 기능은 제공 안함.

  • BIND에서는 설정에 따라서 두 기능을 모두 제공하지만, Route53은 권한 네임 서버 기능만 있다는 것을 기억

  • Route53은 권한 네임 서버로의 기능 뿐만 아니라 웹 사이트나 웹 시스템을 서비스로 제공할 때에 편리한 기능을
    가지고 있다. DNS레지스트리 기능도 제공하고 있어서 '.com'이나 '.jp' 등 구매할 수 있는 도메인이라면 Route53으로 등록이 가능하다.

  • 다른 DNS레지스트리에서 도메인을 이관(transfer)하는 것도 가능하여 도메인에 관한 모든 것을 Route53에서
    집중 관리할 수 있다.

  • 지연 시간 기반 라우팅
    : 지연 시간 기반 라우팅(LBR, Latency based Routing)은 Record Set의 Routing Policy를 'Latency'로 설정

    같은 이름으로 된 여러 리전에 존재하는 EC2 인스턴스 공인 IP주소나 ELB에 대해 보다 빠른 리전을 선택하여
    요청을 라우팅해 주는 기능. 복잡한 설정은 없고, Route53만으로 전 세계의 어떤 사용자에게도 가장 빠른 응답이 가능하다.

  • 가중치 라운드 로빈
    : 가중치 라운드 로빈(WRR, Weighted Round Robin)은 Record Set의 Routing Policy를 'Weighted'로 설정
    지연 시간 기반 라우팅에서는 같은 이름이 설정된 대상에 대해서 Route53이 지연 시간에 따라 분배하는데 ,
    가중치 라운드 로빈에서는 대상의 가중치를 두어 총 합계에서 지정한 가중치의 시간 비율로 전송 비율을 결정
    가중치를 0으로 하면 라우팅이 되지 않는다. 웹 사이트의 이전 작업 등에서 천천히 사이트를 이전하고 싶은 경우
    사용할 수 있다.()
    DB접속이 필요한 경우에는 별도의 데이터 동기 방법도 검토해야 함.

    -DNS Failover
    : DNS Failover는 Record Set의 Routing Policy를 'Failover'로 설정하면 구현.
    Record Set를 설정할 때에 같은 이름으로 Primary와 Secondary 두 가지 세트를 생성하면 평소에는 Primary로
    라우팅이 되고, 이 때에 Primary설정된 쪽에 Health Check에 문제가 발생하면 Secondary로 라우팅한다.
    이 기능을 사용하면 서비스 중인 서버나 서버 군에 장애가 발생하더라도 Sorry 페이지를 제공할 수 있도록
    별도로 준비한 서버로 라우팅을 간단히 만들 수 있다.

    -Geo Routing
    : Geo Routing은 Record Set의 Routing Policy를 'Geolocation'으로 설정하면 구현.
    지연 시간 기반 라우팅이 엔드 포인트와 지연 시간을 줄이도록 라우팅해 주었다면, Geo Routing에선 DNS질의가
    있는 장소에 따라 대상을 바꿀 수 있다. 예로 아시아에서의 요청이라면 서울 리전 EC2로 전송하고, 북아메리카
    에서 요청하면 버지니아 리전의 EC2로 전송하도록 설정할 수 있다.
    지정한 장소와 맞지 않는 경우를 대비하여 기본 설정을 해두는 것을 추천

    -AWS 서비스와 연계
    : Route53은 DNS서비스 자체만으로도 좋은 서비스이지만, S3나 CloudFront, ELB와 조합하여 사용하면 보다 편리한
    이용이 가능하다. 이런 경우를 위해서 사용하는 기능이 Route53 자체 레코드 타입인 ALIAS 레코드다.
    ALIAS레코드는 CNAME레코드와 같이 별명으로 지정하면서도 A레코드와 같은 직접 IP주소와 매핑을 하는 것이다.
    ALIAS레코드가 지정할 수 있는 것은 AWS가 제공되는 서비스에 할당된 일부 DNS명에 대해서 가능하다.

0개의 댓글