에루샤
erusya
Back-end Developer
Web Geek
Anime Otaku
에루샤
개발
Dev: AWS

AWS Cloud Front 대체 도메인 적용 방법 (내 도메인)

38 views as of December 9, 2024.

Cloud Front 도메인

아마존의 클라우드 프론트는 S3의 리소스를 캐시 서버를 이용해 CDN 방식으로 전파 및 배포할 수 있는 기능이다.

단 초기 세팅의 배포링크를 쓴다면 아래 링크처럼 클라우드 프론트가 임의로 만든 배포링크 d3hhksoelq0jvb.cloudfront.net 방식의 링크를 사용해야하는데, 이 링크가 내 도메인 링크도 아닐뿐더러 가독성이 매우 떨어지는 링크이다.


이 앞부분의 도메인 부분만이라도 자신의 브랜드 도메인으로만 바꿔도 그럴듯하게 서비스를 할 수 있을 것이다.


Cloud Front 대체 도메인 설정을 위해 크게 3가지 작업을 진행해야한다.
먼저 대체 도메인으로 사용할 도메인을 작업해야할것이고, 두번째로는 https 서비스를위한 인증서 발급, 마지막으로 클라우드 프론트에 이를 연동하는 작업이다.

순서대로 가보자.



1. Route 53 또는 DNS 서비스에서 서브 도메인 추가

가장 처음으로 할 작업은 어떤 서브도메인을 이용해 클라우드 프론트의 도메인을 대체할 것인지이다.

이 과정은 자신이 어떤 DNS 서비스를 쓰냐에 따라서 다 설정화면이 다르기 때문에 일반적으로 아래와 같이 설명할 수 있다.

레코드 유형을 CNAME 으로 설정하고 레코드 이름을 자신이 쓸 서브도메인명으로 한다.
일반적으로 클라우드 프론트는 cdn 서비스이므로 적당히 나는 cdn이라 이름지었다.


그리고 해당 레코드가 가리키는 값을 클라우드 프론트의 배포 도메인으로 적어두면 끝이다.

그런데, 만약에 본인이 위 스샷처럼 AWS Route 53 을 이용해 DNS 관리를한다면 위의 과정대로 하면 안된다.

무슨 소리냐면 외부 DNS의 경우에는 위처럼 해도 나중에 클라우드 프론트에서 연동작업을할때 문제없이 진행되나 아마존에서 DNS 관리를 하는경우에는 위처럼하면 마지막에 가서 연동을 실패한다.

즉 당신이 Route 53을 통해 관리한다면 아래 스샷처럼 설정해야한다.


레코드 유형을 A 로 설정하고, 별칭 옵션을 ON으로 바꾸고 트래픽 라우팅 대상을 "CloudFront 배포에 대한 별칭"으로 세팅한 이후 아래 검색창에서 해당 클라우드 프론트의 배포 도메인을 적어줘야한다.

이부분 때문에 한 30분 삽질했던거같다....

여기까지 서브도메인 생성이 완료되었다면 DNS 전파되는 시간을 조금 가지고 다음 작업으로 넘어가자.


2. AWS Certificate manager 인증서 생성

클라우드 프론트는 기본적으로 https 통신을 지향하므로 이에맞게 인증서를 만들어줘야한다.
물론 기존의 인증서는 만드는데 돈이들지만 ACM을 이용하면 무료 배포 인증서를 만들 수있다.


먼저 Certificate Manager 서비스로 이동하자. 그리고 꼭 체크해야하는 부분이 있다.

우측 상단의 리전 메뉴를 클릭해서 현재 리전을 꼭 버지니아 북부 (us-east-1)로 바꿔놓아야한다.

왜냐하면 이후에 클라우드 프론트에 SSL 인증서를 연동하는 과정에서 디폴트 리전인 us-ease-1의 인증서만 가져와 연동할 수 있기 때문이다...



리전 변경이 끝났다면 이어서 "인증서 요청"버튼을 클릭해 인증서 생성 작업을 시작해보자.



기본적으로 퍼블릭 인증서가 체크되어있을꺼고 다음을 눌러 진행한다.



여기에서 아까 위에서 만든 서브도메인을 입력한다.



그리고 검증 방법은 DNS 검증 방법을 선택하고, 우측 하단의 요청버튼을 통해 인증서 생성요청을 완료한다.


그러면 인증서 화면이 아래와 같이 뜨게되는데,


조금 기다리면 도메인 테이블에 해당 도메인 인증을 위한 CNAME의 이름과 값이 보이게된다. (안보이면 가로로 스크롤하면 보인다.)

외부 DNS 서비스를 이용한다면 이 값을 아까위에 CNAME 등록했던 방식으로 추가해주고, Route 53 을 사용한다면 위의 "Route 53에서 레코드 생성"버튼으로 바로 추가할 수 있다.



인증서 발급과정이 끝나면 상태가 "발급됨"으로 바뀌고 이 인증서를 이제 아마존 서비스에서 사용할 수 있다.


3. Cloud Front 설정 및 인증서 연동

클라우드 프론트 서비스 페이지로 이동 한 후 배포 중인 서비스를 클릭한 후 설정 페이지로 들어가보자.

설정 박스의 "편집"버튼으로 수정가능

그러면 아래와 같이 세부 설정 페이지가 뜨는데 여기서 Alternative domain name(CNames) - optional 이 부분이 대체 도메인을 사용하기위한 설정 영역이다.


"항목 추가" 버튼을 통해 인풋창을 하나 생성시키고 여기서 위에서 만든 서브도메인을 입력한다.

그리고 이어서 바로 아래의 Custom SSL certificate - optional 에서 금방 위에서 만든 SSL 인증서를 선택해준다.
나머지 설정은 건드리지 않고 "변경 사항 저장"버튼으로 위 설정을 적용시키자.


그러면 아까와는 다르게 대체 도메인 이름에 내가 새로 적은 도메인이 활성화 되게 되고 인증서 파일또한 적용중임을 알 수 있다.


그러면 아까 위에서 cloudfront.net 으로 접속한 이미지 링크가 위에 처럼 내가 설정한 도메인 링크로 cdn 서비스가 제공됨을 확인할 수 있다.


마무리

굳이 번거롭게 클라우드 프론트의 도메인을 변경할 필요는 굳이 없다만, 링크 서비스 조차도 하나의 엄연한 브랜드 이미지가 될 수도 있는 영역에선 이런 작업도 충분히 그 필요성이 있다고 생각한다.

도중에 Route 53 의 별칭 설정이라던지, ACM의 리전 문제라던지 작은 이슈가 있었지만 관련 내용을 검색해가면서 해결하니 기분은 좋았다.


#AWS #CloudFront
0 개의 댓글
×