본문 바로가기

Cloud/AWS

AWS Certificate Manaver(ACM)과 NLB를 이용한 예제

Today Keys :    AWS, Cloud, 클라우드, ACM, Certificate, Manager, 인증서, SSL, TLS, offload, 아마존


이번 포스팅에서는 ACM을 이용해서 인증서를 생성하고, 이를 이용해서 Network Load Balancer 에서 SSL Offload를 해보는 예제에 대한 포스팅입니다.


 AWS에서 자체적으로 생성한 인증서 혹은 외부  인증서를 관리해주는 AWS Certificate Manager(ACM)를 이용해서

인증서를 생성하고, 인증서를 Network Load Balancer에 적용해서 SSL Offload를 하는 예제입니다

 

먼저 ACM을 이용해서 자체 인증서를 생성합니다.

초기 화면에서 'Provision certificates'의 Get started를 클릭합니다.

 

   Request a public certificate를 선택합니다.  

 

   인증서에 도메인 정보를 입력합니다. 

zigispace.site라는 도메인의 서브도메인을 모두 포함하기 위해서 

*.zigispace.site 로 입력합니다. 

 

   인증서를 사용하기 위해서 validation 과정을 거치게 되는 데, 

DNS 방식과 Email 방식이 있습니다.

본 예제에서는 DNS validation 방식을 사용합니다. 

 

신청한 내용이 맞는지 체크를 합니다.    

 

    이제 DNS validation을 위한 정보를 확인합니다.

validation이 되기 전에는 상태가 Pending입니다.

DNS 방식은 임의로 생성된 CNAME 레코드를 도메인에 추가하는 것입니다.

 

 

   임의로 생성된 CNAME 레코드를 생성합니다. 

   

 

레코드를 입력하고 나면,  status가 pending에서 Issued 상태로 변경됩니다.

 

 

   이제 NLB 설정을 합니다.

Listeners를 TLS 방식으로 설정합니다.

 

 

 

   인증서를 선택하는 데, 방금 전에 ACM 만든 것을 사용할 것이기 때문에

'Choose a certificate from ACM'을 선택합니다. 

 

 

 

   Target을 지정합니다.

NLB의 SSL Offload를 사용할 것이기 때문에

Target 구간은 일반 TCP 80을 선택합니다.

 

 

 

   이제 DNS에 NLB를 연결 할 레코드를 설정합니다.

NLB이 직접 연결할 것이기 떄문에 Alias를 선택합니다.

Alias로 선택 가능한 AWS 리소스 타입이  몇 가지 있는 데, NLB도 그 중에 하나입니다.

web 이라는 이름으로 alias를 선택해서 NLB를 지정합니다.

이제 모든 설정이 끝났습니다. 

 

 

   이제 테스트를 해보겠습니다.

NLB 생성 시에 만들어진 주소로 직접 접속을 하면, 인증서에 등록된 URL이 아니기 떄문에

아래와 같이 접속되는 것을 확인 할 수 있습니다.

 

 

  이제 인증서에 등록된 URL로 접속을 하면 아래와 같이 정상적으로 접속이 되는 것을 볼 수 있습니다.