배포 그룹에 대한 고급 옵션 구성 - AWS CodeDeploy

배포 그룹에 대한 고급 옵션 구성

배포 그룹을 만들거나 업데이트할 때 여러 옵션을 구성하여 해당 배포 그룹의 배포를 보다 효과적으로 제어하고 감독할 수 있습니다.

이 페이지의 정보를 사용하여 다음과 같은 주제에서 배포 그룹을 작업할 때 고급 옵션을 구성할 수 있습니다.

Amazon SNS 알림 트리거: CodeDeploy 배포 그룹에 트리거를 추가하여 배포 또는 배포 그룹과 관련된 이벤트에 대한 알림을 수신할 수 있습니다. 이러한 알림은 트리거 작업의 일부로 만든 Amazon SNS 주제를 구독하는 수신자에게 전송됩니다.

이 트리거가 가리키는 Amazon SNS 주제를 이미 설정해야 하며, CodeDeploy 는 이 배포 그룹에서 주제에 게시할 권한이 있어야 합니다. 이러한 설치 단계를 아직 완료하지 않은 경우 나중에 배포 그룹에 트리거를 추가할 수 있습니다.

지금 트리거를 생성하여 이 애플리케이션에 대한 배포 그룹의 배포 이벤트에 대한 알림을 받으려면 트리거 생성을 선택합니다.

Amazon EC2 인스턴스에 배포하는 경우 인스턴스에 대한 알림을 생성하고 인스턴스에 대한 알림을 받을 수 있습니다.

자세한 내용은 Monitoring Deployments with Amazon SNS Event Notifications 단원을 참조하세요.

Amazon CloudWatch 경보 – 지정하는 기간 동안 단일 지표를 관찰하는 CloudWatch 경보를 생성하고 특정 기간 동안 지정된 임계값을 기준으로 지표의 값에 따라 하나 이상의 작업을 수행할 수 있습니다. Amazon EC2 배포의 경우 CodeDeploy 작업에 사용 중인 인스턴스 또는 Amazon EC2 Auto Scaling 그룹에 대한 경보를 생성할 수 있습니다. AWS Lambda 및 Amazon ECS 배포의 경우 Lambda 함수에서 오류에 대한 경보를 생성할 수 있습니다.

Amazon CloudWatch 경보가 지표가 정의된 임계값 아래로 떨어지거나 초과되었음을 감지할 때 배포를 중지하도록 구성할 수 있습니다.

CloudWatch에서 경보를 이미 생성했어야 배포 그룹에 추가할 수 있습니다.

  1. 배포 그룹에 경보 모니터링을 추가하려면 경보에서 경보 추가를 선택합니다.

  2. 이 배포를 모니터링하도록 이미 설정한 CloudWatch 경보의 이름을 입력합니다.

    CloudWatch 경보는 CloudWatch에서 생성된 것과 정확히 동일하게 입력해야 합니다. 경보 목록을 보려면 https://console.aws.amazon.com/cloudwatch/에서 CloudWatch 콘솔을 열고 경보를 선택합니다.

추가 옵션:

  • 추가한 경보를 고려하지 않고 배포를 계속하려면 경보 구성 무시를 선택합니다.

    이 옵션은 나중에 동일한 경보를 다시 추가하지 않고도 배포 그룹에 대한 경보 모니터링을 일시적으로 비활성화하려는 경우에 유용합니다.

  • (선택 사항) CodeDeploy가 Amazon CloudWatch에서 경보 상태를 검색할 수 없는 경우 배포를 계속하려면 경보 상태를 사용할 수 없는 경우에도 배포 계속을 선택합니다.

    참고

    이 옵션은 CodeDeploy API에 있는 AlarmConfiguration 객체의 ignorePollAlarmFailure에 해당합니다.

자세한 내용은 CodeDeploy에서 CloudWatch 경보를 사용하여 배포 모니터링 단원을 참조하세요.

자동 롤백: 배포에 실패한 경우 또는 지정한 모니터링 임계값에 도달한 경우 자동으로 롤백하도록 배포 그룹 또는 배포를 구성할 수 있습니다. 이 경우 마지막으로 알려진 정상 버전의 애플리케이션 개정이 배포됩니다. 콘솔을 사용하여 애플리케이션을 만들거나, 배포 그룹을 만들거나, 배포 그룹을 업데이트할 때 배포 그룹에 대한 설정 옵션을 구성할 수 있습니다. 새 배포를 만들 때 배포 그룹에 지정된 자동 롤백 구성을 재정의하도록 선택할 수도 있습니다.

  • 문제가 발생하면 다음 중 하나 또는 둘 다를 선택하여 배포가 가장 최근에 알려진 정상 개정 버전으로 롤백되도록 할 수 있습니다.

    • 배포 실패 시 롤백. CodeDeploy는 마지막으로 알려진 정상 개정 버전을 새 배포로 재배포합니다.

    • 경보 임계값에 도달하면 롤백. 이전 단계에서 이 애플리케이션에 경보를 추가한 경우 CodeDeploy는 지정된 경보 중 하나 이상이 활성화될 때 마지막으로 알려진 정상 개정 버전을 재배포합니다.

    참고

    롤백 구성을 일시적으로 무시하려면 롤백 사용 안 함을 선택합니다. 이 옵션은 나중에 동일한 구성을 다시 설정하지 않고도 자동 롤백을 일시적으로 비활성화하려는 경우에 유용합니다.

    자세한 내용은 CodeDeploy를 사용하여 재배포 및 배포 롤백 단원을 참조하세요.

오래된 인스턴스에 대한 자동 업데이트: 특정 상황에서 CodeDeploy는 오래된 개정 버전의 애플리케이션을 Amazon EC2 인스턴스에 배포할 수 있습니다. 예를 들어 CodeDeploy 배포가 진행되는 동안 EC2 인스턴스가 ASG(Auto Scaling 그룹)로 시작되는 경우 해당 인스턴스는 최신 애플리케이션 대신 이전 개정 버전의 애플리케이션을 받게 됩니다. 이러한 인스턴스를 최신 상태로 유지하기 위해 CodeDeploy는 자동으로 후속 배포를 시작하여 오래된 인스턴스를 업데이트합니다. 오래된 EC2 인스턴스가 이전 개정 버전으로 유지되도록 이 기본 동작을 변경하려면 CodeDeploy API 또는 AWS Command Line Interface(CLI)를 통해 수행합니다.

API를 통해 오래된 인스턴스의 자동 업데이트를 구성하려면 UpdateDeploymentGroup 또는 CreateDeploymentGroup 작업에 outdatedInstancesStrategy 요청 파라미터를 포함합니다. 자세한 내용은 AWS CodeDeploy API 참조를 참조하세요.

AWS CLI을(를) 통해 자동 업데이트를 구성하려면 다음 명령 중 하나를 사용합니다.

aws deploy update-deployment-group arguments --outdated-instances-strategy UPDATE|IGNORE

또는…

aws deploy create-deployment-group arguments --outdated-instances-strategy UPDATE|IGNORE

... 여기서, arguments는 배포에 필요한 인수로 대체되고 UPDATE|IGNORE는 자동 업데이트를 활성화하는 UPDATE 또는 비활성화하는 IGNORE로 대체됩니다.

예:

aws deploy update-deployment-group --application-name "MyApp" --current-deployment-group-name "MyDG" --region us-east-1 --outdated-instances-strategy IGNORE

AWS CLI 명령에 대한 자세한 내용은 AWS CLI 명령 참조를 참조하세요.