피드로 돌아가기
Dev.toInfrastructure
원문 읽기
ALB Listener Priority 기반의 Zero-Downtime Canary 배포 구현
Zero-Downtime Blue-Green and IP-Based Canary Deployments on ECS Fargate
AI 요약
Context
AWS CodeDeploy의 복잡한 Lifecycle hooks 및 AppSpec 설정으로 인한 운영 오버헤드 발생. 특히 실제 프로덕션 도메인 환경에서 내부 팀의 사전 검증이 불가능한 제약 사항을 해결하기 위해 설계됨.
Technical Solution
- ALB Listener Rule의 Priority 설정을 통한 트래픽 제어 구조 설계
- Source IP 기반 라우팅 규칙을 최우선 순위(Priority 99)로 배치하여 내부망/VPN 사용자만 Green 환경으로 유도
- 일반 사용자는 하위 순위(Priority 100) 규칙에 따라 기존 Blue 환경으로 유지되는 구조 채택
- 동일 도메인 및 SSL 인증서를 공유하여 Staging 환경의 설정 불일치 위험 제거
- Terraform 변수 제어를 통한 Blue/Green 서비스 스케일링 및 타겟 그룹 전환 자동화
- CodeDeploy 의존성을 제거하여 배포 파이프라인의 단순화 및 롤백 예측 가능성 확보
실천 포인트
- ALB Listener의 Priority 기반 우선순위 평가 메커니즘을 활용한 정밀한 트래픽 제어 검토 - Source IP 기반 Canary 라우팅을 통한 프로덕션 환경 내 사전 검증 프로세스 도입 - 인프라 비용 최적화를 위해 배포 윈도우 기간에만 Green 환경을 활성화하는 전략 적용 - 복잡한 오케스트레이션 도구 대신 IaC 기반의 상태 제어를 통한 롤백 전략 수립