[AWS] SSL 적용하기 - Certificate Manager

koline·2024년 7월 16일
0

AWS

목록 보기
15/18

AWS에서는 AWS Certificate Manager (ACM)을 사용해서 무료로 SSL을 적용할 수 있다.

사실 지금은 letsencrypt라는 오픈소스 SSL 발급 프로젝트가 널리 퍼져 있어서 무료로 사용할 수 있다는게 크게 와닿지 않을 수 있지만,

AWS 인스턴스를 사용하고, ELB와 Route 53을 사용한다면 letsencrypt를 도입하기 매우매우 까다로워진다.

그러나 ACM을 사용해서 매우 빠르고 간단하게, 무료로, 여러 인스턴스에 한번에 SSL을 적용할 수 있다.

1. AWS Certificate Manager > "인증서 요청" 클릭

2. 다음

3. 구매한 도메인 입력

나머지는 기본 그대로 둬도 됨

4. 보안그룹에 HTTPS 적용

우선 보안그룹 중 로드밸런서 보안그룹을 선택한다.

인바운드 규칙 편집 선택 (지금 인바운드 규칙에 HTTPS가 이미 있는데, 없다고 가정함)

그림과 같이 HTTPS 규칙을 Anywhere-IPv4 로 추가하고 규칙 저장한다.

보안그룹 수정완료.

이제 이 보안그룹이 적용된 WEB/WAS 로드밸런서로 443 포트를 통한 HTTPS를 보낼 수 있다.

5. 로드밸런서에 HTTPS 적용

이제 443포트로 오는 HTTPS 요청은 그대로 처리하고 80포트로 들어오는 HTTP 요청은 HTTPS 프로토콜을 사용하도록 443포트로 redirect 시켜줘야한다.

WEB/WAS 로드밸런서 둘 다 작업해준다.
(예시는 WEB 로드밸런서)

리스너 추가 클릭 (여기도 마찬가지로 443포트가 작업이 되어있지만 없다고 가정함)

HTTPS:443 으로 들어오는 요청을 그대로 대상 그룹에게 전달하는 리스너

생성완료.

이번엔 HTTP:80 요청을 HTTPS:443으로 redirect 시키는 규칙을 추가해야 한다.

HTTP:80 체크 > 규칙관리 > 규칙 편집

규칙 추가 클릭

다음

조건 추가 클릭

호스트 헤더 선택 > 도메인 입력 > 확인

다음

URL로 리디렉션 > HTTPS:443 > 301 > 다음

우선순위를 숫자로 입력한다.

대상 그룹으로 전달하기 전에 최우선적으로 HTTPS로 redirect 시켜야하기 때문에 1로 지정해준다

생성


생성이 완료되면 https://도메인 으로 접속이 될 것이다.

또한 http://도메인으로 요청을 보내도 https://도메인으로 redirect 될 것이다.

profile
개발공부를해보자

0개의 댓글

관련 채용 정보