안녕하세요! 블로그에 글을 안쓴지 거의 2주가 됐습니다! 🤣 게으른 녀석
요새 프로젝트 때문에 바쁘기도 했고, 개인적인 공부나 취미생활을 하는 동안 블로그에 투자할 시간이 잘 나질 않았습니다.. 😢
그래서 오랜만에, 제 AWS 계정을 새로 세팅하면서 (프리티어를 위해) 진행했던 저의 TLS 적용 방법을 알려드리려 합니다!

제가 앞으로 말씀드릴 과정을들 모두 수행하면, 위와 같은 형태로 AWS를 구성하실 수 있습니다!
시작해보겠습니다~
1. EC2 생성하기

사실 AWS는 문서가 아~주 잘 되어있습니다. 그것도 한글로 된 문서가 생각보다 많습니다.
EC2도 한글로 문서가 잘 되어 있어서 자세한 내용은 다음 공식 가이드 문서 링크를 참조하셔도 되겠습니다.
여기서 중요한 점은 네트워크 설정 항목에서 다음 HTTP 트래픽 허용을 선택해주시면 됩니다.

트래픽 허용을 안하셨다면? (아래는 HTTP 트래픽 허용을 하셨다면 넘어가셔도 됩니다)
보안 그룹을 새로 생성해서 HTTP 허용을 해주고 등록해주시면 됩니다.
EC2 왼쪽 메뉴에 보이는 보안 그룹에서 보안 그룹 생성을 아래과 같은 설정으로 진행하시면 됩니다.

이후 EC2로 돌아가서 만드셨던 인스턴스를 체크하신 다음, 작업 - 보안 - 보안 그룹 변경을 누르고 만드셨던 보안 그룹을 선택해주시면 됩니다.

2. (선택) 탄력적 IP를 설정해줍니다.
탄력적 IP는 EC2의 IP가 동적으로 바뀌는데, 이 주소를 고정 주소로 연결시켜주는 좋은 기능입니다.
사실 탄력적 IP는 저희가 목표로 하는 TLS 세팅과는 상관이 없습니다.
하지만 추후 EC2를 SSH 연결을 하실 때 귀찮음을 방지할 수 있으므로.. 해두시는걸 추천드립니다.

3. 도메인을 구매하거나 무료 사이트에서 얻기
TLS를 위해 등록할 도메인을 구매하거나 Freenom같은 무료 도메인 사이트에서 얻으시면 되겠습니다.
아니면 AWS에서도 도메인을 구매하는 곳이 있습니다. Route 53라는 곳에서 얻으시면
Route 53 공식 가이드 링크의 설명에 따라 구매하셔도 되지만, 저는 Godaddy 사이트에서 구입을 했습니다.

4. 인증서 발급
도메인을 구매하신 다음에, AWS에서 인증서를 발급해줍시다.
인증서를 발급하는 곳은 ACM(AWS Certificate Manager)입니다.
주의하실 점은 Private이 붙은 서비스에 들어가시면 안된다는 점입니다. (Private 서비스가 따로 있습니다)
아래 이미지처럼 인증서 요청을 누르고 다음을 눌러주세요.

그리고 아래와 같이 구입하셨던 도메인 이름에 *을 붙여서 등록해주시면 되겠습니다. (예: `*.example.com`)

그러고 나면, 승인 대기중이라는 상태와 함께, 인증서가 만들어질겁니다.
이제 다음 과정이 중요합니다.
5. 인증서의 CNAME을 도메인 설정에 붙여넣기

이 CNAME을 자신이 구매했던 도메인 사이트의 설정에 복붙해주시면 됩니다.
주의하실 점은, CNAME 이름에 자신의 도메인 이름이 맨 뒤에 붙어있다면 그 부분을 지워주셔야 합니다.(예: `_~~~~.example.com`에서 `.example.com` 부분을 삭제)
(혹시 Route 53을 이용중이시라면 다음 공식 가이드 링크를 참조해서 등록해주시면 되겠습니다!)

6. 기다리기
저장하고 나서 롤 한판을 하고 나면 아래와 같이 상태가 바뀌어있을 것입니다.

이제 로드밸런서를 만들어서 연결을 하면 됩니다!
7. 로드밸런서 생성하기
EC2로 다시 돌아가서, 왼쪽 메뉴의 로드밸런서에 들어가서 Application Load Balancer를 생성해 줍시다.

네트워크 매핑 부분에서는 전에 VPC와 관련있는 설정을 하지 않았다면 다 체크해 줍시다.

보안그룹을 새로 생성해줍시다. 새로 생성할 보안그룹은 로드밸런서 전용 보안그룹이 될 것입니다.

그리고 새로 생성한 보안 그룹을 생성하려는 로드밸런서에 넣어줍니다.
그리고 대상 그룹을 새로 생성해줍시다. 대상 그룹을 생성할 때 기본 설정(HTTP)에서 건들지 않고 이름만 정해준 뒤
다음을 누르면 나오는 인스턴스 선택 화면에서 인스턴스를 선택해 주고 보류 중인 것으로 포함 버튼을 눌러줍니다.

그러고 나서 다시 로드밸런서 설정으로 돌아와서 생성하주시면 되겠습니다!
이제 마지막 단계가 남아있습니다.
8. 도메인 설정에 HTTPS 설정에 로드밸런서 DNS 넣어주기
생성된 로드밸런서의 DNS 이름을 복사해 준 뒤, 자신이 구매했던 도메인 설정에 다음과 같은 설정을 등록해줍시다.

이름의 `@`는 위에서 했던 와일드카드 문자(`*`)와 동일한 역할이라고 보시면 되겠습니다.
이제 세팅이 끝났습니다! 롤 한판 또 하고 오시면 ec2-acm-로드밸런서 서비스들이 연결이 되어 있을 것입니다.
여기까지 따라오시느라 수고가 많으셨습니다!
다음 포스팅에서 또 뵙겠습니다~ 😎
'Devops > Cloud' 카테고리의 다른 글
| [AWS] 공부한, 공부할 아마존 서비스 요약 정리 (0) | 2023.10.12 |
|---|