피드로 돌아가기
Dev.toDevOps
원문 읽기
Terraform-ArgoCD 기반 EKS 마이크로서비스 파이프라인 구축
Deploying Spring PetClinic Microservices on AWS EKS: A Team Story
AI 요약
Context
8개의 Spring Boot 마이크로서비스로 구성된 분산 시스템의 Production-grade 배포 환경 구현 필요. 개별 서비스의 독립적 배포와 인프라 관리의 자동화를 통한 운영 효율성 확보가 핵심 과제임.
Technical Solution
- Terraform을 통한 VPC, EKS, RDS 등 AWS 인프라의 Code-as-Infrastructure 구현
- ECR 리포지토리를 Global Layer로 분리하여 클러스터 생명주기와 독립적인 이미지 보존 구조 설계
- GitHub Actions와 ArgoCD를 연동한 GitOps 워크플로우 도입으로 매뉴얼 배포 제거 및 동기화 자동화
- External Secrets Operator를 통해 AWS Secrets Manager의 민감 정보를 K8s Secret으로 안전하게 매핑
- Prometheus, Grafana, Zipkin 스택을 통합하여 분산 트레이싱 및 메트릭 모니터링 체계 구축
- IAM OIDC Provider의 소유권을 Terraform으로 단일화하여 리소스 충돌 및 프로비저닝 오류 해결
실천 포인트
- 인프라 리소스 설계 시 환경(Dev/Prod)과 무관하게 유지되어야 할 Global Layer(예: ECR)를 분리했는가? - 인프라 변경 사항이 전체 시스템에 미치는 Blast Radius를 제어하기 위한 Mandatory Review 프로세스를 갖추었는가? - Terraform Output 값의 공유 지연으로 인한 팀 간 병목 현상을 방지할 문서화 전략이 있는가? - 클러스터 재구축 시에도 데이터와 이미지가 유지되는 상태 보존 전략을 수립했는가?