ALB 특징
- HTTP/HTTPS 요청을 로드 밸런싱 해야 하는 경우 사용
- Web 앱 처리에 적합 (당연히 HTTP이므로)
- 리스너 규칙을 기반으로 라우팅 설정이 가능함
- 데이터 전송 보안을 위한 HTTPS 프롵오콜 사용시 SSL/TLS 인증서를 배포해야 함
- 인증서는 ACM (AWS Certificate Manger)사용 또는 클라이언트 인증서 사용 가능
Listener 규칙
- 조건을 걸어준다. (ex) 크롬 등 HTTP로 80포트로 들어오면 if 조건에 따라 그에 맞는 Target Group으로 라우팅 (트래픽전달) 한다.
- Host Header : 각 요청의 호스트 이름을 기반으로 라우팅 (ex) aaa.example.com 접속시 이와 연결된 Target Group으로 연결해줌)
- Path : 요청의 URL의 경로 패턴을 기반으로 라우팅 (www.abc.com/audio, www.abc.video)]
- Http Header : 각 요청의 HTTP 헤더를 기반으로 라우팅
- Http request method : 각 요청의 HTTP 요청 매서드를 기반으로 라우팅
- Query String : 쿼리 문자열의 키/값 페어 또는 값을 기반으로 라우팅
- Source IP : 각 요청의 소스 IP 주소를 기반으로 라우팅
로드 벨런서 생성 및 실습
지난번 만들었던 Target Group인 TG-ALB 대상으로 로드 벨런서를 만들어주자
가용영역은 다 선택한다.
그리고 앞서 만든 Web_Access를 클릭해서 보안그룹을 설정해준다.
Http통신을 할 것이므로 보안그룹에서 미리 뚫어놓은 Http포트가 있는 걸로 선택을 해야한다.
리스너도 만들어주고 로드벨런서 생성을 누른다.
생성 완료!!
로드 벨런서 접속은 여기 DNS 이름을 통해 URL 창에 넣어주면 정상적으로 접속할 수 있다.
- 접속을 해보면 이전에 인스턴스 2개를 만들었는데 그중 1개로 접속된 것을 확인할 수 있다.
- 다시 그 접속된 창을 Refresh하면 나머지 1개 인스턴스로 접속된 것을 볼 수 있다.
- 즉 로드 밸런서로 접속을 하면 동적으로 한 페이지에 고정적으로 접속되는 것이 아닌 사용자가 없는 빈페이지, 빈공간으로 접속되게 해주는 역할을 한다.
- 이것은 어플리케이션단에서 작용하는 로드 벨런서였다.
- 하지만 보안 적용이 안된 http이므로 보안적용을 해서 Https로 만들어주자
Http => Https로 보안 인증하여 안전하게 바꾸기
로드 벨런서 항목에 들어가 원하는 로드 벨런서를 선택하고 아래 리스너를 클릭한다.
HTTPS로 프로토콜을 설정하고 포트는 443으로 설정한다.
HTTP로 접속하더라도 HTTPS로 접속하게 된다. (Redirect를 선택했으므로)
SSL/TLS 인증서가 필요하지만 AWS에서 제공하는 ACM을 통해 그부분을 대체해서 할 수 있다.
'Cloud Infra Architecture (AWS) > AWS SAA-C03' 카테고리의 다른 글
AWS EC2 Auto Scaling 만들기 및 실습(1) (2) | 2023.01.04 |
---|---|
AWS Network Load Balancer(NLB)란? 실습 (0) | 2023.01.04 |
AWS Target Group이란? 실습 (0) | 2023.01.04 |
로드벨런서(Elastic Load Balancer)란? (0) | 2023.01.04 |
AWS 가용성과 확장성이란? (0) | 2023.01.04 |