CodeDeploy 인스턴스 건강 - AWS CodeDeploy

문서의 영문과 번역 사이에 충돌이 있는 경우에는 영문 버전을 따릅니다. 번역 버전은 기계 번역을 사용하여 제공합니다.

CodeDeploy 인스턴스 건강

CodeDeploy 배포 그룹에서 인스턴스의 상태 상태를 모니터링합니다. 구축 중 배포 그룹에 대해 지정된 최소 수의 건전한 인스턴스 수가 아래로 떨어지는 경우 배포가 실패합니다. 예를 들어, 인스턴스의 85%가 배포 중에 건전해야 하고 배포 그룹에 10개의 인스턴스가 포함된 경우 단일 인스턴스까지도 배포하는 경우 전체 배포가 실패합니다. 이는 인스턴스가 오프라인으로 전환되기 때문에 최신 애플리케이션 개정을 설치할 수 있기 때문에 사용 가능한 건강한 인스턴스 수가 이미 90%로 떨어집니다. 장애가 발생한 인스턴스와 또 다른 오프라인 인스턴스는 인스턴스의 80%만 건전하고 사용 가능함을 의미합니다. CodeDeploy 전체 배포 실패.

전체 배포의 성공을 위해 다음 사항이 참이어야 한다는 점을 명심해야 합니다.

  • CodeDeploy 배포의 각 인스턴스에 배포할 수 있습니다.

  • 하나 이상의 인스턴스에 배포가 성공해야 합니다. 즉, 최소 건전한 호스트 값이 0인 경우에도 성공하려면 전체 배포에 대해 최소 하나의 인스턴스로 배포해야 합니다(즉, 최소 하나의 인스턴스가 건전해야 함).

필요한 최소 수의 건전한 인스턴스는 배포 구성의 일부로 정의됩니다.

중요

파란색/녹색 배포 중에 배포 구성 및 최소 건전한 호스트 값은 원래 환경의 인스턴스에 적용되는 것이며, 원래 환경의 경우는 아닙니다. 그러나 원래 환경의 인스턴스가 로드 밸런서에서 파생된 경우 전체 배포는 단일 원본 인스턴스라도 성공적으로 취소되지 못한 경우 실패로 표시됩니다.

CodeDeploy 에서는 일반적으로 최소 건전한 호스트 값을 사용하는 세 가지 기본 구축 구성을 제공합니다.

기본 구축 구성 이름 사전 정의된 최소 건전성 호스트 값
CodeDeployDefault.OneAtATime 99
CodeDeployDefault.HalfAtATime 50
CodeDeployDefault.AllAtOnce 0

기본 배포 구성에 대한 자세한 내용은 에서 구축 구성을 CodeDeploy.

에서 사용자 지정 구축 구성을 만들 수 있습니다. CodeDeploy 의 최소 건전한 호스트 값을 정의합니다. 다음 작업을 사용할 때 이러한 값을 정수나 백분율로 정의할 수 있습니다.

상태 확인

CodeDeploy 각 인스턴스에 두 개의 상태 값을 할당합니다. 개정 상태 and 인스턴스 건강.

개정 상태

개정 상태는 현재 인스턴스에 설치된 응용 프로그램 개정에 기반합니다. 다음과 같은 상태 값이 있습니다.

  • Current 인스턴스에 설치된 개정판은 배포 그룹의 마지막 성공한 배포 버전과 일치합니다.

  • 이전: 인스턴스에 설치된 개정이 응용 프로그램 이전 버전과 일치합니다.

  • 알 수 없음 인스턴스에 응용 프로그램 개정이 설치되지 않았습니다.

인스턴스 상태

인스턴스 상태는 인스턴스에 배포가 성공했는지 여부에 기반합니다. 다음 값이 있습니다.

  • Healthy 인스턴스에 대한 마지막 배포가 성공했습니다.

  • 건강에 좋지 않음: 인스턴스에 대한 개정을 배포하려고 시도했거나 개정이 아직 인스턴스에 배포되지 않았습니다.

CodeDeploy 에서는 개정판 상태 및 인스턴스 상태를 사용하여 배포 그룹의 인스턴스에 배포를 예약합니다.

  1. 건강하지 않은 인스턴스 상태.

  2. 알 수 없는 개정 상태.

  3. 이전 개정 상태.

  4. 현재 개정 상태.

