피드로 돌아가기
Dev.toInfrastructure
원문 읽기
AWS EKS 기반 마이크로서비스 설계 및 Observability 체계 구축
I Built a Production Food Delivery Platform on AWS EKS — Here's Everything I Learned
AI 요약
Context
단순 배포를 넘어 실제 운영 환경의 VPC 설계, IAM 권한 관리, 장애 복구 시나리오를 검증하기 위한 아키텍처 설계. 단순한 매니페스트 적용이 아닌 인프라 제약 사항과 서비스 간 의존성 문제를 해결하는 데 집중한 프로젝트.
Technical Solution
- Terraform 모듈화를 통한 VPC, EKS, ECR, IAM 인프라의 코드 기반 관리 및 배포 자동화
- FastAPI 기반 4개 마이크로서비스 분리 및 NGINX Gateway를 통한 API 라우팅 구조 설계
- Prometheus-fastapi-instrumentator 도입으로 엔드포인트별 Latency 및 HTTP 상태 코드 모니터링 체계 구축
- HTTP Client Timeout(5.0s) 설정을 통한 서비스 간 연쇄 장애(Cascading Failure) 방지 로직 구현
- Rolling Update 시 maxUnavailable=0 및 readinessProbe 설정을 통한 무중단 배포 및 503 에러 제거
- Launch Template의 tag_specifications 설정을 통한 EC2 인스턴스 개별 식별 및 관리 편의성 확보
실천 포인트
1. EKS 노드 그룹 생성 시 인스턴스 레벨의 Name 태그를 위한 Launch Template 설정 확인
2. 서비스 간 동기 호출 시 반드시 명시적 Timeout을 설정하여 리소스 고갈 방지
3. 무중단 배포를 위해 Readiness Probe 설정과 maxUnavailable=0 전략 조합 검토
4. 비용 최적화와 가용성 사이의 Trade-off(예: 단일 NAT Gateway)를 문서화하여 공유