AWS CodeDeploy는 Amazon EC2 인스턴스 및 온프레미스에서 실행 중인 인스턴스를 비롯한 모든 인스턴스에 대해 애플리케이션 배포를 자동화하는 서비스입니다. CodeDeploy에서 애플리케이션 배포를 완전히 자동화하므로 수동 작업이 필요하지 않습니다. CodeDeploy는 단계적 업데이트와 배포 상태 추적을 통해 배포하는 동안 애플리케이션 가동이 중지되지 않도록 합니다. CodeDeploy는 AWS Management Console, CLI, SDK 또는 API를 통한 중앙 집중식 배포 제어를 제공하여 배포를 시작, 제어 및 모니터링할 수 있게 해줍니다. 각 인스턴스에서 실행되는 개별 설치 이벤트에 대한 배포 진행 상태를 볼 수 있습니다. CodeDeploy는 최신 배포 기록을 추적하고 저장하므로 이전 배포 변경 기록 및 타임라인을 조사할 수 있습니다.

무료로 AWS 시작하기

무료 계정 생성

12개월 동안 AWS 프리 티어에 액세스하여 연중무휴 24시간 고객 서비스, 지원 포럼 등을 비롯한 AWS Basic Support 기능을 사용해 보십시오.
AWS 프리 티어 세부 정보 보기 »

AWS CodeDeploy는 플랫폼과 언어에 구애받지 않으며 모든 애플리케이션과 연동하므로 기존 설치 코드를 재사용할 수 있습니다. 또한, AWS CodeDeploy API를 사용하여 기존 소프트웨어 전송 프로세스나 지속적인 전송 도구 체인과 애플리케이션 배포를 손쉽게 통합할 수 있습니다.

CodeDeploy_Header

AWS CodeDeploy를 사용하면 서로 다른 인스턴스 그룹 전체에 애플리케이션 배포를 쉽게 반복할 수 있습니다. CodeDeploy는 파일 및 명령 기반 설치 모델을 사용하여 어떤 애플리케이션이든 배포할 수 있으며 기존 설치 코드를 재사용할 수 있습니다. 디버깅을 위해 개발 인스턴스에 수정 버전을 배포하는 데 사용하는 설치 코드와 동일한 코드를 테스트용 준비 인스턴스에 배포한 다음 고객 출시를 위한 운영 환경에 배포하는 데 사용합니다. 배포에서 수동 단계를 제거하여 소프트웨어 전송 프로세스의 속도와 안정성이 모두 향상되었습니다.

AWS CodeDeploy는 Auto Scaling과 통합되어 역동적으로 변하는 인프라에서 애플리케이션 소프트웨어를 최신 상태로 유지하는 데 도움을 줍니다. Auto Scaling을 사용하면 트래픽 급증 등 사용자가 정의하는 조건에 따라 Amazon EC2 용량을 자동으로 확장하거나 축소할 수 있습니다. CodeDeploy는 Auto Scaling 그룹에 새 인스턴스가 시작될 때마다 알림을 받아 새 인스턴스에 자동으로 애플리케이션을 배포한 다음 Elastic Load Balancer에 새 인스턴스를 추가합니다.

AWS CodeDeploy를 사용하면 자체 데이터 센터에 있는 인스턴스를 비롯한 모든 실행 중인 인스턴스의 개발, 테스트 및 생산 환경에서 코드 배포를 자동화할 수 있습니다(인스턴스를 AWS 퍼블릭 엔드포인트에 연결할 수 있어야 함). 이 서비스를 사용하면 단일 서비스로 하이브리드 아키텍처에 애플리케이션을 지속적으로 배포할 수 있습니다.

AWS CodeDeploy를 사용하면 새 수정 버전으로 업그레이드되는 동안 애플리케이션 가동을 중지할 필요가 없습니다. CodeDeploy는 인스턴스 그룹에 단계적 업데이트를 수행하여 임의의 시간에 극히 일부 인스턴스만 오프라인 상태가 됩니다. CodeDeploy는 전체 인스턴스에서 점진적으로 진행되어 애플리케이션이 사용 가능한 상태를 유지하고 계속 트래픽을 제공할 수 있도록 합니다. 또한, 블루/그린 배포를 수행할 수 있으므로 최신 수정 버전으로 새 인스턴스 집합이 프로비저닝되고 설치됩니다. 새로운 수정 버전이 새 인스턴스에 설치되면 CodeDeploy가 프로덕션 인스턴스에서 새 인스턴스로 트래픽을 다시 라우팅합니다.

