본문 바로가기
Study/Naver Cloud Platform

NCP활용하기(4)- NKS 로 배포한 웹서버 배포를 도메인 구매 및 연결, SSL 인증서 적용하기

by 왕방개 2024. 10. 29.

 

이전에 NKS 를  활용해서 웹 서버를 배포했는데, 이제 가비아로 도메인을 구매해서 배포까지 했습니다. NCP 에서 제공하는 서비스 중 활용했던 서비스는 Certificate Manager, Load Balancer , Global DNS 를 활용했습니다.

 

 


1. Global DNS 에 구매한 도메인 등록

도메인을 먼저 gabia에서 구매하고 Global DNS 에 등록하기 위해선 

1) 가비아 사이트에 네임서버 등록

 

구매한 도메인을 클릭하면 네임서버를 등록할 수 있는데, 다음과 같이 ns1-1.ns-ncloud.com , ns1-2.ns-ncloud.com 을  등록하면 됩니다. 

 

2)NCP Global DNS 등록

 

[도메인 추가] 버튼을 누르고 구매한 도메인을 [이름]에 넣고 [추가]버튼을 누릅니다.

 

 

 

 

 

 


2. Certificate Manager 에서 SSL 인증서 받기

SSL 인증서는 브라우저와 서버사이에 발생하는 정보통신을 안전하게 하는 역할을 수행하는 매개체 입니다. https 로 통신하기 위해선 반드시 필요합니다. NCP 에선 무료로 발급해주기 때문에 이를 발급받으면 됩니다.

 

1) 인증서 발급

 

 

[인증서 발급] 버튼 을 누르고  위에 Cloud Basic 을 누르고 [발급 시작]을 누릅니다.

 

그다음 [Certificate 이름] 에는 인증서 이름을, [도메인 이름]에는 구매하신 도메인을 한 다음 , [이 인증서에 다른 도메인 이름 추가] 에 구매하신 도메인 앞에 *. 을 붙여야합니다. 그다음 [다음] 을 계속 붙이면 됩니다.

ex.) *.naver.com 이런식

 

 

2) CNAME 등록

방금 등록했던 인증서 이름을 클릭하면 CNAME 을 등록해야합니다. 등록한 인증서를 누르면 아래와 같은 정보가 나옵니다.

 

이정보에서 Record Name 과 Record value 를 복사를 해놓고 Global DNS 로 돌아가서 [레코드 추가]을 누릅니다.

 

누르고 CNAME으로 변경하고 나서  [레코드명]과 [레코드값]에 아까 복사한 Record Name 은 레코드명 , [레코드값]에 Record Value 를 입력하고 추가하고 난 다음 [설정 적용] 까지 누르고 몇분 지나면 인증서에 정상이 뜹니다.

 

 

 

 

 

 


3. Global DNS 에 A record 등록

 

https://kingbk.tistory.com/132

 

NCP 활용하기(3) - NKS 구축 및 활용 (Next.js , SpringBoot)

저는 이번 공모전을 진행하면서 NCP에서 제공받아 NKS 을 통해 배포했습니다. Frontend로는 next.js 14버전과 Backend 로 Springboot 을 활용해 배포했습니다. NKS를 사용하면서 장점으로는 역시 다양한 Cloud S

kingbk.tistory.com

위의 과정을 거치고 NKS 의 alb 를 배포했다면 [Load Balancer] 탭에 배포가 되있습니다. 이걸 이제 도메인과 연결을 해줘야합니다.

 

1)레코드 추가

레코드 명에는 원하시는 이름을 붙이시고 [LB VPC]  를 누르신 다음 load balancer 에 배포된 [도메인]을 선택해주시고 [추가]를 누르신다음 [설정 적용]을 누르시면 배포가 됩니다.

 

 

 

 


4. 결론

등록하신 웹사이트를 이제 접속해주시면 인증서가 적용되는 것을 확인할 수 있습니다.

 

 

 

 

 


5. 주의하실 점

1) 서버 배포할때 HTTPS끼리는 HTTPS 끼리만 통신합니다.

하실때 주의하실 점이 웹 서버와 애플리케이션 서버가 모두 HTTPS로 통신하도록 설정해야 보안이 유지됩니다. HTTPS를 적용하려면 애플리케이션 서버에서도 SSL 인증서를 구성해야 하며, HTTPS를 통해 API 요청을 받을 수 있도록 설정해야 합니다.

 

2) 애플리케이션 서버 배포할때 health check 과정도 거쳐야함

또한 , 애플리케이션 서버를 배포할때 Application Load Balancer 로 배포할때 health check 과정을 반드시 거쳐야합니다. 제가 가장 애를 먹었던 이유가 이부분인데요. Application Load Balancer(ALB)에서 **헬스 체크(Health Check)**는 ALB가 애플리케이션 서버의 상태를 모니터링하여 정상적인 서버에만 트래픽을 전달하도록 하는 과정입니다. 헬스 체크는 서버의 특정 엔드포인트(예: /health 또는 /status)에 주기적으로 요청을 보내어 응답 상태와 시간을 확인하는 방식으로 이루어집니다. 이 과정을 통해 ALB는 서버의 가용성을 보장하며, 문제 발생 시 트래픽을 다른 정상 서버로 분산해 애플리케이션의 안정성을 높입니다. 만약 클라우드를 구축하시고 백엔드 개발자가 다른 분이 하신다면 반.드.시 health check도 구현해달라고 말씀해주세요