ETC

서브도메인 설정 (Route53, 가비아, cloudfront)

_베토디 2023. 1. 5. 13:48
반응형
사전 세팅

 

📌 EC2에서 탄력적IP 설정을 해 주었고, 가비아에서 도메인 구입완료 project.com (예시)

📌 letsencrypt 에서 ssl 인증서 등록까지 완료

📌 Route53에서 호스팅영역 및 A레코드도 등록 -> 가비아에 네임서버 등록

* Route53에서 도메인 연결을 하는 경우 0.5달러가 과금된다

가비아에서 호스팅영역 & A레코드설정 & 서브도메인 설정까지 하고 싶다면 아래 포스팅을 참고

 

✔️ 참고 가비아에서 서브도메인 설정

https://sihyung92.oopy.io/devops/gabia/1

 

 

이번 포스팅에서 할 것

 

1. 백엔드 도메인 : (예시)_https://project.com 

2. 프론트엔드는 cloudfront로 배포를 하고 위의 백엔드 서버로 api 요청을 보내고 싶다

3. 프론트엔드 서버 주소는 (예시) https://frontend.cloudfront.net 

동일사이트간 쿠키 공유를 위해 위의 프론트엔드 서버에 서브도메인을 설정한다. (예시) https://www.project.com

* 루트도메인 project.com 을 포함하고 있으면 동일사이트로 간주한다

4. 호스팅영역과 A레코드를 route53에서 진행했기 때문에 Cname 등록 & DNS 검증도 route53 에서 할 것

 

 

Route53 & Cloudfront 에서 서브도메인 설정

 

1. 현재의 Route53 콘솔 설정 상태

 

2. Cloudfront - 배포 - 편집

 

 

3. ACM 에서 인증서 발급 : 서브도메인의 ssl 인증까지 완료해 준다

 

등록할 서브도메인 입력 - DNS검증 선택  - 나머지는 그대로 둔 채로 요청

 

4. DNS 검증 (ACM - 인증서나열 로 가면 방금 요청한 인증서가 있다) * 리전은 글로벌로 해야 한다

그냥 위에서 Route53 에서 레코드 생성만 눌러주면 끝

 

5. Route53 으로 와보면  아래와 같이 자동으로 CNAME이 등록되어 있다

조금 기다려 보면 ACM 인증서의 상태가 검증대기 ->  발급됨으로 바뀐다.

* 두 번 정도 새로고침 하니까 바로 발급됨으로 변경되었다. 30분이 넘어도 변함이 없다면 처음부터 다시 시도해 보기

 

7. Cloudfront에서 서브도메인 설정하기

방금 발급된 인증서를 선택하고 변경사항을 저장하면 끝.

등록한 서브도메인으로 접속해보고 혹시 Access denied 가 나오거나 한다면..

오류페이지 등록이 잘 되었는지 확인해 보기

 


 

여기까지 했다면

백엔드 https://project.com (루트도메인)

프론트엔드 https://www.project.com  (서브도메인)

으로 설정되어있다.

 

처음부터 백엔드 프론트엔드 서버 나눌 생각을 못해서

백엔드에 루트도메인을 줬지만 지금 이것 말고 할게 많아서.. 나중에 바꿔 보겠어요

서브도메인은 www 든 api 든... 뭐든 상관없다

나의 경우 루트도메인인 https://projects.com 에다가 letsencrypt 로 ssl인증을 했기 때문에 백엔드 서버 주소로 들어가서 인증서를 확인해 보면 발급기관이 letsencrypt로 되어있다. (url창 옆 자물쇠 누르면 됨)

 

Route53에서 서브도메인을 등록한 https://www.projects.com 의 프론트엔드 서버로 접속하면 aws 에서 발급된 인증서 임을 확인할 수 있다!

 

백엔드와 프론트엔드 도메인을 맞춰 주었으니 이제 둘이 쿠키를 공유할 수 있게 해보자... ➡️ 서버-프론트엔드 간 쿠키(세션id & csrftoken) 공유하기