[AWS] Route 53 DNS 서비스 사용하기

반응형

이번 글에서는 Route 53의 DNS 서비스를 사용해보도록 하겠습니다.

0. DNS(Domain Name System)란?

도메인 이름을 네트워크 주소로 바꾸거나 그 반대의 변환을 수행할 수 있도록 하기 위한 시스템입니다. 즉, DNS 서비스는 도메인에 연결된 IP 주소를 알려줍니다.

간단히 예를 한번 들어보겠습니다.

우리가 잘 알고있는 'naver.com'이라는 도메인이 있습니다. 사용자가 웹브라우저에 도메인 'naver.com'을 입력하면 아래와 같은 과정을 거치게 됩니다.

1. 도메인(naver.com)이 가지고 있는 네임서버에 접속
2. 네임서버에 접속한 도메인(naver.com)과 연결된 IP 정보를 확인
3. 네임서버에서 도메인(naver.com)과 연결된 IP를 전달
4. 네임서버에서 전달한 서버의 IP 주소로 접속
5. 서버의 IP로 연결된 브라우저에 서버의 내용을 출력

위와 같은 서비스를 이용하기위해선 첫번째로 도메인이 필요하며, 두번째로는 네임서버에 해당 도메인과 IP 주소를 연결해야합니다.

1. 도메인 구매하기

먼저 Route 53의 DNS 서비스에 등록할 도메인을 구매해보겠습니다.

자세한 내용은 아래의 책을 참고하시길 바랍니다.

 

아마존 웹 서비스를 다루는 기술:실무에서 알아야 할 기술은 따로 있다!

COUPANG

www.coupang.com

저는 https://kr.godaddy.com/ 라는 곳에서 'daily-mission.com'이라는 도메인을 구입했습니다.

image.png

2. Route 53 도메인 등록하기

이제 구입한 도메인을 DNS 시스템에 등록해봅시다.

Route53'Hosted zones' 탭에서 'Create Hosted Zone' 버튼을 클릭합니다. 여기서 Hosted Zone은 도메인 traffic에 대한 route 방법들을 담아놓은 컨테이너라고 생각하면 됩니다.

image.png

우측 탭의 Domain Name에 각자 구입한 도메인을 입력하고 'Create' 버튼을 클릭합니다.

www는 제외하고 입력합니다. daily-mssion.com (o) / www.daily-mission.com (x)

image.png

자 이제 아래와 같이 Hosted Zone이 생성되었습니다. 생성된 Hosted Zone의 'Value' 탭에는 4개의 도메인이 생성되어있습니다. 해당 도메인이 제가 구입한 도메인(daily-mission.com)이 사용할 '네임서버'입니다. 이 4개의 네임서버를 도메인을 구입한 사이트에가서 등록해줘야합니다.

image.png

도메인을 구입한 사이트 (kr.godaddy.com)에서 제가 구입한 도메인의 DNS 관리 화면으로 이동합니다.

image.png

방금전 확인한 Route53의 네임서버 4개를 입력후 저장버튼을 눌러줍니다.

image.png

네임서버에 도메인 등록이 완료되었습니다.

3. Route 53 서버 연결하기 (S3)

이제 네임서버에 등록한 도메인에 서버를 연결해보겠습니다. 이번 실습에서는 S3 버킷이 두개 필요합니다.

간단히 '정적 웹사이트 호스팅' 기능을 사용하는 S3 버킷을 서버로 사용하겠습니다.

아래와 같이 두개의 S3 버킷을 생성합니다. 여기서 실제 서버로 사용되는 버킷은 daily-mission.com 입니다.

image.png

daily-mssion.com

daily-mission.com 버킷에는 간단한 정적 웹페이지를 업로드 해줍니다. 저는 index.html 라는 이름으로 업로드 하였습니다.

image.png

다음으로 Properties 탭의 Static website hosting을 활성화하고, Index document에 앞서 업로드한 파일의 이름을 입력합니다. 저는 index.html 을 입력했습니다.

image.png

Permissions 탭의 Bucket Policy에는 GetObject에 대한 권한을 허용하는 Policy를 작성해 저장합니다.

image.png

www.daily-mission.com

www.daily-mission.com 버킷에는 아무것도 업로드하지 않습니다.

image.png

대신 Properties 탭의 Static website hosting에서 Redirect requests에 앞서 등록한 S3 버킷(daily-mission.com)을 입력 후 저장합니다.

image.png

이제 www.daily-mission.com 을 입력하면 daily-mission.com 으로 이동하며, daily-mission.com의 Index document인 index.html의 내용을 보여줍니다.

자 이제 서버(S3)도 준비가 완료되었습니다. 마지막으로 Route53에서 생성한 서버(S3)와 도메인을 연결해보겠습니다.

Route 53의 Hosted Zone 탭의 Create Recored Set 버튼을 클릭해 루트 도메인 'A 레코드'를 생성합니다.

  1. Name : 입력하지 않습니다.
  2. Type : IPv4 address를 선택합니다.
  3. Alias : Yes를 선택합니다.
  4. Alias Target : daily-mission.com s3 Bucket을 선택합니다.

image.png

아래와 같이 A TypeRecord Set이 생성되었습니다.

image.png

마지막으로 www 서브 도메인에 대한 CNAME 레코드를 생성하겠습니다.

Create Record Set 버튼을 눌러 아래와 같이 입력하고 저장합니다.

  1. Name : www를 입력합니다.
  2. Type : CNAME - Canonical name을 선택합니다.
  3. Alias : No를 선택합니다.
  4. Alias Target : www.daily-mission.com s3 Bucket의 Static website hosting endpoint를 http://를 제외하고 입력합니다.

image.png

Static website hosting endpoint

image.png

아래와 같이 CNAME 레코드가 생성되었습니다.

image.png

4. 테스트

웹 브라우저에서 테스트 해보겠습니다.

daily-mission.com

image.png

www.daily-mission.com

image.png

5. 결론

DNS 서비스가 필요하다면?
-> Route 53을 사용하자.


파트너스 활동을 통해 일정액의 수수료를 제공받을 수 있음


반응형

댓글

Designed by JB FACTORY