피드로 돌아가기
Dev.toInfrastructure
원문 읽기
ALB와 Multi-AZ 설계를 통한 고가용성 인프라 구축 및 검증
i touched AWS and stuff didn't break (mostly)
AI 요약
Context
단일 EC2 인스턴스 기반의 단순 배포 환경에서 발생하는 단일 장애점(SPOF) 문제를 해결하고 인프라 확장성을 확보해야 하는 상황.
Technical Solution
- Multi-AZ 설계를 통한 가용성 확보: 서로 다른 Availability Zone(ap-south-1a, 1c)에 인스턴스를 분산 배치하여 데이터 센터 장애 시 서비스 연속성 유지
- ALB(Application Load Balancer) 도입: 단일 진입점을 통한 트래픽 분산 및 상태 확인(Health Check) 기반의 최적 라우팅 구현
- 보안 계층의 계층화: LB-SG와 EC2-SG 간의 체인 설계를 통해 인스턴스가 오직 Load Balancer의 트래픽만 수신하도록 보안 강화
- Stateful Firewall 적용: Security Group의 상태 저장 특성을 활용하여 인바운드 허용 시 아웃바운드 트래픽을 자동 처리하는 효율적 규칙 설계
- CloudWatch 기반 성능 모니터링: CPU Utilization 지표의 실시간 추적을 통한 Auto Scaling 트리거 조건(CPU > 70%) 수립 및 검증
- S3 Bucket Policy 최적화: Public Access Block 해제 및 s3:GetObject 권한 부여를 통한 정적 리소스 배포 구조 설계
실천 포인트
- 보안 그룹 설정 시
0.
0.
0.0/0 오픈을 지양하고 Load Balancer의 Security Group ID를 소스로 지정했는지 확인 - 서비스 중요도에 따라 최소 2개 이상의 Availability Zone에 리소스를 분산 배치했는지 검토 - IAM Role과 Policy를 통해 사용자 및 서비스 간의 권한을 최소 단위로 분리했는지 체크 - CloudWatch 알람과 Auto Scaling Group의 Scaling Policy가 실제 트래픽 임계치와 연동되는지 검증