아장아장 개발 일기

AWS 클라우드 활용, 도메인에 SSL 적용하기 A to Z(Route53, Certificate Manager, Load Balancer) 본문

개발/AWS

AWS 클라우드 활용, 도메인에 SSL 적용하기 A to Z(Route53, Certificate Manager, Load Balancer)

빨간머리 마녀 🍒 2022. 8. 1. 16:48

지난번 포스트에서 소개해드린 AWS 클라우드 활용, 도메인 등록 및 관리하기에 이어서 이번 포스트에서는 해당 도메인에 SSL을 적용하는 방법을 소개해드리겠습니다.

 

AWS 클라우드를 활용한 SSL 적용 방법은 총 아래 세단계로 이뤄집니다.

1. Certificate Manager에서 SSL에 사용할 인증서 발급

2. Load Balancer를 통해 리다이렉트 할 네트워크 Target Group 생성

3. Load Balancer 설정

 

1. Certificate Manager에서 인증서 발급

먼저 AWS Certificate Manager에 접속해 인증서를 발급합니다.

인증서 발급 신청을 위해 'Request' 버튼을 클릭합니다.
기본으로 설정되어 있는 'Request a public certificate' 버튼을 체크하고 다음으로 넘어갑니다.

어떤 도메인에 대해 인증서를 발급받을 것인지 설정하는 페이지입니다.

Domain Names에 앞서 구매한 도메인 값을 입력합니다.

(▶ AWS Route53에서 도메인 연결 및 Host zone 관리 방법 : https://ajangajangcoding.tistory.com/11)

 

하위 도메인에 대해서도 인증서의 효력이 발생하기 위해서는 *.nayana.me와 같이 와일드카드 도메인 값도 추가해주시면 됩니다.

 

인증 방법은 DNS 인증과 이메일 인증 둘 중 하나를 선택할 수 있는데, 저는 DNS 인증방법으로 진행했습니다.

 

위와 같이 세팅후 'Request' 버튼을 누르면 Certificate 생성이 완료됩니다. 

 

물론 이후 선택한 방법으로(DNS / 이메일) 인증까지 완료해야 해당 인증서를 정상적으로 사용하실 수 있습니다. 

 

* DNS 인증 방법 

  인증서 발급 완료후 생성되는 인증서의 CNAME 값을 호스트 존의 하위 도메인(CNAME)으로 추가하면 완료됩니다.

  1.  발급받은 인증서의 상세 페이지에서 CNAME name과 CNAME value를 확인합니다.'
  2.  Route53의 해당 호스트존으로 접속하여 아래와 같이 CNAME 레코드를 생성합니다.인증서의 CNAME name을 Record name으로, CNAME value를 Value값으로 지정후 'Create Record' 버튼을 클릭합니다.

발급받은 인증서의 상세페이지입니다. 여기서 CNAME name과 CNAME value를 확인합니다.
인증서를 발급받으려는 호스트존으로 가서 인증서 CNAME name과 value를 활용해 CNAME 레코드를 생성합니다.

2. Target Group 생성

인증서 생성이 완료되었다면, SSL이 적용된 HTTPS 서버로 리다이렉트할 타겟그룹을 생성합니다. 여기서 생성된 타겟그룹은 이후 로드밸런서 생성시에 활용됩니다.

 

AWS EC2에 접속해서 왼쪽 메뉴 바를 아래로 내리면 'Target Groups' 항목을 찾으실 수 있습니다.

Target Groups 페이지에 접속한 후 'Create target group' 버튼을 클릭해 타겟그룹을 생성합니다.

 

이후 생성할 로드밸런서가 가리킬 타겟 타입을 'Instance'로 지정합니다.
위와 같이 포트, VPC, 프로토콜 버전을 선택합니다.
인스턴스의 상태를 어떻게 체크할 것인지 세팅하는 부분인데요. 체크를 위해 인스턴스 서버의 어떤 url로 접속할 것인지, 해당 url로 접속했을때 어떤 값(Success Code)을 받아야 인스턴스가 잘 성공적으로 구동되고 있는지 알 수 있도록 세팅합니다.

 

'Next' 다음페이지로 넘어가면 구체적으로 어떤 인스턴스를 타겟으로 할지 설정할 수 있습니다. 인스턴스 연결시 사용할 포트를 설정한 후 'Include as pending below'를 클릭하면 해당 인스턴스가 아래의 타겟목록으로 포함됩니다.

 

여기까지 도메인 SSL 적용을 위한 인증서 발급과 타겟그룹 생성 방법을 알아보았습니다.

 

이제 SSL 적용 마지막 단계인 LoadBalancer 세팅을 해보겠습니다.

 

3. Load Balancer 생성 및 Target Group 연결

EC2 페이지에 접속하면 왼쪽 메뉴 Target Groups의 바로 위에 Load Balancers가 위치해있습니다.

 

Load Balancers 페이지에 접속해 'Create Load Balancer' 버튼을 클릭합니다.

AWS Load Balancers 페이지입니다.

아래는 로드 밸런서 등록 상세 페이지입니다.

로드 밸런서의 이름을 설정합니다.
로드밸런서가 트래픽을 라우팅할 존을 선택합니다. 최소 두개의 존을 선택하는걸 추천한다고 써있네요.
로드밸런서에 적용할 보안그룹을 선택합니다. 그리고 리스닝, 라우팅할 타겟 그룹을 선택합니다. 앞서 만든 타겟 그룹을 선택하시면 됩니다.
Listener HTTPS 443포트를 선택후 SSL 인증서를 함께 선택합니다.

 

여기까지 도메인 등록후 해당 도메인에 SSL을 적용하는 방법을 알아보았습니다.

 

궁금하신 점이나 바로고쳐야할 부분이 있다면 댓글 부탁드립니다.

 

읽어주셔서 감사합니다.

Comments