전체 배포가 성공하면 개정이 업데이트되고 배포 그룹의 상태 값이 최신 구축 환경을 반영하도록 업데이트됩니다.

  • 성공적으로 배포된 모든 현재 인스턴스는 현재 상태로 유지됩니다. 그렇지 않으면 알 수 없습니다.

  • 성공적인 배포가 있었던 이전 또는 알려지지 않은 모든 인스턴스가 현재 상태입니다. 그렇지 않으면 이전 또는 알 수 없습니다.

  • 성공적인 배포가 있었던 모든 건강한 인스턴스는 건강한 상태를 유지합니다. 그렇지 않으면 건강하지 않습니다.

  • 성공적인 배포가 있었던 모든 건강하지 않은 인스턴스는 건강하게 됩니다. 그렇지 않으면 건강하지 않습니다.

전체 배포가 실패하거나 중지된 경우:

  • 각 인스턴스 CodeDeploy 응용 프로그램 개정을 배포하려고 시도하려고 하면 인스턴스의 배포 시도 성공 여부에 따라 건전하거나 건전하지 않은 인스턴스 건전성이 설정됩니다.

  • 각 인스턴스 CodeDeploy 응용 프로그램 개정판을 배포하려고 하지 않으면 현재 인스턴스 건전성 값이 유지됩니다.

  • 배포 그룹의 개정은 동일하게 유지됩니다.

최소 건전한 인스턴스 및 배포

CodeDeploy 은(는) 배포에 대한 최소 수의 건전한 인스턴스를 다음 두 가지 주요 목적으로 지정할 수 있습니다.

  • 전체 배포가 성공하거나 실패하는지 여부를 판단하려면 응용 프로그램 수정이 최소 개 이상의 건전한 인스턴스에 성공적으로 배포된 경우 배포가 성공합니다.

  • 배포가 진행되는 동안 반드시 건전해야 하는 인스턴스 수를 결정하려면 배포가 필요합니다.

배포 그룹에 대한 최소 건전한 인스턴스 수를 여러 인스턴스 또는 총 인스턴스 수의 백분율로 지정할 수 있습니다. 백분율을 지정하는 경우 배포 시작 시 CodeDeploy 부분을 동일한 수의 인스턴스로 변환하여 모든 분리 인스턴스를 반올림합니다.

CodeDeploy 배포 프로세스 동안 배포 그룹의 인스턴스의 상태 상태를 추적하고 배포 작업을 계속할지 여부를 결정하기 위해 배포 중인 최소 수의 건전한 인스턴스를 사용합니다. 기본 원칙은 배포가 지정된 최소 숫자 미만의 건전한 인스턴스 수를 절대로 야기하지 않아야 한다는 것입니다. 이 규칙에 대한 한 가지 예외는 처음에 배포 그룹이 지정된 최소 수의 건전한 인스턴스 미만을 가지고 있는 경우입니다. 이 경우, 배포 프로세스는 더 많은 수의 건강한 인스턴스 수를 줄이지 않습니다.

참고

CodeDeploy 은(는) 현재 중지된 상태에 있는 배포 그룹의 모든 인스턴스에 배포하려고 시도합니다. 최소 건전한 호스트 계산에서 중지된 인스턴스는 실패한 인스턴스와 동일한 영향을 갖습니다. 너무 많은 중지된 인스턴스로 인해 배포 실패를 해결하려면 인스턴스를 다시 시작하거나 태그를 변경하여 배포 그룹에서 제외합니다.

CodeDeploy 배포 그룹의 건전하지 않은 인스턴스에 응용 프로그램 수정 버전을 배포하려고 시도함으로써 배포 프로세스를 시작합니다. 성공적인 배포를 위해, CodeDeploy 인스턴스의 건강 상태를 건전한 상태로 변경하고 배포 그룹의 건전한 인스턴스에 추가합니다. CodeDeploy 현재 건강한 인스턴스의 현재 수를 지정된 최소 수와 비교합니다.

  • 건강한 인스턴스 수가 지정된 최소 수의 건강한 인스턴스 수보다 작거나 같으면, CodeDeploy 은(는) 배포를 취소하여 더 많은 배포로 건강한 인스턴스 수가 감소하지 않도록 합니다.

  • 건강한 인스턴스 수가 최소 한 개 이상의 건강한 인스턴스 수보다 큰 경우 CodeDeploy 는 원래 일련의 건강한 인스턴스에 응용 프로그램 수정을 배포합니다.

