[TIL] CI/CD 파이프라인과 ECS 블루/그린 배포 실습-2025.09.16
2025. 9. 16. 16:28ㆍ대외활동/인공지능사관학교
728x90
반응형
SMALL

오늘의 학습 목표
- CI/CD 파이프라인의 전체적인 흐름을 이해한다.
- Amazon ECS를 활용하여 Blue/Green Deployment를 수행하는 방법을 실습한다.
- 무중단 배포(Zero-downtime Deployment)의 개념과 필요성을 체감한다.
주요 개념 정리
1. CI/CD 파이프라인
- CI (Continuous Integration): 개발자가 코드를 push할 때마다 자동으로 빌드/테스트가 실행되는 과정.
- CD (Continuous Delivery/Deployment): 빌드된 애플리케이션을 자동으로 배포까지 이어가는 과정.
- 핵심은 자동화와 빠른 피드백.
2. Amazon ECS (Elastic Container Service)
- AWS에서 제공하는 컨테이너 오케스트레이션 서비스.
- Fargate(서버리스 방식) 또는 EC2 기반으로 컨테이너 실행 가능.
- 서비스 정의(Service)를 통해 원하는 태스크(Task)를 여러 개 실행하고 관리.
3. 블루/그린 배포 (Blue/Green Deployment)
- 현재 운영 중인 애플리케이션을 Blue 환경이라 하고, 새 버전을 Green 환경에 배포.
- 트래픽을 점진적으로 Green으로 전환 → 문제 발생 시 빠른 롤백 가능.
- 장점: 무중단 배포, 신속한 버전 전환, 안정성 향상.

실습 과정
1. 소스코드 → 빌드
- GitHub 저장소에 코드 push → GitHub Actions / CodePipeline 트리거.
- Dockerfile 기반으로 컨테이너 이미지 빌드.
2. 이미지 저장
- Amazon ECR (Elastic Container Registry)에 새로운 이미지 push.
3. ECS 배포 설정
- ECS 서비스에서 배포 방식을 Blue/Green으로 설정.
- AWS CodeDeploy와 연계하여 트래픽 라우팅을 관리.
4. 배포 전환
- Green 환경에 새로운 Task Definition을 배포.
- ALB(Application Load Balancer)를 통해 트래픽을 점진적으로 Green으로 이동.
- 정상 동작 확인 후 Blue 환경 종료.
배운 점 / 인사이트
- 무중단 배포의 필요성
사용자가 접근하는 서비스라면, 다운타임이 없는 배포는 필수적이다. - 자동화된 파이프라인의 가치
수동 배포보다 훨씬 빠르고, 오류 가능성을 줄여준다. - AWS 서비스 간 연계
- CodePipeline → CodeBuild → ECR → ECS → CodeDeploy → ALB
- 각각의 역할을 이해하고 연결해야 전체적인 배포 흐름이 명확해진다.
다음에 시도해볼 것
- Canary 배포 방식과 비교해보기 (트래픽 일부만 전환).
- 배포 실패 시 자동 롤백 전략 실습.
- GitHub Actions 단독 파이프라인 vs AWS CodePipeline 차이점 정리.
👉 오늘 실습을 통해 단순히 "배포"가 아니라 안정적이고 반복 가능한 배포의 중요성을 배웠다. 특히 ECS Blue/Green 배포는 실제 서비스 환경에서 자주 쓰이는 전략이라, 프로젝트에도 적극적으로 적용해볼 가치가 있다.
728x90
반응형
LIST
'대외활동 > 인공지능사관학교' 카테고리의 다른 글
| [TIL]MLOps Engineering & AWS Lab 실습-2025.09.17 (1) | 2025.09.17 |
|---|---|
| [AI Crew]2025 AI·클라우드 기술 동향 정리: 국내·글로벌 비교/인공지능사관학교6기 (0) | 2025.09.17 |
| [AI Crew]AI 이미지 제작 툴 비교 체험기 – DALL·E, GPT, Bing, 나노 바나나 그리고 추천 툴까지/인공지능사관학교6기 (1) | 2025.09.16 |
| [TIL] CI·CD개념 정리-2025.09.15 (0) | 2025.09.15 |
| [AI Crew]인공지능사관학교 AI Crew 활동 소개와 경험 공유/인공지능사관학교6기 (0) | 2025.09.13 |