안정성
Auto Scaling
Load Balancer (LB):
실습에서 자주 사용한 Classic LB:
L4계층에서 작동, 데이터 변경할 수 없는 물리 하드웨어 영역
오토 스케일링할 수 있는 단위 타겟그룹을 지정
단점: 서버의 기본주소가 바뀌면 로드밸런서를 새로 생성해야 함
예) 회원모듈을 처리하는 인스턴스와 쇼핑모듈 인스턴스가 있다면 2개의 로드밸런서가 필요
🟢 Load Balancer 기능
1. 클라이언트에 대한 단일 접점이 되어 여러 가용영역 EC2에 트래픽을 분산: 애플리케이션의 가용성 향상
2. 비정상적인 인스턴스를 감지하고 정상 인스턴스에만 트래픽 라우팅: 전체 흐름을 방해하지 않고 필요에 따라 인스턴스 추가 및 제거
3. 하나 이상의 리스너 추가 가능
Listener : 사용자가 구성한 프로토콜 및 포트 번호를 사용하여 클라이언트 연결 요청 확인 후 인스턴스에 전달
4. 여러 가용영역이 있을 때 각 영역에 있는 인스턴스 수가 거의 동일해야 한다 : 교차 영역 로드 밸런싱
예) 한 영역에 7개의 인스턴스가 있고 다른 영역에 3개의 인스턴스가 있는 경우 로드밸런서는 각 영역별로 동일한 트래픽을 분산하여 7개 인스턴스가 함께 처리하는 양을 3개 인스턴스가 담당하게 됨
교차 (Cross-zone) 영역 로드 밸런싱 : Availibility Zones and load Balancer Nods
Process of Load Balancer:
- 아마존 DNS 서버가 클라이언트의 요청을 받고 로드밸런서 노드의 IP주소를 반환한다.
- 네트워크 로드밸런서의 경우, 각 가용영역에 네트워크 인터페이스를 생성하여 각 로드밸런서 노드는 이 인터페이스를 통해 고정IP를 할당받는다(또는 네트워크 로드밸런서 생성시 EIP를 부여할 수 있다).
- 클라이언트는 어떤 IP주소를 사용하여 로드밸런서에 요청을 보낼지 결정한다.
- 요청을 받은 로드밸런서는 등록되어 있는 타겟 중 정상적인 타겟을 선정한다.
- 로드밸런서는 해당 타겟의 사설IP(내부)를 통해 타겟에 클라이언트의 요청을 전달한다.
- 시간이 지남에 따라 애플리케이션에 대한 트래픽이 변화하고, 로드밸런서의 스케일이 바뀌며 DNS 엔트리가 업데이트 된다. DNS 엔트리는 TTL을 60초로 지정하여 트래픽 변화에 대응하여 IP주소의 매핑을 다시(remap) 빠르게 수행한다.
Routing Algorithm:
유형 | 애플리케이션 로드밸런서 | 네트워크 로드밸런서 | 클래식 로드밸런서 |
라우팅 알고리즘 |
디폴트: 라운드 로빈 |
Flow Hash 알고리즘 (프로토콜, 출발지와 목적지의 IP 주소 및 PORT) |
라운드 로빈 for TCP Least Outstanding Request 알고리즘 for HTTP / HTTPS |
특징 | Path나 Port 등에 따라 타겟 그룹으로 맵핑 가능 하나의 타겟 그룹에 더 많은 컨테이너를 넣어 비용 최적화 가능 EC2, 람다, IP등으로 연결 가능 |
인스턴스를 타겟으로 지정 |
'자기발전소 > # AWS' 카테고리의 다른 글
Amazon VPC와 AZ, 그리고 가용성 (0) | 2020.10.10 |
---|---|
AWS 클라우드 디자인 패턴 (0) | 2020.10.10 |
AWS 탐구 [계정, EC2 생성 및 접속, S3 정적 호스팅] (0) | 2020.10.03 |
VPC와 Subnet을 통한 세부 필터링 실습 (0) | 2020.08.07 |
Beanstalk을 통한 웹 애플리케이션 배포 및 관리 (0) | 2020.08.05 |