건전한 인스턴스에 배포하는 경우 CodeDeploy 건강 상태가 건강하지 않은 상태로 변경됩니다. 배포가 진행됨에 따라 CodeDeploy 현재의 건강한 인스턴스 수를 업데이트하고 이를 지정된 최소 수와 비교합니다. 구축 프로세스의 어느 시점에서든 건전한 인스턴스 수가 지정된 최소 숫자에 해당되는 경우, CodeDeploy 배포를 중지합니다. 이 연습은 다음 배포가 실패할 가능성이 있으므로, 지정된 최소 번호 이하의 건전한 인스턴스 수를 떨어뜨립니다.

참고

지정한 최소 수의 건전한 인스턴스가 배포 그룹의 인스턴스 총 인스턴스 수보다 적은지 확인합니다. 백분율을 지정하면 반올림할 것임을 기억하십시오. 그렇지 않으면, 배포가 시작되면, 건강한 인스턴스 수가 이미 지정된 최소 수와 동일한 최소 인스턴스보다 작거나 같을 것입니다. CodeDeploy 은(는) 전체 배포를 즉시 실패합니다.

CodeDeploy 또한 지정된 최소 수의 건전한 인스턴스와 실제 건전한 인스턴스 수를 사용하여 응용 프로그램 개정을 여러 인스턴스에 배포할지 여부 및 방법을 결정합니다. 기본적으로 CodeDeploy 는 건강한 인스턴스 수가 특정 최소 수의 건강한 인스턴스 미만으로 떨어질 위험이 없이 가능한 한 많은 인스턴스로 애플리케이션 수정을 배포합니다. 예: .

  • 배포 그룹에 10개의 인스턴스가 있고 최소 건전한 인스턴스 번호를 9로 설정하는 경우 CodeDeploy 한 번에 하나의 인스턴스로 배포합니다.

  • 배포 그룹에 10개의 인스턴스가 있고 최소 건전한 인스턴스 번호를 0으로 설정하는 경우 CodeDeploy 모든 인스턴스에 배포합니다.

예제:

다음 예는 10개의 인스턴스를 가진 배포 그룹을 가정합니다.

최소 건강한 인스턴스: 95%

CodeDeploy 은(는) 최대 10개의 인스턴스 수를 포함하는 최소 건강한 인스턴스 번호를 반올림하며, 이는 건강한 인스턴스 수 입니다. 모든 인스턴스에 개정판을 배포하지 않고 전체 배포가 즉시 실패합니다.

최소 건강한 인스턴스: 9

CodeDeploy 한 번에 하나의 인스턴스에 개정을 배포합니다. 어떤 인스턴스에 배포할 경우 CodeDeploy 건강한 인스턴스 수가 최소 건강한 인스턴스 번호와 같기 때문에 전체 배포가 즉시 실패합니다. 이 규칙에 대한 예외는 마지막 인스턴스가 실패하면 배포가 여전히 성공한다는 것입니다.

CodeDeploy 배포가 실패하거나 전체 배포가 완료될 때까지 한 번에 한 인스턴스씩 배포를 계속합니다. 10개 구축이 모두 성공하면 이제 배포 그룹에 10개의 건전한 인스턴스가 있습니다.

최소 건강한 인스턴스: 8

CodeDeploy 은(는) 한 번에 두 개의 인스턴스에 개정판을 배포합니다. 이러한 배포 중 두 가지 배포 실패 CodeDeploy 전체 배포를 즉시 실패합니다. 이 규칙에 대한 예외는 마지막 인스턴스가 실패하는 경우 배포가 여전히 성공한다는 것입니다.

최소 건강한 인스턴스: 0

CodeDeploy 은(는) 한 번에 전체 배포 그룹에 개정을 배포합니다. 성공을 위한 전체 배포에 대해 인스턴스에 하나 이상의 배포가 성공해야 합니다. 0인스턴스가 건강한 경우 배포가 실패합니다. 이는 전체 배포를 성공으로 표시하기 위해 최소 건전한 인스턴스 값이 0인 경우에도 전체 배포가 완료될 때 최소 하나의 인스턴스를 건전해야 하기 때문입니다.