ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [WEB] AWS route53로 AWS CloudFront에 도메인 연결하기(+DNS )
    web 2024. 12. 15. 13:10

     

    AWS route53로 AWS CloudFront에 도메인 연결하기(+DNS )

     

    S3와 CloudFront를 이용해서 웹사이트를 배포하는 중에 CloudFront에서 기본제공하는 aws 도메인보다 자체 도메인이 필요하다 판단되었다.

     

     

    AWS Route 53이란?

    - AWS의 DNS서비스 (도메인을 발급하고 관리해주는 서비스)

    - DNS에서 사용하는 포트번호(53)에서 유래

     

    클라이언트 입장에서 AWS서비스중 가장 먼저 만나게되는 서비스이다.

    그래서 Route 53 서비스에서 문제생기면 그 뒷부분의 모든 AWS서비스를 이용할 수 없기때문에 매우 높은 고가용성 서비스이다.

     

     

     

    관련개념(도메인과 레코드)

     

    도메인

    - 문자로 표현된 인터넷 주소

     

     

    도메인을 사용하는 이유

    IP주소는 특정 컴퓨터를 가리키는 주소로 본래 숫자로만 이루어져 있다. 
    (Ex)12.134.18.199)

    숫자로만 되어있는 ip주소를 사람이 더 쉽게 기억할 수 있도록 하는 목적으로 별도의 문자열로 구성된 주소를 만든 것.

    전화번호부에 [naver.com :  12.134.18.199] 라고 기록해두면 더 외우기 쉬울 것이다.

    즉, 컴퓨터는 숫자로된 주소를 처리하기가 더 쉽고, 사람은 문자열로 된 주소를 기억하기 쉬우므로 각각 따로 만들어서 대응 시킨것이다. 도메인 주소의 등장으로 사람들은 복잡한 IP주소를 외울필요가 없어졌다. 

     

     

    브라우저에서 DNS 동작원리

    문자로된 주소를 숫자로된주소로 변환시켜주는 서버를 DNS라고 부른다.
    브라우저에서 naver.com을 입력한다면 도메인 서버에 naver.com주소를 보내게되고 도메인서버는 naver.com에 매핑된 IP주소를 반환해준다. 그리고 브라우저는 다시 이 IP주소로 요청을 보내는 것이 동작원리이다.

     

     

    현업에서의 DNS사용

    프론트 웹페이지든, 백엔드 서버든 IP를 기반으로 통신하지않고 도메인을 기반으로 통신한다. 여러 이유가 있지만 https를 적용하기위한 목적이 제일 크다. IP주소에는 https 적용을 할 수가 없다.
    도메인이 있어야지만 http를 적용할 수 있다. 그래서 특정 서비스를 운영할때 도메인은 필수적으로 사용하게 된다.

    하지만 DNS의 역할을 하는 서비스는 AWS route 53외에도 다양하게 존재한다. 가비아, 후이즈와 같은 곳에서도 도메인을 구매하고 관리할 수 있다. 현업에서는 다양하게 이용한다. DNS 서비스마다 각기 다른 종류의 도메인을 살 수 있기 때문이다. 예를들어 가비아에는 원하는 도메인이 있는데 AWS route53에는 없을 수도 있다. 내가 원하는 도메인이 있는 곳의 DNS서비스를 이용하면된다. 

     

     

     

    도메인의 종류

    - 서브 도메인: 도메인 중 문자열 앞에 추가 문자열이 붙은 도메인

     

    예시) text.example.com


    - APEX 도메인: 도메인 중 앞에 추가 문자열이 없는 순수한 최상위 도메인

    예시) example.com

     

     

     

    레코드

    -도메인이 어떤 방식으로 트래픽을 대상에게 전달하는지 정의하는 데이터

    - 레코드 종류, 대상 IP주소등의 정보 포함

     

     

    레코드 별 TTL

    얼마나 오랫동안 다른 DNS서버들이 이 레코드를 캐싱할 지 결정

    TTL값이 높다면 쿼리는 줄어들지만 업데이트 배포 시간 증가
    (배포 이전에는 TTL을 낮춰두자)

     

     

    Hosted Zone(AWS 호스팅 영역)

    레코드의 집합으로 특정 도메인과 서브도메인의 레코드를 모은 컨테이너

     

     

     

     

     

    레코드의 종류

     

    A(Address)

    도메인을 IPv4와 연결(example.com -> 192.33.11.2)

     

    AAAA (IPv6 Address)

    도메인을 IPv6 주소와 연결

     

    CNAME (Canonical Name)

    도메인을 다른 도메인과 연결
    (http://www.example.com -> example.com)
    apex 도메인은 cname 사용 불가능


     

    Alias(별칭)

    AWS Route53에서만 지운하는 레코드타입.

    도메인과 AWS 리소스 연결
    (Apex 도메인은 cname을 쓸 수 없기 때문에 Alias(별칭) 레코드사용 )
    Ex) 도메인을 S3/CloudFront/ALB와 연결

     

    NS(Name Server)

    도메인의 Authoritive DNS서버를 지정


     

    MX

    도메인과 메일 서버를 연결

     


    TXT

    도메인에 관련된 텍스트기반 정보를 연결

    (도메인을 가지고 있음을 인증할때 쓰임)

     

     

     

     

    AWS Route 53 사용

     

    과정

     

    1. 도메인등록

    AWS Route53 이나 그외 DNS서비스 업체에서 구매

    Route53은 기본적으로 프리티어가 적용되지 않아 비용이 발생한다

    (월에 호스팅영역당 0.5달러 + 쿼리비용 발생)

     

    2. 호스팅영역 생성

    AWS Route53에서 구매했다면 자동으로 호스팅영역 생성

    그외 업체에서 구매했다면 직접 호스팅영역 생성한 뒤 DNS연동하기

     

     

    3. 레코드 생성

    AWS 리소스를 연결하려면 Alias(별칭)레코드사용

    필요에 따라 레코드타입별로 생성

    dns 캐시등의 이유로 최대 하루 소요

     

    S3 버킷 정적 웹 호스팅 사용시 버킷명과 레코드명이 동일해야한다.

     

     

     

     

    1. 도메인 구매

    가비아에서 도메인 구매

    2.  Route53에서 호스팅영역 생성

    2-1 AWS 호스팅영역 생성 - 도메인 이름

     

    2-2 도메인 네임서버 변경

    가비아 도메인 통합 관리툴 - 도메인 정보 변경 - 네임서버 - 1차-4차 네임서버 AWS Route 53에서 [ns-~] 값 4개 
    복사해오기 - 적용

     

     

    3. 레코드 생성

    AWS 리소스와 연결하므로 별칭 레코드로 생성

    AWS 서비스에는 CloudFront 지정

    AWS Route53 레코드생성 - 별칭 레코드 - AWS 서비스, 리소스 지정 - 레코드 생성

     

     

     

     

     

    AWS Route 53에서 직접 도메인을 구매한다면?

    1. AWS Route53 도메인등록 - 검색 - 구매

    (kr와 같은 tld는 route53에서 구매할 수 없음)

     

    2. (호스팅영역 자동생성)

     

    3. (레코드생성 동일)

     

Designed by Tistory.