안녕하세요
이번 시간에는 저번 포스팅에서 진행했던 이중화된 WEB/WAS 상태에서 Certificate Manager를 이용해서 로드밸런서에 SSL 인증서를 적용하는 실습을 진행해 보겠습니다.
1. 사전 준비 사항
[NCP] 로드밸런서를 이용하여 WEB/WAS 서버 이중화 실습하기(Nginx/Tomcat) (tistory.com)
본 포스팅은 이전에 실습했던 로드밸런서를 이용하여 WEB/WAS 서버를 이중화한 이후에 SSL을 적용하는 실습입니다.
[NCP] Certificate Manager 신규 기능 인증서 발급에 대해 알아보고 실습해보기 (tistory.com)
Certificate Manager의 신규 기능인 인증서 발급을 통해 실습을 진행하는 것이므로 이전 포스팅의 내용을 참고해 주세요.
* 실습을 진행하기 위해 도메인을 소유하거나 테스트용 도메인이 필요하다는 점 참고 부탁드립니다.
2. 실습 목표
시나리오는 다음과 같이 엔드 유저가 도메인을 이용해 접속하면 WAS에 띄워져 있는 tomcat이 화면에 표시되는데 SSL 인증서가 적용되어 암호화된 통신이 가능하게 끔 하는 것이 목표입니다. 네이버 클라우드 플랫폼에서 SSL 설정은 최상단에 있는 리소스에 적용하면 하위 리소스에는 자동으로 적용됩니다. (WAF > 로드밸런서 > 웹 서버 순서)
3. 로드밸런서에 SSL 인증서 적용하기
1. Certificate Manager를 이용한 인증서 발급하기 (DNS 검증 사용)
현재 등록된 인증서가 없기 때문에 신규 기능으로 추가된 인증서 발급을 통해 SSL 인증서를 발급하겠습니다.
Apex 도메인 | domain.shop |
Wildcard 도메인 | *.domain.shop |
테스트를 위해 사용할 도메인을 등록합니다. 저는 현재 domain.shop이라는 테스트 도메인이 있기 때문에 다음과 같이 설정한 후 다음을 눌러줍니다.
저는 DNS 검증을 이용하여 도메인의 소유권을 검증하도록 하겠습니다. 본인이 편한 방법으로 인증을 진행해 주시면 됩니다.
인증 방식을 선택한 후 수정이 불가하기 때문에 변경하려면 삭제 후 재등록을 해야 합니다. 그렇기 때문에 인증 방법은 신중하게 선택해 주세요.
다음과 같이 Certificate Manager 메인에 인증서가 진행 중인 상태로 있는데 DNS 등록을 진행하면 해당 인증서를 사용하실 수 있습니다. 검증 상태에서 해당 값들을 복사합니다.
2. Global DNS를 이용한 DNS 검증 및 레코드 등록하기
저는 다음과 같이 Ncloud 서비스인 Global DNS를 이용하여 DNS 검증을 진행하려고 합니다.
[NCP] NCP에서 외부(가비아)에서 구매한 도메인 Global DNS에 도메인 등록하기 (tistory.com)
Global DNS 서비스에서 DNS 검증을 사용하기 위해서는 해당 도메인의 네임 서버를 ncloud로 변경해주셔야 합니다. 해당 포스팅에서 네임서버 등록 부분을 참고하여 설정해 주시면 됩니다.
먼저 Global DNS에 도메인을 추가해주어야 합니다. 다음과 같이 도메인을 추가해 줍니다.
도메인이 추가되면 다음과 같이 도메인이 파란불로 바뀌는데 이때 레코드 추가를 통해 DNS 검증을 진행하면 됩니다.
(1) Apex에 대한 인증
Certificate Manager에서 복사했던 Name과 Value 값으로 레코드를 추가하는데 CNAME 타입으로 추가합니다.
(2) Wildcard(*)에 대한 인증
Certificate Manager에서 Wildcard 도메인 검증 값을 복사하여 Name과 Value 값으로 레코드를 추가하는데 CNAME 타입으로 추가합니다.
다음과 같이 DNS 검증을 할 때 주의하셔야 할 사항은 [도메인 이름] 값을 그대로 복사 붙여 넣기 하는 것이 아닌. domain.shop 부분을 제외한 나머지 값을 입력하셔야 합니다. 실패 시 유효한 레코드가 아니어서 등록이 되지 않습니다.
위와 같이 레코드를 추가한 후 [설정 적용]을 통해 도메인을 배포합니다.
배포한 후 약간의 시간 차가 있겠지만 다음과 같이 검증 상태가 [성공]으로 바뀌고 상태는 정상으로 바뀌게 됩니다. 다음과 같이 DNS 검증이 완료되었다면 등록한 SSL 인증서를 사용하실 수 있습니다.
3. DNS 등록하기
외부 로드밸런서의 엔드포인트를 이용하여 CNAME으로 DNS를 등록해야 합니다. Public IP를 이용하여 A 레코드로 등록해도 상관없지만 IP가 변경됨에 따라 매번 수정해줘야 하기 때문에 보통의 경우 엔드포인트로 설정합니다.
다음과 같이 복사한 외부 로드밸런서의 도메인을 이용하여 CNAME 타입의 레코드를 추가한 후 배포합니다.
4. 로드밸런서에 SSL 인증서 등록하기
외부 로드밸런서부터 리스너 설정 변경을 통해 변경해 주겠습니다.
다음과 같이 등록한 인증서를 추가한 후 HTTPS/443/TLSv1.0/Target Group를 입력한 후 저장합니다.
SSL 인증서가 추가된 것을 확인할 수 있습니다.
다음과 같이 HTTP 프로토콜 리스너에 대해 [규칙 조회/변경] 버튼을 누릅니다. 엔드 유저가 80으로 들어왔을 때 443으로 리다이렉트 해주기 위함입니다.
다음과 같이 호스트 헤더가 hyuk.domain.shop에 대해 HTTPS 443으로 리다이렉트 하는 액션을 하는 규칙을 추가합니다.
내부 로드밸런서에 대한 리스너 설정 변경은 하지 않아도 됩니다. 앞에서 설명드렸던 것처럼 WAF > 로드밸런서 > 웹 서버 순서로 가장 앞단에 SSL 적용하면 뒤에 있는 리소스는 자동으로 SSL이 적용됩니다.
최종적으로 다음과 같이 엔드 유저가 도메인을 통해 접속했을 때 리스너 80의 우선순위인 80 ▶ 443으로 리다이렉트 되고 SSL이 적용됩니다. 나머지 뒷단은 내부 네트워크 통신이기 때문에 HTTP로 평문 통신하게 됩니다.
5. SSL 적용 확인하기
Global DNS에 등록한 도메인을 통해 다음과 같이 브라우저에서 접속하면 SSL 인증서가 적용되어 보이는 것을 확인할 수 있습니다.
이번 시간에는 Certificate Manager와 Global DNS를 이용하여 도메인을 등록하고 로드밸런서에 SSL을 설정하는 실습을 진행해 봤습니다.
감사합니다.
'Cloud > Naver Cloud' 카테고리의 다른 글
[Ncloud] Security Monitoring의 기능부터 신청까지 자세하게 알아보기 (1) | 2024.02.08 |
---|---|
[Ncloud] Certificate Manager를 통한 외부 인증서 등록하기 (+WAF 인증서 갱신) (0) | 2024.02.08 |
[NCP] Certificate Manager 신규 기능 인증서 발급에 대해 알아보고 실습해보기 (1) | 2023.12.20 |
[NCP] 로드밸런서를 이용하여 WEB/WAS 서버 이중화 실습하기(Nginx/Tomcat) (0) | 2023.12.20 |
[NCP] 서로 다른 VPC에서 VPC Peering을 통한 내부 네트워크 통신 테스트하기 (1) | 2023.12.19 |
클라우드, 개발, 자격증, 취업 정보 등 IT 정보 공간
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!