반응형
고가용성과 확장성
확장성
- 애플리케이션이나 시스템이 조정을 통해 더 많은 양을 처리할 수 있다는 의미
- 수직 확장성 - Scale Up / Scale Down
- 인스턴스 크기를 확장하는 것을 의미
- 데이터베이스와 같이 분산되지 않은 시스템에 사용, ex) RDS나 ElastiCache
- 수평 확장성 (탄력성) - Scale In / Scale Out
- 인스턴스나 시스템의 수를 늘리는 것을 의미
- 수평 확장을 했다는 것은 분배 시스템이 있음을 의미
고가용성
- 애플리케이션이나 시스템을 둘 이상의 AZ 또는 데이터 센터에 가동 중이라는 것을 의미
- 동일한 애플리케이션의 동일한 인스턴스가 다수의 AZ에 걸쳐 실행되는 것을 의미
- 하나의 AZ 또는 데이터 센터에 문제가 생겨도 정상적인 서비스 가능
ELB
- 트래픽 분산을 위해 사용
- EC2 인스턴스의 상태를 자동 감지하여 오류가 있는 인스턴스는 제외
- ELB는 애플리케이션에 사용 가능한 정적 DNS 이름을 제
- ALB (Application Load Balancer) - HTTP, HTTPS, Web Socket 등에 특화된 로드 밸런서
- NLB (Network Load Balancer) - TCP, TLS, UDP에 특화된 로드 밸런서
- GWLB (Gateway Load Balancer) - L3 네트워크 계층의 IP 프로토콜에서 작동하는 로드 밸런서
CLB (Classic Load Balancer)
ALB (Application Load Balancer)
- L7 애플리케이션 계층의 로드 밸런서
- HTTP 전용 로드 밸런서
- 마이크로 서비스나 컨테이너 기반 Application에 가장 좋은 로드 밸런서 (Docker, Amazon ECS 등)
- 포트 매핑 기능이 있어 동적 포트로의 리다이렉션을 가능하게 함
- X-Forwarded-for 헤더를 이용하여 클라이언트 IP를 확인할 수 있도록
- 대상 그룹 - EC2 인스턴스, ECS 작업, 람다 함수, IP 주소가 대상 그룹이 될 수 있음
NLB (Network Load Balancer)
- L4 전송 계층의 로드 밸런서
- TCP, UDP 트래픽을 다루는 로드 밸런서
- 초당 수백만 건의 요청 처리
- ALB에 비해 지연 시간도 짧음
- AZ 별로 하나의 고정 IP를 갖기 때문에 여러 개의 고정 IP를 가진 애플리케이션 노출에 유용
- 1~3개의 IP로만 액세스 할 수 있는 애플리케이션을 만거나 고성능, TCP, UDP, 고정 IP가 나오면 NLB를 떠올릴 것
- 대상 그룹 - EC2 인스턴스, IP 주소 (Private), ALB
GWLB (Gateway Load Balancer)
- L3 네트워크 계층의 로드 밸런서
- 모든 트래픽에 대한 방화벽 제어와 침입 탐지, 방지 시스템에 사용
- 6081 포트의 GENEVE 프로토콜 사용
- 대상 그룹 - EC2 인스턴스, IP 주소 (Private)
Sticky Session
- 세션 고정 기능
- ALB,
CLB는 쿠키를 활용, NLB는 Source IP를 기억하는 방법을 사용 - 애플리케이션 기반 쿠키 이름 AWSALBAPP
- 기간 기반 쿠키 이름 - AWSALB,
AWSELB
교차 영역 로드 밸런싱
- AZ에 상관없이 EC2 인스턴스 수에 따라 트래픽이 고르게 분배되는 기능
- ALB는 기본적으로 활성화되어 있고 비용이 청구되지 않음
- NLB, GWLB는 기본적으로 비활성화되어 있고 활성화 시 비용이 청구
CLB는 기본적으로 비활성화되어 있고 활성화 시 비용이 청구되지 않음
Connection Draining
- CLB 사용 시 Connection Draining 이라 부르고, ALB나 NLB 사용 시 Deregistration Delay 라고 부름
- 종료 예정인 EC2 인스턴스를 사용 중인 세션이 종료될 때 까지 기다리는 기능
SSL / TLS 인증서
- SSL 인증서는 클라이언트와 로드 밸런서 사이에서 트래픽이 이동하는 동안 암호화 (in-flight, 전송 중 암호화)
- SSL - 보안 소켓 계층을 의미, 연결을 암호화 하는데 사용
- TLS - 새로운 버전의 SSL로 전송 계층 보안을 의미, 통상적으로 SSL은 TLS를 의미
- ACM - AWS Certificate Manager, 아마존 인증서 관리자
- SNI (서버 이름 표식) - 하나의 리스너로 다수의 SSL 인증서를 가져올 수 있도록 하는 기능
ASG
- Auto Scaling Group
- CloudWatch로 모니터링 하여 설정된 부하 임계치에 따라 자동으로 EC2 인스턴스의 수를 늘리거나 줄이는 기능
- ASG는 무료, EC2 인스턴스와 같은 생성된 하위 리소스에 대한 비용만 부과
- ASG 속성
- 시작 템플릿
- AMI
- 인스턴스 유형
- EC2 사용자 데이터
- EBS 볼륨
- 보안 그룹
- SSH 키 페어
- IAM Role
- 네트워크 및 서브넷 정보
- 로드 밸런서 정보
- 최소 크기 / 최대 크기 / 초기 용량 설정
- 시작 템플릿
조정 정책
- 동적 크기 조정 정책
- 대상 추적 정책 - ASG의 지표 평균값을 목표로 인스턴스의 수를 조절
- 단순 / 단계 추적 정책 - CloudWatch 경보를 설정하여 지표값에 따라 인스턴스의 수를 조절
- 예약된 작업 - 특정 시간에 인스턴스 수를 조절
- 예측 크기 조정 정책 - 머신 러닝을 기반으로 과거 로드를 분석하여 예측하고 이를 기반으로 스케일링 작업이 예약
- 지표 유형 - CPU 평균 사용률, 로드 밸런서 요청 수, 네트워크 입출력량, 사용자 정의 지표
- 스케일링 휴지 (Scaling Cooldown)
- 스케일링 작업이 끝날 때 마다 기본적으로 300초의 휴지 기간을 갖는 것
- 새로운 인스턴스가 안정화 될 수 있도록 하고 새로운 지표 양상을 보기 위함
반응형
'자격증 > SAA-C03' 카테고리의 다른 글
[SAA-C03] Amazon S3 - 기본 (0) | 2023.08.30 |
---|---|
[SAA-C03] AWS 기초 - RDS, Aurora, ElastiCache (0) | 2023.08.29 |
[SAA-C03] EC2 인스턴스 스토리지 (0) | 2023.08.25 |
[SAA-C03] EC2 - SAA Level (0) | 2023.08.24 |
[SAA-C03] EC2 기초 (0) | 2023.08.23 |