반응형

 

현대의 인프라 환경에서는 사용자 요청을 처리할 수 있는 여러 자원(서버, 로드밸런서, CDN 등)이 복잡하게 얽혀 있다. 특히 클라우드 환경에서는 EC2, S3, ALB 등 다양한 서비스에 도메인을 연결하거나 트래픽을 라우팅해야 하는 경우가 많다. 

 

AWS는 이러한 요구를 충족할 수 있도록 Route 53이라는 강력한 DNS 서비스를 제공한다. 이번 포스팅에서는 도메인 구입부터 EC2에 연결하는 실습 과정을 따라가며 Route 53의 기본 개념과 구성 방법을 알아보고자 한다.

 

 

 


AWS Route53

AWS Route 53은 높은 가용성과 확장성을 갖춘 클라우드 기반의 DNS(Domain Name System) 서비스로, 99.99%의 SLA를 보장한다. 이름의 ‘53’은 DNS 통신에 사용하는 포트 번호에서 유래되었다.

사용자가 입력한 도메인 주소를 적절한 IP 주소나 AWS 리소스로 연결해주는 역할을 하며, 도메인 연결 외에도 헬스 체크, 트래픽 분산 등 다양한 기능을 제공한다.

  • 비용 : 호스팅 영역 수, DNS 쿼리 횟수, 헬스 체크 사용 여부 등에 따라 과금
  • 주요 기능 : 도메인 등록 및 레코드 관리, 헬스 체크, 트래픽 라우팅, 내부 도메인 지원

 

 

 

 

 


도메인의 동작 원리와 Route 53의 역할

 

위의 그림은 DNS가 어떻게 작동하며, AWS Route 53이 사용자 요청을 실제 웹 서버로 라우팅하는지를 보여준다.

  1. 사용자가 브라우저에 www.example.com을 입력하면, DNS 리졸버(보통 인터넷 제공업체의 DNS 서버)가 해당 도메인의 IP 주소를 찾기 위한 질의를 시작한다.
  2. 가장 먼저 DNS 루트 네임서버에 접속하여, .com과 같은 **최상위 도메인(TLD, Top Level Domain)**을 담당하는 TLD 네임서버의 위치를 알아낸다.
    1. DNS 루트 네임서버: 전 세계에 13개 루트 서버가 존재하며, 최상위 DNS 질의 처리
    2. TLD 네임서버: .com, .net, .org 등 TLD별로 존재하며, 도메인의 네임서버(NS 레코드)를 알려준다.
  3. example.com 도메인의 네임서버로 등록된 Amazon Route 53 네임서버에 질의가 전달된다.
  4. Route 53은 A 레코드 등을 기반으로 www.example.com에 해당하는 IP 주소(예: 192.0.2.44)를 응답한다.
  5. 사용자의 브라우저는 응답받은 IP 주소로 웹 서버에 접속하고, 웹 페이지가 로딩된다.

 

 

 

<함께 보기> 네트워크 주소 체계와 DNS

https://sjh9708.tistory.com/185

 

[Network] 네트워크 주소 체계(Port, MAC, IP Address)와 DNS

네트워크 주소 체계 우선 네트워크에서 사용되는 Port, MAC, IP 등 주소의 종류와 주소 형식 체계에 대해서 살펴보자 Port컴퓨터 내에서 특정 프로세스를 식별하는 데 사용 -> 같은 IP 주소 상의 호

sjh9708.tistory.com

 

 

 

 

 

 


Route53의 주요 구성 요소

 

도메인(Domain) : 사람이 읽을 수 있는 문자열 주소 (예: jaehwi.com)

  • APEX 도메인 : 최상위 도메인 (예: jaehwi.com)
  • 서브도메인 : 도메인 앞에 문자열이 붙은 형태 (예: blog.jaehwi.com). 하나의 도메인 안에서 서비스 목적에 따라 주소를 분리하여 운영이 가능하다.

 

