사전작업
- 도메인 구매(https://reddot.kr/52 참고) - dhkang2.shop
- SSL 인증서 구매(https://reddot.kr/54 참고)
- nginx 또는 apache가 설치되어 있는 서버
1. Route 53에 도메인 등록
이 과정은 완전히 필수는 아니지만 편의상 & AWS에서 레코드를 관리하기 위해 설정하자
Route53 -> 호스팅 영역
2. 도메인 구입한 곳(가비아, 후이즈 등)에서 네임서버 변경
생성한 호스팅 영역 레코드에 NS라고 되어있는 4개의 호스트명을 복사해 도메인 구입한 곳의 네임서버 부분을 변경하자.(맨 뒤에 .은 빼야 한다)
변경 후 적용되기까지 1~2 시간 정도 기다려야 한다.
3. ACM에 인증서 등록(AWS는 이 과정이 필수이다)
ACM -> 가져오기
이 글에서는 코리아ssl 업체 기준으로 설명한다. 다른 곳에서 구매해도 방식은 비슷하니 크게 문제없을 것이다.
- 인증서 본문 : CRT (.pem파일)
- 인증서 프라이빗 키 : KEY(패스워드 X)
- 인증서 체인 : CA(.pem파일) + root(확장자 .pem으로 변경) / CA 내용 아래쪽에 root 내용 합치면 된다
검토에서 아래 사진처럼 도메인 정보가 나오면 정상적으로 입력된 것이다.
4. 로드밸런서 생성
보안그룹은 http와 https를 0.0.0.0/0에서 허용하도록 설정
*대상 그룹 생성 후 웹서버가 설치되어 있는 서버 대상으로 지정(http, 80)
- 리스너 설정 1 : http 80
- 리스너 추가 설정 2 : https 443
보안 리스너 설정 : 처음에 ACM에 등록했던 인증서 선택
로드밸런서 생성 확인 및 DNS주소로 접속 테스트
5. 로드밸런서 규칙 변경
현재는 80과 443 포트로 들어올 때 전부 target group으로 전달한다고 설정되어 있다.
https 적용을 위해서는 80 포트로 접속이 들어왔을 때 443 포트로 Redirection을 해야 한다.
변경 완료
6. 도메인 레코드에 연결
Route53에서 생성한 도메인 선택 -> 레코드 생성
AWS의 로드밸런서를 루트 도메인에 매핑시키려면 별칭 기능을 사용해야 한다.
별칭 부분을 on으로 설정 후 생성한 로드밸런서를 선택 후 레코드 생성
도메인 주소로 접속 테스트