본문 바로가기
개발일지

Amazon EC2로 배포한 서버 https 적용시키기 (2) Route53과 Load Balancer

by 개미는뚠뚠딴 2021. 2. 4.
반응형

저번 글에 이어서 이번에는 발급받은 도메인을 이용해 https를 본격적으로 적용시켜 보겠다. 

 

Amazon EC2로 배포한 서버 https 적용시키기 (1) 도메인 구매 및 DNS 등록

오늘은 서버 배포를 마쳤다. 기존 서버는 http였는데 보안을 위해 hppts를 적용시키고 재배포를 진행하기로 했다. 저번 글에 이어서 만들어진 인스턴스를 바탕으로 도메인을 발급받고 ssl 인증을

ant-programmer.tistory.com

 

aws로 돌아와서 Route53으로 들어가 준다. 

좌측 상단 서비스를 클릭해 아래로 내리다보면 Route 53이 보인다.
호스팅 영역 클릭

호스팅 영역으로 들어와서 호스팅 영역 생성을 눌러준다.

맨 아래

만약 콘솔창이 달라 불편하다면 좌측 메뉴 맨 아래에 이전 콘솔 사용하기를 클릭해주면 된다. 

(이 글은 이전 콘솔을 기준으로 작성되었다.)

호스팅 영역 생성 버튼 클릭 후 도메인 이름에 이전에 프리놈을 이용해 미리 구매해둔 도메인을 넣어준다. 

생성 직후 (예시를 위해 아무거나 넣었다.)

생성한 후 유형이 NS인 레코드의 값 총 4개를 프리놈으로 돌아가 Nameservers에 추가해주어야 한다.

 

Management Tools -> Nameservers

Management Tools의 Nameservers를 클릭해주고 Nameserver1, Nameserver2, Nameserver3, Nameserver4를 차례로 아까의 레코드 값들로 채워준다.

예시이다.

위에 Use custom nameservers의 라디오 버튼이 클릭되었는지 확인하고 네 개의 값을 차례로 넣어준 뒤 Change Nameservers를 눌러준다. (이제 프리놈에서의 설정은 모두 끝났다..)

이제 Load Balancer를 생성해준다. 

좌측 메뉴를 아래로 스크롤하면 하단에 위치해있다.

로드 밸런싱 -> 로드밸런서를 선택한 뒤, Load Balancer 생성을 눌러준다.

맨 좌측을 클릭해준다.
(맨 우측(Classic Load Balancer)과 동일하게 https 설정이 가능하지만 Application Load Balancer가 좀 더 기능이 좋다고 한다.)

이름은 아무거나 넣어주는데 아래부터 중요하다..

리스너에 꼭 HTTPS를 선택해주고 아래로 넘어간다.

그다음은 가용 영역 선택인데 이건 생성한 인스턴스에 따라 다르다. 

확인하려면 인스턴스로 돌아가서 인스턴스를 클릭한 뒤 네트워크 탭을 누르면 된다.

우측 하단의 가용 영역

가용 영역에 2c로 나와있으니 2a와 2c를 선택해주고 넘어간다.

추가 서비스는 선택하지 않았다.. (과금이 두려웠다.)

인증서 선택

다음은 인증서 선택인데 여기서 인증서가 뜨지 않는다면 ssl 인증서를 만들어줘야 한다. 
(ACM으로부터 새 인증서 요청 클릭 또는 좌측 상단 서비스 -> Certificate Manager 클릭)  

아무 값 넣은거다.

도메인 이름을 추가하는데 발급받은 도메인을 넣어주어야 한다. 

나는 www.으로 시작하는 도메인도 추가해주었다. ( *. 도메인으로 하면 같은 도메인 내 여러 사이트의 인증을 요청할 수 있다. )

DNS 검증 클릭

DNS 검증을 누른 후 다음으로 진행한다. 

그다음 단계인 태그는 딱히 추가하지 않아도 돼서 나는 추가하지 않고 넘어갔다. 

그 다음 검토 탭에서 제대로 되었는지 확인한 다음 검증으로 넘어가 준다. 

검토 후 확인 및 요청 클릭

검토 후 확인 및 요청을 클릭하는데 이다음 단계가 정말 오래 걸릴 수 있다... 

계속 클릭

검증 미완료

여기서 검증 완료가 되어야 이 인증서를 사용할 수 있는 상태가 된다. 

(이 단계에서 길게는 2시간 가까이 걸리기도 했다...)

미리 발급해둔 내 다른 인증서이다.

발급이 완료되면 이렇게 초록색 글씨로 성공이라고 뜨는데 위 인증서는 실제 내가 쓰고 있는 인증서이다.

발급이 완료되었다면 다시 Load Balancer로 돌아와 설정을 마무리해주어야 한다. 

다시 Load Balancer

발급받은 인증서가 자동으로 선택되는데 그 아래 보안 정책은 건들지 않고 기본 값을 사용했다. 

보안그룹

그리고 새 보안 그룹을 구성했다. 

기존 보안 그룹을 써도 되지만 기존의 ec2와 따로 관리하기 위해 새로 설정해 주었다. 

대상 그룹은 새 대상 그룹으로 지정해주고 이름을 적어준 뒤 아래 프로토콜을 HTTP로 포트는 그대로 80을 사용했다.

그다음 대상을 등록해준다. 해당 인스턴스를 찾아 등록된 항목에 추가해주면 된다. (포트를 내 ec2 인스턴스의 사용자 지정 포트를 사용했다.)

생성된 모습

그리고 검토 화면에서 검토를 마친 뒤 생성해 주면 된다.

처음 생성되고 나면 provisioning 상태인데 active가 될 때까지 기다려준다. (새로고침을 중간중간해주면서 상태를 봐준다.)

active 상태가 되면 이제 Route 53으로 넘어가 마지막 설정을 진행해주면 된다.

호스팅 영역으로 이동

호스팅 영역에서 해당 호스팅을 클릭한 뒤 레코드 세트 생성을 눌러 레코드를 생성해준다.

이때 유형은 A로 해주고 별칭을 허용하는데 여기서 방금 생성한 Load Balancer를 선택해준다. 그리고 생성을 눌러준다. 

www.도메인으로도 호스팅 하고 싶다면 레코드 세트를 하나 더 생성해주는데 이번에는 이름에 www를 넣고 한 번 더 생성해준다. 

이제 서버가 https로 호스팅이 되었다 ! 

발급받은 도메인(https://도메인)으로 접속해보면 확인해볼 수 있다. 

반응형

댓글