호스팅 영역(Hosted Zone) : 특정 도메인 및 하위 도메인의 DNS 레코드의 집합. 쉽게 말해, 하나의 도메인에 대한 DNS 설정을 저장하는 공간이다. 웹사이트 주소를 어디로 연결할지, 어떤 리소스를 참조할지를 이 영역 안에서 정의한다.

  • 자동 생성 : Route 53에서 도메인을 등록하면 자동 생성
  • 수동 생성 : 외부 등록기관(가비아, 카페24 등)에서 도메인을 구매한 경우 직접 생성 필요

 

DNS 레코드(DNS Record) : 도메인이 어떤 방식으로 트래픽을 전달할지 정의. 즉 사용자가 입력한 도메인 주소를 어떤 대상(IP 주소, AWS 리소스 등)으로 연결할지를 정하는 데이터이다. 

 

레코드 유형 : 각 DNS 레코드가 어떤 종류의 대상과 연결되는지를 나타내는 구분자. 아래는 자주 사용되는 레코드 유형의 일부이다. 

  1. A : IPv4 주소와 연결
  2. AAAA : IPv6 주소와 연결
  3. CNAME : 다른 도메인 이름과 연결
  4. Alias : AWS 리소스와 연결 (Route 53 전용)
  5. NS (Name Server) : 도메인을 실제로 관리할 권한 있는 네임서버를 지정하는 레코드.
    • 사용자가 도메인에 접근했을 때, 어느 DNS 서버가 해당 도메인의 IP 주소를 알려줄지를 결정한다. 예를 들어 Route 53에서 도메인을 관리하는 경우, NS 레코드에는 ns-123.awsdns-45.com 등 AWS 네임서버들이 설정된다.
    • 도메인을 외부 등록기관(가비아, 카페24 등)에서 구입한 경우, 그 등록기관의 웹사이트에서 NS 레코드를 Route 53 네임서버로 변경해야 DNS 요청이 AWS로 전달된다.

 

레코드 TTL : DNS 레코드가 질의 서버의 캐시에 얼마나 오랫동안 저장될지를 결정하는 시간이다.

  • TTL이 짧을수록 변경 사항이 빠르게 반영되지만, DNS 요청이 자주 발생해 비용이 증가할 수 있다.
  • TTL이 길면 요청 수가 줄고 응답 속도는 향상되지만, 레코드 변경이 늦게 반영될 수 있다.
  • 변경 가능성이 있는 레코드는 짧은 TTL, 고정된 정보는 긴 TTL 설정을 권장한다.

다양한 레코드 유형 지정을 통해 다양한 리소스와 연결 가능

 

 

 

 

 

 

 

 


AWS 도메인 호스팅 설정하기

 

지금부터 AWS의 리소스(EC2, ALB) 등을 구매한 도메인을 통해서 호스팅하는 과정을 살펴보겠다.

필자는 가비아에서 구매한 도메인을 사용할 것이다. 따라서 호스팅 영역을 수동 생성, 레코드를 등록해주는 과정, 제공자의 네임서버 변경 과정을 거쳐야 한다.

 

위에서 언급했듯 AWS에서 직접 "도메인 등록"을 통해서 도메인을 구입할 수도 있다. AWS에서 구매 시 호스팅 영역 또한 자동으로 생성된다.

 

 

 


1. 호스팅 영역 생성

 

  • 호스팅 영역(Hosted Zone)을 생성하는 과정이다.
  • 구매한 도메인 이름을 입력하고, 퍼블릭 호스팅 영역 유형을 선택하여 호스팅 영역을 생성해주었다.
  • 퍼블릭 호스팅 영역은 외부 사용자들이 접근하는 웹사이트와 같은 리소스에 사용된다.

 

 


