S3, ACM, CloudFront, Route53으로 서버리스 페이지 https 배포하기 [2/4]

Sunghwan Shin·2020년 3월 31일
3
post-thumbnail

이제 우리의 소중한🥰 프로젝트에 맘에 드는 도메인을 연결하기 위해, 구매해 둔 도메인을 ACM(Amazon Certification Manager)를 통해 AWS에서 사용할 수 있도록 셋업 할 차례에요!

도메인 등록 및 호스팅 설정

도메인 구매 및 가져오기

연결하고 싶은 도메인이 있다면 해당 도메인을 구매하여야 합니다. 저는 가비아에서 도메인을 구매하였습니다.

왜 도메인을 돈주고 사야 하나요?
저는 처음에 도메인을 구매할 때 왜 도메인을 구매해야 하는지 잘 이해하지 못했습니다. 먼저 등록하는 사람이 우선권을 갖는 것이라면, 중간에 왜 대행업체가 껴서 수수료를 떼가야 하는지 잘 이해하지 못했죠. 이유는 등록 신청 과정 자체가 까다롭고 신청 자격 또한 얻기가 까다롭기 때문입니다. 글로벌하게 주소를 사용하기 위해서는 ICANN(국제인터넷주소관리기구)에 주소를 등록하여야 합니다. 해당 기관에서 DNS 등 여러 인터넷 환경을 관리하기 때문에 수수료가 발생하기도 하고, 등록 절차 또한 직접 수행하지 못하기 때문에 수수료가 발생하는 것으로 보입니다.

가비아를 기준으로 [My 가비아 > 전체 > 관리툴] 을 누르시면 아래와 같은 화면이 나옵니다.

해당 화면에서 네임서버 설정을 통해 AWS에서 해당 도메인을 사용할 수 있도록 등록할 수 있습니다.

가비아 창은 닫지 말고, 새 창을 통해 AWS 콘솔로 돌아와 봅시다. [서비스 >Route 53]에 들어오면 아래와 같은 대시보드가 있습니다.

좌상단의 호스팅 영역 생성을 누르면 오른쪽에 이런 폼이 등장합니다.

도메인 이름에 구매한 도메인을 작성합니다. 설명은 따로 작성하지 않아도 되고, 저희의 목적은 퍼블릭한 배포이니 유형은 퍼블릭 호스팅 영역을 그대로 놔둡니다.

그러면 호스팅 영역 하나가 생성됩니다. 눌러서 들어가면 아래와 같이 두 개의 레코드가 있습니다. 레코드는 도메인에 접근했을 때 취할 행동 정도로 생각해 두시면 편할 것 같습니다.

여기서 유형이 NS인 (네임서버) 값들을 가비아에 등록할 것입니다. 아까 끄지 않고 남겨둔 가비아 창에서 네임서버 설정을 누르면 아래와 같은 창이 나옵니다. 아래의 입력에 네임서버에 있는 각 값들을 한줄씩 옮깁니다. 이 때, 맨 뒤에 있는 . 은 지우고 넣어 줍니다.

좋습니다! 여기까지 오셨으면 Route53에 구매하신 도메인 연결이 마무리 된 것입니다.

ACM으로 SSL(인증서) 등록하기

https를 사용하기 위해서는 인증서가 필요합니다. AWS에서 제공하는 Amazon Certification Manager에서 인증서를 발급받을 수 있습니다. Route53에 도메인을 등록한 상황이라면 아주 쉽게 인증서를 발급받을 수 있습니다.

[서비스 > Certification Manager]로 이동하면 이렇게 생긴 화면이 반겨줍니다. 여기서 인증서 프로비저닝을 눌러 인증서를 발급하면 됩니다.

그런데 잠깐! 아주 중요한 것이 있습니다. 저희는 CloudFront를 이용해서 배포를 진행할 것이기 때문에, 서비스 지역을 꼭 "N. Virginia (버지니아 북부)"로 지정하고 키를 만들어야 합니다. CloudFront에서는 N. Virginia에 생성된 키만 사용할 수 있습니다.

이제 시작해 봅시다. 시작하기를 눌러서 공인 인증서 요청을 선택하고

도메인 이름을 써 줍시다.

이 때, 나중에 my-prefix.my-url.com(ex. www.my-url.com, admin.my-url.com 등)과 my-url.com(www 없는 주소) 모두에서 접속이 원활하게 이루어질 수 있도록 하고 싶다면 "이 인증서에 다른 이름 추가" 버튼을 눌러서 위와 같이 두 개의 도메인을 입력 해 줍니다.

이제 도메인의 소유권을 인증해야 합니다. 앞 단계에서 Route53에 도메인을 등록 해 두었으니, DNS 검증을 선택해 줍니다.

이제 완료하면 아래와 같은 창이 뜹니다. (상태는 주황색 대기중으로 표시됩니다.)

저는 이미 생성을 완료해서 좌하단의 "Route53에서 레코드 생성" 버튼이 비활성화 되어있지만, 키를 만드신 직후라면 활성화 되어 있을 것입니다. 누르면 작은 팝업이 뜨는데, 해당 팝업에서 DNS 인증을 위한 레코드를 등록할 수 있습니다.

앞서 선택한 DNS 인증이 해당 레코드 등록을 통해서 이루어지는 것입니다. 적절한 이름-유형-값 쌍을 DNS에 등록함으로써 SSL 발급이 완료되며 이후 CloudFront에서 해당 키를 선택해 인증할 수 있습니다.

벌써 4개 중 2개 서비스에 대한 설정이 완료되었습니다! 겸사겸사 Route 53 설정도 조금 진행했구요. 이제 프로젝트 파일과 도메인이 준비되었으니, 배포 설정(CloudFront)과 도메인 연결(Route53)이 남았습니다.

profile
디자인하는 프론트엔드 개발자입니다. 우아한형제들에서 일하고 있습니다.

0개의 댓글