AWS CodeDeploy - AWS의 배포 옵션 개요

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

AWS CodeDeploy

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

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

표 3: AWS CodeDeploy 배포 기능

기능 설명
프로비저닝

CodeDeploy는 기존 컴퓨팅 리소스와 함께 사용하기 위한 것이며 사용자를 대신하여 리소스를 생성하지 않습니다. CodeDeploy에서는 애플리케이션 콘텐츠를 배포하기 위해 컴퓨팅 리소스를 배포 그룹이라는 구문으로 구성해야 합니다.

CodeDeploy를 컴퓨팅 리소스에 연결하는 방법에 대한 자세한 내용은 CodeDeploy의 배포 그룹 작업을 참조하세요. CodeDeploy

구성

CodeDeploy는 애플리케이션 사양 파일을 사용하여 컴퓨팅 리소스에 대한 사용자 지정을 정의합니다.

CodeDeploy를 사용한 리소스 사용자 지정에 대한 자세한 내용은 CodeDeploy AppSpec 파일 참조를 참조하세요. CodeDeploy

배포

CodeDeploy가 사용되는 컴퓨팅 리소스 유형에 따라 CodeDeploy는 애플리케이션을 배포하기 위한 다양한 전략을 제공합니다.

지원되는 배포 프로세스 유형에 대한 자세한 내용은 CodeDeploy에서 배포 작업을 참조하세요.

Scale CodeDeploy는 기본 애플리케이션 인프라의 규모 조정을 지원하지 않지만 배포 구성에 따라 블루/그린 배포를 지원하는 추가 리소스를 생성할 수 있습니다.
모니터링

CodeDeploy는 배포의 성공 또는 실패를 모니터링할 수 있으며 모든 배포 기록을 제공하지만 성능 또는 애플리케이션 수준 지표를 제공하지는 않습니다.

CodeDeploy에서 제공하는 모니터링 기능의 유형에 대한 자세한 내용은 CodeDeploy의 배포 모니터링을 참조하세요.

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

AWS CodePipeline workflow showing CodeCommit, CodeBuild, CodeDeploy, and EC2 with Auto Scaling.

AWS CodeDeploy 사용 사례

AWS CodeDeploy 용 AWS Lambda

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

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

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