[AWS] Route 53 DNS 서비스 사용하기
- AWS
- 2020. 9. 9.
이번 글에서는 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 서비스에 등록할 도메인을 구매해보겠습니다.
자세한 내용은 아래의 책을 참고하시길 바랍니다.
저는 https://kr.godaddy.com/ 라는 곳에서 'daily-mission.com'이라는 도메인을 구입했습니다.
2. Route 53 도메인 등록하기
이제 구입한 도메인을 DNS 시스템에 등록해봅시다.
Route53의 'Hosted zones' 탭에서 'Create Hosted Zone' 버튼을 클릭합니다. 여기서 Hosted Zone은 도메인 traffic에 대한 route 방법들을 담아놓은 컨테이너라고 생각하면 됩니다.
우측 탭의 Domain Name에 각자 구입한 도메인을 입력하고 'Create' 버튼을 클릭합니다.
www는 제외하고 입력합니다. daily-mssion.com (o) / www.daily-mission.com (x)
자 이제 아래와 같이 Hosted Zone이 생성되었습니다. 생성된 Hosted Zone의 'Value' 탭에는 4개의 도메인이 생성되어있습니다. 해당 도메인이 제가 구입한 도메인(daily-mission.com)이 사용할 '네임서버'입니다. 이 4개의 네임서버를 도메인을 구입한 사이트에가서 등록해줘야합니다.
도메인을 구입한 사이트 (kr.godaddy.com)에서 제가 구입한 도메인의 DNS 관리 화면으로 이동합니다.
방금전 확인한 Route53의 네임서버 4개를 입력후 저장버튼을 눌러줍니다.
네임서버에 도메인 등록이 완료되었습니다.
3. Route 53 서버 연결하기 (S3)
이제 네임서버에 등록한 도메인에 서버를 연결해보겠습니다. 이번 실습에서는 S3 버킷이 두개 필요합니다.
간단히 '정적 웹사이트 호스팅' 기능을 사용하는 S3 버킷을 서버로 사용하겠습니다.
아래와 같이 두개의 S3 버킷을 생성합니다. 여기서 실제 서버로 사용되는 버킷은 daily-mission.com 입니다.
daily-mssion.com
daily-mission.com 버킷에는 간단한 정적 웹페이지를 업로드 해줍니다. 저는 index.html 라는 이름으로 업로드 하였습니다.
다음으로 Properties 탭의 Static website hosting을 활성화하고, Index document에 앞서 업로드한 파일의 이름을 입력합니다. 저는 index.html 을 입력했습니다.
Permissions 탭의 Bucket Policy에는 GetObject에 대한 권한을 허용하는 Policy를 작성해 저장합니다.
www.daily-mission.com 버킷에는 아무것도 업로드하지 않습니다.
대신 Properties 탭의 Static website hosting에서 Redirect requests에 앞서 등록한 S3 버킷(daily-mission.com)을 입력 후 저장합니다.
이제 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 레코드'를 생성합니다.
- Name : 입력하지 않습니다.
- Type : IPv4 address를 선택합니다.
- Alias : Yes를 선택합니다.
- Alias Target : daily-mission.com s3 Bucket을 선택합니다.
아래와 같이 A Type의 Record Set이 생성되었습니다.
마지막으로 www 서브 도메인에 대한 CNAME 레코드를 생성하겠습니다.
Create Record Set 버튼을 눌러 아래와 같이 입력하고 저장합니다.
- Name : www를 입력합니다.
- Type : CNAME - Canonical name을 선택합니다.
- Alias : No를 선택합니다.
- Alias Target : www.daily-mission.com s3 Bucket의 Static website hosting endpoint를 http://를 제외하고 입력합니다.
Static website hosting endpoint
아래와 같이 CNAME 레코드가 생성되었습니다.
4. 테스트
웹 브라우저에서 테스트 해보겠습니다.
daily-mission.com
5. 결론
DNS 서비스가 필요하다면?
-> Route 53을 사용하자.
파트너스 활동을 통해 일정액의 수수료를 제공받을 수 있음
'AWS' 카테고리의 다른 글
[AWS] VPC(Virtual Private Cloud) 사용하기 (0) | 2020.09.09 |
---|---|
[AWS] Auto Scaling EC2에 적용하기 (0) | 2020.09.09 |
[AWS] ELB(Elastic Load Balancing) 생성하기 (0) | 2020.09.09 |
[AWS] Free Tier 사용시 유의사항 (0) | 2020.09.09 |
[AWS] IAM 역할 사용하기 (0) | 2020.09.09 |