피드로 돌아가기
CI/CD for your Dockerized App with AWS CodeBuild, CodeDeploy and CodePipeline (Part 3/3)
Dev.toDev.to
DevOps

AWS 네이티브 서비스 기반의 Docker App 자동 확장 CI/CD 파이프라인 구축

CI/CD for your Dockerized App with AWS CodeBuild, CodeDeploy and CodePipeline (Part 3/3)

Tanmoy Basak Anjan2026년 5월 1일8intermediate

Context

단일 EC2 인스턴스 기반의 수동 배포 구조로 인한 확장성 및 운영 효율성 한계 직면. 트래픽 증가에 대응하는 Auto Scaling 환경과 코드 변경 사항의 즉각적인 반영을 위한 자동화된 배포 프로세스 필요.

Technical Solution

  • GitHub Webhook과 AWS CodePipeline을 연동한 Event-Driven 배포 트리거 체계 구축
  • buildspec.yml 정의를 통한 Docker Image 빌드 및 ECR Push 과정의 표준화 및 자동화
  • AWS Parameter Store를 통한 환경 변수 중앙 관리로 보안성 강화 및 런타임 시 동적 주입 구현
  • CodeDeploy와 custom shell script를 결합하여 EC2 인스턴스별 최신 이미지 Pull 및 컨테이너 재시작 자동화
  • Application Load Balancer 및 Auto Scaling Group 연동을 통한 무중단 서비스 가용성 확보
  • IAM Role의 최소 권한 원칙 적용을 통한 CodeBuild 및 CodeDeploy의 보안 액세스 제어

- 빌드 스크립트(buildspec.yml)와 배포 스크립트(appspec.yml)를 코드 저장소에 포함하여 IaC 기반 관리 검토 - 환경 변수를 코드나 이미지에 포함하지 않고 Parameter Store와 같은 외부 구성 저장소를 통해 관리 - 배포 단계에서 기존 컨테이너의 Graceful Shutdown 및 최신 이미지 업데이트를 위한 훅(Hook) 스크립트 정교화 - CI/CD 파이프라인의 각 단계별 IAM Role 권한을 세분화하여 최소 권한 원칙 준수 여부 확인

원문 읽기