- ELB : 들어오는 요청을 여러 서버로 분배하고 비정상 서버로는 안 보냄
- ASG : 트래픽에 따라 서버 개수를 자동으로 늘리고/줄임, 비정상 서버는 교체
ELB
- 클라이언트 요청을 받아서 Target Group에 등록된 타깃(EC2, IP, Lambda 등)으로 전달
- 서버 과부하 방지, 장애 격리, 단일 진입점(고정 도메인/증명서) 제공
- 방법
- Listener(ex) 443, 80) → 규칙(호스트/경로) → Target Group(헬스체크 포함)으로 라우팅
- 헬스체크 성공한 타깃에만 트래픽 전달
- 세션 스티키(쿠키), TLS 종료(인증서 관리), Cross-Zone LB 등 지원
ASG
- 지정한 방법대로 EC2 인스턴스를 원하는 개수(Desired)만큼 유지/증가
- 트래픽 변동에 맞춘 자동 탄력성과 셀프-힐링(죽으면 다시 띄움)
- 방법
- Min/Max/Desired 용량으로 경계 설정
- 스케일링 정책 : Target tracking(ex) 평균 CPU 50%), Step, Scheduled
- 헬스체크: EC2 기본 또는 ELB 헬스체크 연계(비정상 타깃이면 교체)
- 보강 기능: Lifecycle Hook(부팅/종료 훅), Warm Pool(미리 예열), Instance Refresh(무중단 교체), Mixed/Spot(비용 절감), Capacity Rebalance
Client → Route 53 → ELB(ALB/NLB)
↓
Target Group ── (헬스체크)
↓
EC2 인스턴스들 (ASG가 관리)
- ELB는 요청을 인스턴스에 분배
- ASG는 비정상 인스턴스 교체/수량 조절로 뒤에서 탄력성 보장
- ASG의 헬스체크를 ELB 신호로 설정하면 실제 서비스 관점의 건강도를 반영
항목 | ELB / ALB | ASG |
목적 | 요청 분배/라우팅 | 인스턴스 수량 유지/자동 확장 |
헬스체크 | 전달 여부 결정 | 교체/종료 여부 결정 |
트래픽 급증 대응 | 즉시 분산(있던 용량 내) | 인스턴스 추가 생성(약간의 스핀업 시간 필요) |
구성 단위 | Listener, 규칙, Target Group | Launch Template, Min/Max/Desired, 정책 |
보안/인증서 | TLS 종료(ACM), WAF 연계(ALB) | 보안그룹/AMI/유형은 템플릿에서 정의 |
- ALB (L7): HTTP/HTTPS, 경로/호스트 기반 라우팅, WAF 연계, WebSocket/HTTP2/gRPC
- NLB (L4): 초고성능/초저지연, 고정 IP/Elastic IP, TLS 패스스루/종료. 게임/금융/IoT, TCP/UDP 필요 시
- GWLB: 서드파티 보안 어플라이언스 체인(방화벽/IDS 등)을 서비스처럼 붙일 때
- (CLB는 레거시)
ASG
- Target Tracking: “평균 CPU 50% 유지”처럼 목표 지표에 맞춰 자동 증감
- Step/Simple: 임계치 구간별 단계적 증감
- Scheduled: “평일 09시에 +3대” 같은 시간표 기반
- Lifecycle Hook: 시작 시 에이전트 설치, 종료 전 로그 배출 등 커스텀 작업
- Warm Pool: 사전 예열로 스케일 업 지연 줄이기
- Instance Refresh: 새 AMI로 점진 교체(rolling).
- Mixed Instances/Spot: 비용 절감 + 다종 인스턴스로 용량 안정화
'Cloud > AWS' 카테고리의 다른 글
WAF와 UTM의 차이점 (1) | 2025.07.08 |
---|---|
AWS LocalZone #2 (1) | 2025.07.06 |
EBS(Elastic Block Store) 란 ? (0) | 2025.07.06 |
AWS LocalZone #1 (0) | 2025.07.06 |
AWS Global Backbone 이란 ? (1) | 2025.07.01 |