배포 상태 추적은 단계적 업데이트와 함께 작동하여 배포하는 동안 애플리케이션의 가용성을 높게 유지합니다. 잘못된 업데이트가 배포되면 예상치 못한 가동 중지 시간이 발생할 수 있습니다. AWS CodeDeploy는 여러 인스턴스를 배포할 때 각 인스턴스 업데이트가 성공하는지를 모니터링합니다. 정상 상태로 유지되어야 하는 최소 인스턴스 수를 지정할 수 있으며, 지정하면 실패한 인스턴스 업데이트가 너무 많을 경우 CodeDeploy가 배포를 중지합니다.

AWS Management Console, AWS CLI 또는 모든 AWS SDK를 사용하여 진행 중인 애플리케이션 배포를 언제든지 중지할 수 있습니다. 중지된 배포를 나중에 계속 진행하려면 해당 수정 버전을 다시 배포하면 됩니다. 또한, 이전 수정 버전을 다시 배포하여 즉시 롤백할 수 있습니다.

AWS Management Console에서 직접 또는 AWS CLI, SDK 또는 API를 사용하여 대상 인스턴스에 대한 모든 애플리케이션의 배포를 실행, 제어 및 모니터링할 수 있습니다. 각 인스턴스에서 실행되는 개별 설치 이벤트에 대한 배포 진행 상태를 볼 수 있습니다. 배포에 실패하는 경우, 개별 인스턴스에 로그인하지 않고도 실패한 인스턴스 및 스크립트를 정확하게 찾아낼 수 있습니다. 또한, 푸시 알림을 설정하여, Amazon Simple Notification Service에서 제공하는 SMS 또는 이메일 메시지를 통해 배포 상태를 모니터링할 수 있습니다.

애플리케이션을 여러 배포 그룹에 배포할 수 있습니다. 배포 그룹은 준비 환경 또는 운영 환경과 같은 인스턴스 집합입니다. 준비 단계에서 수정 버전을 테스트하고 만족하는 경우 동일한 수정 버전을 운영 환경에 배포할 수 있습니다. AWS CodeDeploy는 태그 또는 Auto Scaling 그룹 이름을 사용해 배포 그룹을 정의합니다. 인스턴스에 태그를 지정하여 이를 배포 그룹에 추가하면 다음번 배포 시 AWS CodeDeploy에서 애플리케이션의 최신 수정 버전을 자동으로 배포합니다.

AWS CodeDeploy는 배포의 최근 기록을 추적하고 저장합니다. 사용자는 각 대상 배포 그룹에 현재 배포되고 있는 애플리케이션 버전을 볼 수 있으며 특정 배포 그룹에 대한 이전 배포 성공 비율 및 변경 기록을 검사할 수 있습니다. 또한, 배포 성공 및 오류에 대한 자세한 보기를 통해 이전 배포의 타임라인 및 인스턴스 수준 이벤트를 조사할 수 있습니다.

AWS CodeDeploy는 파일 및 명령 기반 설치 모델을 사용하여 어떤 애플리케이션이든 배포할 수 있으며 기존 설치 코드를 재사용할 수 있습니다. CodeDeploy는 단일AppSpec 구성 파일을 사용하여 애플리케이션의 파일을 호스트 대상에 매핑하고 '종속성 설치' 또는 '서버 중지'와 같은 각 수명 주기 이벤트(배포의 단계)에서 실행할 명령을 지정합니다. 명령은 셸 스크립트나 커스텀 프로그램, 구성 관리 도구 등의 코드일 수 있습니다.

AWS CodeDeploy API를 사용하면 애플리케이션 배포를 손쉽게 기존 소프트웨어 전송 도구 체인과 통합할 수 있습니다. 일부 AWS 파트너는 최신 애플리케이션 빌드를 인스턴스에 간편하게 자동 배포할 수 있도록 사전 구축된 CodeDeploy를 지속적인 통합 및 지속적인 전송 서비스와 통합하여 제공합니다.