본문 바로가기
개발/aws

AWS ALB

by codeStudyCafe 2025. 1. 10.

서비스를 만들다 보면 HTTP 요청을 HTTPS로 보내줘야 할 때가 있습니다. HTTP/HTTPS 트래픽을 처리하거나 마이크로서비스 아키텍처에서 특정 API 경로를 다른 서비스로 라우팅을 할 필요가 있을 때 ALB를 사용합니다.

타겟 그룹 생성

우선 타겟 그룹을 생성합니다. EC2에 들어간 다음 죄측에 로드 밸런싱에서 만들 수 있습니다. 대상 그룹을 누르고 대상 그룹 생성을 누릅니다.

 

인스턴스를 생성합니다.

 

이름을 설정하고 프로토콜과 포트를 선택합니다. 저는 http로 들어오는 80포트를 선택했습니다. 여기에 올라가 있는 서비스가 타겟이 됩니다. vpc도 선택을 해줍니다.

 

다음으로 넘어가면 사용 가능한 인스턴스가 나옵니다. 이 인스턴스로 들어오는 http://~~~:80을 대상으로 합니다.

 

ALB 생성

이제 ALB를 생성해 줍니다. EC2 - 로드 밸런싱 - 로드밸런서를 누르고 로드벨런서 생성을 누릅니다.

이름을 지정해 줍니다.

 

네트워크 매핑에서는 원하는 vpc를 선택합니다.

 

HTTP, HTTPS 모두 만들고 리스너에서는 아까 설정해 뒀던 대상 그룹을 선택합니다. 캡쳐를 잘못해서 그런데 기본 작업으로는 80번 포트를 넣어줍니다.

 

보안 정책은 원하는 인증서를 넣어주면 됩니다. 저는 ACM의 인증서를 넝허주었습니다.

 

이렇게 만들면 아래와 같이 보이게 됩니다. 80은 보안정책이 없고 8080은 정책이 있는 것을 확인할 수 있습니다.

 

이제 규칙을 편집해 줄 것입니다. 80을 누르고 규칙 관리 - 규칙 편집 누릅니다.

 

저는 80으로 요청이 와도 443으로 보내려고 합니다. 원래 있던 규칙을 편집해 줍니다.

 

'대상 그룹으로 전달'을 'url로 리다이렉션' 으로 바꿔주고 443으로 연결해 줍니다.

 

잘 되는지 테스트를 해 보겠습니다. 로드밸런서의 DNS를 복사합니다.

 

크롬에 붙여넣어 봅니다. http로 연결을 해도 https로 자동으로 바뀌는 것을 볼 수 있습니다.

'개발 > aws' 카테고리의 다른 글

웹 개발 - 프로젝트 2 - 16. ec2에 java 올리기  (1) 2025.01.24
AWS ACM  (0) 2025.01.06
AWS RDS  (0) 2025.01.03
AWS ROUTE53  (0) 2024.12.27
AWS EC2를 vscode에 연결  (0) 2024.12.23