[AWS] 외부 도메인 연결하기

다른 공급자에게서 발급한 도메인을 AWS에서 연동하는 법에 대해 다룬다.

다른 도메인 공급자들은 아예 AWS Route53로 권한을 다 끌고와서 사용하는게 가능한 것 같던데, Cloudflare는 다 막아놨다고 하더라.
그래서 한번 등록을 하더라도 왔다갔다하면서 설정을 해야하는 부분이 조금 있을 것이다.

2가지 케이스를 다 정리해보겠다.




호스팅 영역 등록 (Cloudflare는 해당안됨)

가장 먼저 해야 할 것은 호스팅 영역을 등록하는 것이다.

생성버튼 누르고

도메인만 입력해서 바로 생성해주면 된다.

그럼 이런식으로 생성될 것이다.




도메인 네임서버 연결 (Cloudflare는 해당안됨)

아예 도메인을 AWS에서 구매했다면 이런것들을 다 할 필요는 없지만, 외부 사이트에서 도메인을 등록한 경우에는 이런 작업들이 다 필요하다.

그리고 cloudflare는 이걸 정책상 막아놔서 안되고, 다른 공급자들은 아마 거의 될 것이다. 가비아라든지...

호스팅 영역에 보면 저런 네임서버가 4개 생겨났을 텐데

그걸 도메인 관리 사이트에 가서 네임서버 레코드로 다 등록해준다.




ACM 인증서 발급

그리고 SSL 인증으로 HTTPS를 설정하려면 인증서를 연동하는 작업도 필요하다.
도메인 발급 사이트에서 인증서를 가져와서 집어넣거나, 그냥 아마존에서 발급하는 것, 두가지 방법이 있다.
아마존에서 발급하는 것이 AWS 내에서 쓰기는 훨씬 편하긴 하다.

이건 어느 공급자든 똑같을 것이다.




(택1) 인증서 가져오기 (Cloudflare)

우선 클라우드플레어로 이동해서 인증서를 발급한다.

기본설정으로 두고 발급해도 된다.

그러면 인증서 본문값과 프라이빗 키를 줄텐데, 한번 받으면 또 받을 수가 없으니 잘 저장해둔다.

그리고 AWS Certificate Manager에서 인증서 가져오기로 방금 인증서 정보들을 넣어준다.

먼저 본문과 프라이빗을 넣어준다.
인증서 체인이 좀 귀찮은 부분인데,

아래 링크로 공용? 인증서 코드를 받아서
https://developers.cloudflare.com/ssl/static/origin_ca_rsa_root.pem

개인 인증서 텍스트...

공용 인증서 텍스트...

의 형태로 이어붙여서 넣어주면 된다.
개인 인증서가 아까 인증서 발급받을때 받았던 그거다.

그렇게 만들어주면

이렇게 인증서 목록에 잘 뜰 것이다.





택(1) 아마존에서 인증서 발급하기

인증서 요청으로 들어가서, 퍼블릭으로 그대로 가고

도메인만 적어서 생성하면 된다.

그럼 미승인된 상태로 인증서가 생성이 될 것이다.

당연히 여기서 더 해줘야 할 것이 있다.

상세페이지로 들어가면, CNAME의 이름과 값이 세팅되어있을 것이다.

이제 저걸 도메인 발급받은 사이트에서 CNAME 레코드로 추가해줘야 한다.

내 경우에는 Cloudflare인데, DNS only 모드로 깔고, CNAME 모드로 저 값들을 그대로 넣어주면 된다.

그리고 좀 기다리면 인증이 될 것이다.

난 15분 정도 걸린거같다.




도메인 붙여보기 (CloudFront)

이제 만들어놓은 인증서로 도메인을 붙여보자.
여기서는 cloudfront로 했는데, 뭘로 해도 상관은 없다.
그럼 이제 저걸 한번 리소스에다가 붙여보자
여기서는 CloudFront를 썼지만, 뭐든 상관없다.

먼저 Cloudfront 편집창에서 CNAME에 깔고싶은 도메인 이름을 넣고, 인증서를 붙여준다.

그리고 Cloudflare로 이동. Name에 원하는 서브도메인을, target에 cloudfront 경로를 넣어준다.

만약 도메인 공급자가 Cloudflare가 아니라면 Route53로 다 끌고와서 바로 등록하는 것이 가능하다.
이렇게.

그럼 이런식으로 잘 될 것이다.




참조
https://veducate.co.uk/dns-delegation-route53/
https://serverfault.com/questions/951781/how-do-i-setup-a-cloudflare-origin-certificate-in-aws-certificate-manager
https://developers.cloudflare.com/ssl/origin-configuration/origin-ca
https://aws.amazon.com/ko/premiumsupport/knowledge-center/acm-certificate-pending-validation/
https://docs.aws.amazon.com/acm/latest/userguide/dns-validation.html
https://developers.cloudflare.com/ssl/origin-configuration/origin-ca
https://advancedweb.hu/how-to-use-a-custom-domain-on-cloudfront-with-cloudflare-managed-dns/