예전에 진행했던 팀 프로젝트는 팀원끼리 클라이언트, 서버 도메인을 별도로 구매해서 사용했는데 프로젝트가 끝난 이후에 관리가 힘들어 제가 새로 도메인을 구매하여 실습해보기로 했습니다.
도메인 구매는 가비아
에서, 그 외에 도메인 관련은 모두 AWS
에서 진행했습니다.
진행한 순서는 아래와 같습니다.
1. 도메인 구매(가비아)
2. Route53 호스팅 영역 생성
3. Cloudfront 등록
4. SSL 등록
호스팅 업체를 선정하여 도메인을 먼저 구매해줍니다.
저는 가비아
를 선택했고 1년 기간 한정으로 도메인당 5,000원 이하의 가격으로 구매할 수 있었습니다.
이후 Route53
에서 호스팅 영역을 생성해줍니다.
이후 NS(네임서버)를 복사하여 호스팅 업체에 등록해줍니다.
가비아
기준으로는 전체도메인
> 해당 도메인 상세 페이지
에서 변경할 수 있습니다.
이후 Cloudfront에 도메인을 등록해줍니다.
클라이언트
는 S3 Bucket의 퍼블릭 액세스 경로를 등록하면 되지만
서버(여기선 EC2)
의 경우 LoadBalancer를 먼저 등록 해줘야합니다.
ALB(Application Load Balancer) 등록
ALB
는 OSI 계층 중 가장 최상층 계층에 해당하는 Application Layer
의 HTTP 메소드 등을 활용하는 로드밸런서입니다.
EC2 메뉴에서 타겟그룹을 먼저 생성해준 뒤
해당 그룹에 아래와 같이 ALB
를 생성해줍니다.
CloudFront 배포 등록
이후 CloudFront
배포를 생성하면 미리 만들어둔 ALB
가 보입니다.
해당 로드밸런서로 배포를 하게 되면 아래와 같이 도메인 이름이 생성된 것을 확인할 수 있습니다.
이후 route53의 등록된 호스팅 영역에 들어간 뒤 레코드 생성버튼
을 클릭합니다.
레코드 유형은 A
, Application Load Balancer에 대한 별칭
으로 등록된 로드밸런서를 선택한 뒤 레코드를 생성해줍니다.
마지막으로 HTTPS
를 사용해야한다고하면 SSL 등록을 해야합니다.
특히나 클라이언트가 HTTPS
로 구성되어있다면 서버도 HTTPS
로 등록이 되어야
HTTP 메소드(GET, POST...)
사용이 가능합니다.
SSL
등록을 하기 위해선 ACM(AWS Certificate Manager)
에서 아래와 같이 인증서를 요청합니다.
검증 방법은 DNS 검증
과 이메일 검증
이 있는데 Route53이 등록되어 DNS 검증
이 수월합니다.
등록한 뒤 Route53에서 레코드 생성
버튼을 누른 뒤 CNAME
으로 생성하면 얼마 후 발급이 완료된 걸 확인할 수 있습니다.
이후 해당 도메인으로 들어갔을 때 Response가 오면 정상적으로 등록된 것을 확인할 수 있습니다.