2. NS(Name Server) 확인 및 도메인 공급자 측에서 NS 설정 변경

 

  • Route 53에서 호스팅 영역을 생성하면 이에 따라 NS(Name Server) 레코드가 자동 생성되는 것을 확인할 수 있다.
  • NS 레코드는 "이 도메인에 대한 DNS 요청은 Route 53 네임서버에서 처리하겠다"는 의미를 가진다.
  • Route 53 네임서버는 AWS에서 운영하는 DNS 서버이다.  사용자가 직접 추가하거나 수정할 필요는 없으며, Route 53이 도메인에 대해 응답 가능한 상태를 만들기 위해 기본적으로 포함된다.

 

 

 

 

 

  • 도메인을 구입한 가비아의 관리자 페이지에서 NS 정보를 Route 53 네임서버로 변경하는 과정을 거쳐준다.
  • 즉 해당 도메인 주소에 대해서 질의할 DNS 서버, 즉 Name Server를 Route53의 네임서버로 설정해주는 것이다.
  • 따라서 Route 53에서 제공된 NS 레코드 4개를 가비아의 네임서버 설정에 반영시켜주었다.

 

 

네임서버(NS) 변경은 전 세계 DNS 서버에 설정이 전파되는 데 시간이 걸릴 수 있다.
일반적으로 최대 24~48시간까지 소요될 수 있으며, 지역이나 네트워크 환경에 따라 반영 속도가 달라질 수 있다.

 

 


3. 레코드 생성

 

  • 이제 다시 호스팅 영역에서 "레코드 생성"을 클릭하여, 도메인을 "AWS의 리소스나 IP 및 다른 도메인 등 다양한 엔드포인트"와 연결하는 설정을 진행해주자.

 

 

 

A 레코드 타입 활용 예시

  • A 레코드는 IPv4 주소를 도메인과 연결시켜준다. 위에서는 EC2의 IPv4 엔드포인트와 연결해주었다.
  • 서브도메인 설정을 원한다면 레코드 이름에 접두어를 입력하여 추가할 수 있다.

 

 

 

CNAME 레코드 타입 활용 예시

  • CNAME 레코드는 다른 도메인과 현재 도메인을 연결시켜준다. 그림에서는 EC2의 Public DNS 엔드포인트와 연결해주었다.

 

 

 

Alias 레코드 타입 활용 예시

  • Alias 레코드는 AWS만의 도메인 레코드 유형으로, 도메인에 특정 AWS 리소스를 연결시켜준다.
  • 라우팅 가능한 AWS 리소스 : CloudFront 배포, ALB, NLB, S3 웹 호스팅 버킷, Route 53에서 관리하는 다른 도메인
  • 위의 그림에서는 EC2 인스턴스와 연결되어 있는 ALB와 연결해주었다.

 

 

 


4. 결과 확인

 

 

Alias 레코드를 추가하여 ALB와 연결했던 것을 테스트해보았다. 그 결과, 사용자가 alb.jaehwi.shop으로 접속했을 때 ALB를 통해 백엔드 EC2 인스턴스에 정상적으로 트래픽이 전달되었고, 웹 페이지가 응답하는 것을 확인할 수 있었다.

 

 

 


<함께 보기> [AWS] Route53 : 라우팅 정책 설정 (+ Failover 웹 호스팅 설정하기)

 

https://sjh9708.tistory.com/280

 

[AWS] Route53 : 라우팅 정책 설정 (+ Failover 웹 호스팅 설정하기)

현대의 인프라 환경에서는 고가용성과 빠른 응답 속도를 확보하기 위해, 단일 서버가 아닌 여러 리전 혹은 엔드포인트에 트래픽을 분산시키는 방식이 일반화되고 있다. 특히 장애 상황에 자동

sjh9708.tistory.com

 

 

 

 

 


References

 

https://docs.aws.amazon.com/

 

https://docs.aws.amazon.com/

 

docs.aws.amazon.com

 

 

 

https://www.inflearn.com/course/%EC%89%BD%EA%B2%8C-%EC%84%A4%EB%AA%85%ED%95%98%EB%8A%94-aws-%EA%B8%B0%EC%B4%88/dashboard

 

쉽게 설명하는 AWS 기초 강의 강의 | AWS 강의실 - 인프런

AWS 강의실 | , 안녕하세요. AWS 강의실입니다.AWS 공식 커뮤니티 빌더이자 2만명의 구독자를 보유한 AWS Only 강의 유튜브의 경험으로 AWS를 쉽게 알려드립니다.이 강의는AWS의 서비스 및 활용 지식을

www.inflearn.com

 

 

 

반응형

BELATED ARTICLES

more