Cross-Zone Load Balancing
단일 리전 내 여러 가용 영역에 걸쳐 ec2 인스턴스가 분배된 경우, 각 AZ의 로드 밸런서는 자신이 맡은 AZ 내의 ec2 인스턴스들에 대해 요청을 균등하게 분배한다.
예를 들면, 단일 리전 내 가용 영역 A, B가 존재하고 각각 ec2 인스턴스 2개, 8개를 실행 중이라고 가정하자.
그러면 1차적으로 각 가용 영역의 로드밸런서는 전체 트래픽 100% 중 50%를 분배 받고, 자신이 보유한 각 인스턴스에 다시 이를 균등 분배한다. 이 경우, 가용 영역 A의 인스턴스들은 최소 25%의 로드 밸런서 트래픽을, 가용 영역 B의 인스턴스들은 6.25%의 트래픽을 부담하게 된다.
위와 같은 로드 분배의 불균등함을 해결하기 위한 방법이 바로 Cross-Zone Load Balancing 이다. 이는 가용 영역의 구분 없이 단일 리전 내 연결된 로드 밸런서에 존재하는 인스턴스들은 로드 밸런서 및 가용 영역의 구분 없이 균등하게 로드를 처리하는 방식으로, 이를 위의 예제에 적용할 경우 각 ec2 인스턴스는 각각 10%씩 로드를 담당/처리하게 되는 것이다.
ALB는 해당 기능을 기본으로 지원하며, 가용 영역 내 데이터에 대해 무료로 지원한다.
NLB는 해당 기능을 기본으로 사용하지 않으며, 사용할 경우 돈을 지불해야 한다.
SSL/TLS
SSL은 Secure Sockets Layer, TLS는 Transport Layer Security를 의미하며, 클라이언트와 로드 밸런서 사이의 통신을 암호화하는 데 사용한다. HTTP와 결합한 HTTPS 프로토콜이 대표적인 적용 사례이다.
SSL - Server Namer Indication(SNI)
SNI는 한 번에 여러 SSL 인증서가 웹 서버에 로드되는 문제를 위한 해결책으로, 클라이언트로 하여금 최초의 SSL handshaking 과정에서 target 서버의 호스트네임을 명시하면 서버는 이것이 적합한 인증서인지 확인한다.
오직 ALB와 NLB, 그리고 CloudFront에서만 적용 가능하다.
Connection Draining (= Deregistration Delay)
이는 ec2 인스턴스가 in-flight 요청을 처리하거나 기존의 연결이 완수되기를 기다리는 것을 일컫는 개념으로, 최신 버전의 로드 밸런서에서는 Deregistration Delay로 더 많이 불린다.
Target Groups Settings
1. Slow Start mode
> 로드 밸런서는 target group과 연결을 확립한 뒤 바로 최대 요청을 한번에 전송 시작하는 것이 기본이다.
> slow start mode는 연결 후 warm-up 단계를 거침으로써 target group이 처리량을 선형적으로 늘릴 수 있도록 돕는다.
2. Least Outstanding Requests
> 요청을 수령할 다음 인스턴스는 대기/미결 요청 값이 가장 작은 인스턴스인 알고리즘이다.
> ALB와 CLB에 적용 가능하다.
3. Flow Hash
> 프로토콜, 출발지/목적지 IP 주소와 포트 번호, 그리고 TCP 순차 번호 등을 고려해 target을 선정하고
> 각각의 TCP/UDP 연결은 한 번 연결된 단일 target로만 라우팅한다.
> NLB에서만 동작한다.
4. TG Weighting
> 각 target group에 가중치(weighting)를 부여하여 target group 별로 얼마 만큼의 트래픽을 보낼 것인지 정하는 방식.
> 애플리케이션의 버전 관리 및 blue/green 배포에 사용된다.
Auto Scaling Group
로드 밸런서와 연동하여 인스턴스의 수평 확장(scale-out)과 축소(scale-in)를 유연하게 만든다.
최소 수용량(Minimum Capacity)과 요구 수용량(Desired Capacity), 그리고 최대 수용량(Maximum Capacity)을 지정할 수 있다.
'자격증 공부 > AWS SysOps Administrator - Associate' 카테고리의 다른 글
AWS SOA(02) - Lambda (1) | 2024.07.14 |
---|---|
AWS SOA(02) - CloudFormation (1) | 2024.07.10 |
AWS SysOps Administrator - Associate 6일차 (1) | 2024.07.05 |
AWS SOA(02) - Systems Manager (1) | 2024.07.03 |
AWS SOA(02) - AMI (1) | 2024.07.01 |