피드로 돌아가기
Dev.toDevOps
원문 읽기
AWS 환경 기반 Spring Petclinic Microservices 컨테이너 배포 및 Observability 구축
Building and Deploying Spring Petclinic Microservices on AWS: My Experience as Co-Project Lead and App & Docker Lead
AI 요약
Context
다수의 독립 서비스가 상호작용하는 Microservices 구조의 안정적 배포 필요성 대두. 서비스 간 의존성 관리와 분산 환경에서의 가시성 확보가 핵심 과제인 상황.
Technical Solution
- Linux/AMD64 플랫폼 타겟팅을 통한 AWS 환경과의 아키텍처 호환성 확보
- Git SHA 기반 Image Tagging 전략을 통한 배포 버전의 추적 가능성 및 Rollback 신뢰도 향상
- Docker Compose를 이용한 로컬 검증 단계 도입으로 서비스 간 Startup Order 및 네트워크 통신 무결성 사전 확인
- Amazon ECR 연동을 통한 컨테이너 이미지의 보안 저장 및 AWS 내부 배포 파이프라인 최적화
- Prometheus, Grafana, Zipkin 조합의 Observability 스택 구축을 통한 분산 트레이싱 및 시스템 헬스 모니터링 구현
실천 포인트
1. 멀티 아키텍처 환경 배포 시 `docker buildx`를 통한 타겟 플랫폼 명시 여부 확인
2. 이미지 태그에 `latest` 대신 Git Commit Hash를 부여하여 배포 이력의 불변성 확보
3. 분산 서비스 배포 전 Docker Compose를 활용한 서비스 간 의존성 및 네트워크 전파 테스트 수행
4. 분산 트레이싱 도구(Zipkin 등)를 도입하여 서비스 간 요청 흐름의 병목 지점 파악 체계 마련