

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# AWS CodeDeploy
<a name="aws-codedeploy"></a>

 [AWS CodeDeploy](https://aws.amazon.com/codedeploy/)는 Amazon EC2, Amazon [Elastic Container Service](https://aws.amazon.com/ecs/)(Amazon ECS), [AWS Lambda](https://aws.amazon.com/lambda/)또는 온프레미스 서버와 같은 컴퓨팅 서비스를 위한 애플리케이션 배포를 자동화하는 완전 관리형 배포 서비스입니다. 조직은 CodeDeploy를 사용하여 애플리케이션 배포를 자동화하고 배포 프로세스에서 오류가 발생하기 쉬운 수동 작업을 제거할 수 있습니다. CodeDeploy는 코드, 서버리스 함수, 구성 파일 등 다양한 애플리케이션 콘텐츠와 함께 사용할 수 있습니다.

 CodeDeploy는 애플리케이션 개발자가 기존 인프라에서 실행 중인 소프트웨어를 배포하고 업데이트할 수 있도록 지원하는 데 중점을 둔 *빌딩 블록* 서비스로 사용하기 위한 것입니다. end-to-end 애플리케이션 관리 솔루션이 아니며 전체 CI/CD 파이프라인의 일부로 [AWS CodeStar](https://aws.amazon.com/codestar/), , 기타 AWS 개발자 도구 및 타사 서비스와 같은 [AWS CodePipeline](https://aws.amazon.com/codepipeline/)다른 AWS 배포 서비스와 함께 사용하기 위한 것입니다([AWS CodeDeploy 제품 통합](https://aws.amazon.com/codedeploy/product-integrations/)의 전체 목록은 제품 통합 참조). [https://aws.amazon.com/products/developer-tools/](https://aws.amazon.com/products/developer-tools/) 또한 CodeDeploy는 사용자를 대신하여 리소스 생성을 관리하지 않습니다.

* 표 3: AWS CodeDeploy 배포 기능 *


|  기능  |  설명  | 
| --- | --- | 
|  프로비저닝  |   CodeDeploy는 기존 컴퓨팅 리소스와 함께 사용하기 위한 것이며 사용자를 대신하여 리소스를 생성하지 않습니다. CodeDeploy에서는 애플리케이션 콘텐츠를 배포하기 위해 컴퓨팅 리소스를 *배포 그룹*이라는 구문으로 구성해야 합니다.  [CodeDeploy를 컴퓨팅 리소스에 연결하는 방법에 대한 자세한 내용은 CodeDeploy의 배포 그룹 작업을](https://docs.aws.amazon.com/codedeploy/latest/userguide/deployment-groups.html) 참조하세요. CodeDeploy   | 
|  구성  |   CodeDeploy는 애플리케이션 사양 파일을 사용하여 컴퓨팅 리소스에 대한 사용자 지정을 정의합니다.  [CodeDeploy를 사용한 리소스 사용자 지정에 대한 자세한 내용은 CodeDeploy AppSpec 파일 참조](https://docs.aws.amazon.com/codedeploy/latest/userguide/reference-appspec-file.html)를 참조하세요. CodeDeploy   | 
|  배포  |   CodeDeploy가 사용되는 컴퓨팅 리소스 유형에 따라 CodeDeploy는 애플리케이션을 배포하기 위한 다양한 전략을 제공합니다.  지원되는 [배포 프로세스 유형에 대한 자세한 내용은 CodeDeploy](https://docs.aws.amazon.com/codedeploy/latest/userguide/deployments.html)에서 배포 작업을 참조하세요.  | 
|  규모 조정  |  CodeDeploy는 기본 애플리케이션 인프라의 규모 조정을 지원하지 않지만 [배포 구성](https://docs.aws.amazon.com/codedeploy/latest/userguide/deployment-configurations.html)에 따라 블루/그린 배포를 지원하는 추가 리소스를 생성할 수 있습니다. | 
|  모니터링  |   CodeDeploy는 배포의 성공 또는 실패를 모니터링할 수 있으며 모든 배포 기록을 제공하지만 성능 또는 애플리케이션 수준 지표를 제공하지는 않습니다.  [CodeDeploy에서 제공하는 모니터링 기능 유형에](https://docs.aws.amazon.com/codedeploy/latest/userguide/monitoring.html) 대한 자세한 내용은 CodeDeploy에서 배포 모니터링을 참조하세요.  | 

 다음 다이어그램은 전체 CI/CD 솔루션의 일부로 CodeDeploy의 일반적인 사용 사례를 보여줍니다. 이 예제에서는 CodeDeploy를 추가 AWS 개발자 도구, 즉 AWS CodePipeline (CI/CD 파이프라인 자동화), [AWS CodeBuild](https://aws.amazon.com/codebuild/) (애플리케이션 구성 요소 빌드 및 테스트) 및 [AWS CodeCommit](https://aws.amazon.com/codecommit/) (소스 코드 리포지토리)와 함께 사용하여 Amazon EC2 인스턴스 그룹에 애플리케이션을 배포합니다. CodeDeploy는 전체 CI/CD 파이프라인의 일부로 다른 도구와 함께 사용됩니다. CodeDeploy는 배포 그룹의 일부인 컴퓨팅 리소스에 대한 애플리케이션 구성 요소의 배포를 관리합니다. 모든 인프라 구성 요소는 CodeDeploy 외부에서 생성됩니다.

![\[AWS CodePipeline workflow showing CodeCommit, CodeBuild, CodeDeploy, and EC2 with Auto Scaling.\]](http://docs.aws.amazon.com/ko_kr/whitepapers/latest/overview-deployment-options/images/image4.png)


* AWS CodeDeploy 사용 사례 *

## AWS CodeDeploy 용 AWS Lambda
<a name="codedeploy-for-lambda"></a>

 AWS CodeDeploy 용 AWS Lambda 를 사용하면 서버리스 배포를 자동화하여 애플리케이션 릴리스에 대한 제어 및 가시성을 높일 수 있습니다. CodeDeploy를 사용하여 서버리스 함수의 새 버전을 소수의 사용자 또는 트래픽에 배포하고 새 버전에 대한 신뢰도를 얻으면서 트래픽을 점진적으로 늘릴 수 있습니다. CodeDeploy를 사용하면 동일한 이벤트 소스에서 트래픽을 수신하는 Lambda 함수 세트를 나타내는 배포 그룹을 정의할 수 있습니다. 예를 들어 API Gateway 또는 Amazon EventBridge 규칙에 의해 시작되는 Lambda 함수 집합에 대한 배포 그룹을 생성할 수 있습니다. 그런 다음 erverless 함수의 새 버전을 지정된 배포 그룹에 배포하는 CodeDeploy를 사용하여 배포를 생성할 수 있습니다.

 또한 CodeDeploy를 사용하면 배포 유형, 배포 전략 및 트래픽 이동 규칙과 같은 배포 설정을 지정하는 배포 구성을 정의할 수 있습니다. Canary 배포 전략을 사용하여 서버리스 함수의 새 버전을 적은 비율의 트래픽에 배포하고 새 버전에 대한 트래픽을 늘리기 전에 새 버전의 상태와 성능을 모니터링할 수 있습니다.

 서버리스용 CodeDeploy를 사용하면 배포 프로세스를 자동화하고, 애플리케이션의 새 버전을 릴리스하는 데 필요한 시간과 노력을 줄이고, 서버리스 함수의 안정성과 신뢰성을 높일 수 있습니다.