AWS-CICD
8.9.나. AWS 배포 그룹 생성시 In-place 배포와 Blue/Green 배포의 차이점
backend 따라쟁이
2025. 3. 2. 21:03
AWS CodeDeploy에서 EC2 인스턴스 (또는 Auto Scaling Group) 에 애플리케이션을 배포할 때, 대표적으로 In-place 배포와 Blue/Green 배포 두 가지 방식이 있어. 각 방식의 차이를 비교해보겠습니다.

1️⃣ In-place 배포 (Rolling 배포)
📌 개념
- 기존 EC2 인스턴스에서 실행 중인 애플리케이션을 중단하고 업데이트하는 방식이야.
- CodeDeploy가 하나씩 인스턴스를 업데이트하며 애플리케이션을 배포해.
- 기존 인스턴스를 그대로 유지하면서 업데이트하기 때문에 새로운 인프라를 만들지 않아 비용이 절감됨.
🛠 배포 과정
- Auto Scaling Group 내의 기존 EC2 인스턴스에서 애플리케이션을 중지.
- 새로운 애플리케이션 버전 배포.
- 배포 완료 후 서비스 재시작.
- 모든 인스턴스에서 배포가 완료되면 서비스가 정상 운영됨.
✅ 장점
- 별도의 새로운 인스턴스를 생성하지 않으므로 비용이 절감됨.
- Auto Scaling Group을 사용할 때, 현재 실행 중인 모든 인스턴스에 적용되므로 구성 변경이 필요 없음.
- 간단한 애플리케이션 업데이트에 적합.
❌ 단점
- 배포 중 애플리케이션이 중지되므로 서비스 중단 가능성이 있음.
- 배포 실패 시 롤백이 어려움 (이전 버전으로 되돌리려면 다시 배포해야 함).
- 새 버전이 정상적으로 작동하지 않을 경우, 일부 사용자에게만 영향을 주는 것이 아니라 전체 인스턴스에서 장애가 발생할 가능성이 있음.
🔥 언제 사용하면 좋을까?
- 서비스 중단이 발생해도 크게 문제가 되지 않는 경우.
- 배포 속도를 빠르게 해야 하는 경우.
- 인프라 변경 없이 간단하게 배포하고 싶은 경우.
2️⃣ Blue/Green 배포
📌 개념
- 기존 (Blue) 환경과 새로운 (Green) 환경을 별도로 운영하며, 새로운 환경에서 배포 후 트래픽을 전환하는 방식.
- 새로운 버전의 애플리케이션을 새로운 Auto Scaling Group이나 새로운 EC2 인스턴스 (Green)에서 실행한 후, 정상 동작이 확인되면 로드 밸런서를 통해 트래픽을 새 환경으로 전환.
- 기존 (Blue) 환경을 그대로 유지하므로, 배포 실패 시 빠르게 롤백할 수 있음.
🛠 배포 과정
- 기존 인스턴스(Blue)에서 애플리케이션을 운영 중.
- 새로운 EC2 인스턴스(Green)를 생성하여 새 버전의 애플리케이션을 배포.
- Green 환경에서 정상적으로 실행되는지 테스트.
- 로드 밸런서 (ALB 또는 ELB) 를 사용하여 트래픽을 Blue에서 Green으로 전환.
- 기존(Blue) 인스턴스를 유지할지 삭제할지 결정.
✅ 장점
- 무중단 배포 가능 → 기존 인스턴스(Blue)는 그대로 둔 채 새로운 인스턴스(Green)에서 테스트 가능.
- 빠른 롤백 가능 → 문제가 발생하면 다시 Blue로 트래픽을 전환하면 됨.
- 배포 안정성 증가 → 새 버전이 안정적으로 동작하는지 확인한 후 트래픽을 전환할 수 있음.
❌ 단점
- 기존 인스턴스(Blue)와 새로운 인스턴스(Green)를 동시에 운영하므로 추가 비용이 발생.
- 인프라 구성이 더 복잡해지고 로드 밸런서 설정이 필요함.
- 새로운 인스턴스를 실행해야 하므로 배포 속도가 다소 느릴 수 있음.
🔥 언제 사용하면 좋을까?
- 무중단 배포가 중요한 경우 (예: 금융, 전자상거래, AI 서비스 등).
- 배포 실패 시 빠르게 롤백이 필요한 경우.
- 테스트 환경에서 안정성을 먼저 확인한 후 배포하고 싶은 경우.
🎯 In-place 배포 vs. Blue/Green 배포 비교 정리
배포 방식In-place 배포Blue/Green 배포
배포 방식 | 기존 인스턴스에서 애플리케이션을 중지하고 업데이트 | 새로운 인스턴스에서 배포 후 트래픽 전환 |
서비스 중단 | 발생 가능 (배포 중 일부 인스턴스에서 서비스 중단) | 무중단 배포 가능 |
롤백 | 어려움 (이전 버전 재배포 필요) | 빠름 (트래픽을 기존 버전으로 전환) |
배포 속도 | 빠름 | 상대적으로 느림 |
비용 | 낮음 (기존 인프라 유지) | 높음 (새로운 인프라 추가 필요) |
운영 복잡도 | 쉬움 | 높음 (로드 밸런서 및 새 인프라 관리 필요) |
추천 사용 사례 | 소규모 업데이트, 빠른 배포가 필요한 경우 | 무중단 배포가 필요하거나 안정성이 중요한 경우 |
🚀 결론
- In-place 배포는 간단하고 비용이 적게 들지만, 서비스 중단과 롤백 어려움이 단점.
- Blue/Green 배포는 무중단 배포와 빠른 롤백이 가능하지만, 비용이 높고 인프라 구성이 복잡함.
💡 만약 Auto Scaling 환경에서 무중단 배포가 필요하다면 Blue/Green 배포가 더 적합하고, 단순한 업데이트라면 In-place 배포가 적합한 방식입니다.