로드 밸런싱
Amazon EC2 워크로드에 고가용성을 추가하고 트래픽을 여러대상으로 분산하는 방법은?
Elastic Load Balancing (ELB)
- 여러 대상에 자동으로 트래픽 분산
- 고가용성 제공
- ELB는 단일 가용 영역 또는 여러 가용 영역에서 다수의 대상에 트래픽을 자동으로 분산한다.
- 계층 4 또는 계층 7 HTTP 및 HTTPS 로드 밸런싱
- 보안 기능
- 로드 밸런서와 연결된 보안 그룹을 생성 및 관리하여 추가 네트워킹 및 보안 옵션 사용 가능
- 상태 확인 수행
- ELB 로드 밸런서는 비정상 대상을 감지하고, 해당 대상으로 트래픽 전송을 중단한 다음, 나머지 정상 대상으로 로드를 분산한다.
- 모니터링 작업
ELB 로드 밸런서 유형
Application Load Balancer / HTTP 및 HTTPS
- 유연한 애플리케이션 관리
- 트래픽의 고급 로드 밸런싱
- 애플리케이션 계층(계층 7)에서 작동
Network Load Balancer / TCP 및 UDP
- 탁월한 성능 및 고정 IP
- TCP 트래픽의 로드 밸런싱
- 전송 계층(계층 4)에서 작동
Gateway Load Balancer
- 유연한 애플리케이션 관리
- 트래픽의 고급 로드 밸런싱
- 네트워크 계층(계층 3)에서 작동
ELB 로드 밸런서 구성 요소
ELB 로드 밸런서는 여러 가용 영역에서 EC2 인스턴스 같은 여러 대상에 애플리케이션 트래픽을 분산한다.
이러한 방식으로 인해 애플리케이션의 가용성이 향상된다.
로드 밸런서는 리스너로 구성되어 있고, 로드 밸런서당 리스너를 2개 이상 가질 수 있다.
리스너의 기능은 로드 밸런서 유형별로 다르고, 로드 밸런서는 사용자가 정의한 규칙 및 설정에 따라 하나 이상의 대상 그룹에 요청을 전달할 수 있다.
각 대상 그룹은 지정된 프로토콜과 포트 번호를 사용하여 하나 이상의 등록된 대상(ex : EC2)으로 요청을 라우팅한다.
여러 대상 그룹에 대상을 등록할 수 있다.
자동 크기 조정 (오토 스케일링)
변화하는 수요를 충족하기 위해 동적으로 용량을 확장 또는 축소하는 방법은 어떻게 해야 하나?
Amazon EC2 Auto Scaling을 사용하면 서로 다른 EC2 리소스 그룹이 수요 변화에 대응하는 방법을 자동화하는 크기 조정 계획을 수립할 수 있다.
가용성 또는 비용을 최적화하거나 둘 사이의 균형을 적절하게 유지할 수 있다.
크기 조정 정책을 지정하면, Amazon EC2 Auto Scaling이 애플리케이션의 늘어나거나 줄어드는 수요에 따라 인스턴스를 시작하거나 종료할 수 있다.
EC2 Auto Scaling은 ELB와 통합되므로 하나 이상의 로드 밸런서를 기존 Auto Scaling 그룹에 연결할 수 있다.
로드 밸런서를 연결하면 그룹에 인스턴스가 자동으로 등록되고 수신 트래픽이 인스턴스 전체에 분산된다.
Amazon EC2 Auto Scaling 구성 요소
시작 템플릿 - 붕어빵 틀
Auto Scaling 그룹 - 찍어낸 붕어빵 놓을 위치 지정
Auto Scaling 정책 - 언제 붕어빵을 찍어낼 것인가?
Amazon EC2 Auto Scaling을 사용하면 애플리케이션 로드를 처리할 수 있는 정확한 수의 EC2 인스턴스를 유지할 수 있다.
Auto Scaling 그룹이라는 EC2 인스턴스 모음을 생성한다.
각 Auto Scaling 그룹의 최소 인스턴스 수를 지정할 수 있다.
Amazon EC2 Auto Scaling은 그룹의 크기가 이 값 아래로 내려가지 않도록 관리한다.
마찬가지로 각 Auto Scaling 그룹의 크기가 이 값 위로 올라가지 않도록 관리한다.
시작 템플릿
시작 템플릿을 사용하여 Auto Scaling 그룹을 생성하려면 먼저 시작 템플릿을 생성해야 한다.
=> 시작 템플릿이 필요한 이유는, 오토 스케일 조건에 해당되면 EC2를 생성해야 하는데, 어떤 타입/스펙의 EC2를 생성할 지 정의가 필요하기 때문에 해당 내용을 시작 템플릿에서 정의한다.
시작 파라미터
- 인스턴스 유형
- EBS 볼륨
- AMI
- 탄력적 네트워크 인터페이스
- 사용자 데이터
오토 스케일 그룹 용량 지정
- EC2 원하는 갯수
- 최소 갯수
- 최대 갯수
EC2 Auto Scaling을 사용하는 크기 조정 방법
1. 예약 크기 조정
- 수요 변화(CPU, RAM). 이 아닌 스케쥴 지정한대로 애플리케이션 크기 조정하는 방식
2. 동적 크기 조정
-
3. 예측 크기 조정
-
오토 스케일 그룹 생성 단계
1. Launch Template 지정
2. Network 지정, VPC와 서브넷
3. 로드밸런서와 target 그룹 지정
-> 생각해보면 오토스케일링이란 조건에 따라 EC2를 생성하고, 삭제하는데 그러면 생성되고 삭제된 EC2에 트래픽을 전달하기 위해서는 로드밸런서가 필요하고, 로드밸런서와 매핑되는 타겟 그룹이라는 개념이 반드시 필요하네
4. 오토 스케일 그룹 사이즈 및 정책 설정
'AWS(강의) > Architecting on AWS' 카테고리의 다른 글
컨테이너, 마이크로서비스 (0) | 2024.05.07 |
---|---|
자동화 (CloudFormation) (0) | 2024.05.06 |
모니터링 (0) | 2024.05.04 |
RDS, 관리형 서비스와 비관리형 서비스 (0) | 2024.05.03 |
스토리지 (0) | 2024.05.01 |
댓글