Amazon EC2 인스턴스에서 실패한 CodeDeploy 배포 문제를 해결하려면 어떻게 해야 합니까?

최종 업데이트 날짜: 2021년 9월 8일

Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스에 대한 AWS CodeDeploy 배포가 실패했습니다.

간략한 설명

AWS Systems Manager AWSSupport-TroubleshootCodeDeploy Automation 런북을 사용해 실패한 배포 문제를 해결할 수 있습니다. 런북은 다음과 같은 이유로 인한 배포 실패를 식별하는 데 도움이 됩니다.

  • CodeDeploy 에이전트가 설치되지 않았거나 인스턴스에서 실행되고 있지 않습니다.
  • 필요한 인스턴스 프로파일이 누락되었습니다.
  • 인스턴스 프로파일에 올바른 Amazon Simple Storage Service(Amazon S3) 권한이 없습니다.
  • CodeDeploy에서 관리하는 수명 주기 후크 중 하나(예: AllowTraffic 또는 BlockTraffic)에 문제가 있습니다.
  • 고객 관리형 수명 주기 후크 중 하나에 문제가 있습니다.
  • 배포 중에 Auto Scaling 그룹 축소 이벤트에서 문제가 발생했습니다.
  • AppSpec 파일이 누락되었거나 형식이 잘못되었습니다.

해결 방법

중요: CodeDeploy 애플리케이션의 위치와 동일한 AWS 리전에서 AWSSupport-TroubleshootCodeDeploy 런북을 사용합니다.

1.    AWS Systems Manager 콘솔을 엽니다.

2.    탐색 창의 변경 관리(Change Management) 섹션에서 자동화(Automation)를 선택합니다.

3.    [자동화 실행(Execute automation)]을 선택합니다.

4.    아마존 소유(Owned by Amazon) 탭의 Automation 문서(Automation document) 검색 상자에 AWSSupport-TroubleshootCodeDeploy를 입력합니다. 그런 다음 검색 아이콘을 선택하거나 키보드에서 Enter 키를 누릅니다.

5.    AWSSupport-TroubleshootCodeDeploy 카드에서 라디오 버튼을 선택합니다.

참고: 하이퍼링크된 자동화 이름이 아닌 라디오 버튼을 선택해야 합니다.

6.    문서 세부 정보(Document details) 섹션에서 다음(Next)을 선택합니다.

7.    파라미터 입력(Input parameters) 섹션에서 DeploymentId에 실패한 배포 ID를 입력합니다.

8.    InstanceID에 배포가 실패한 인스턴스 ID를 입력합니다.

9.    AutomationAssumeRole에 Systems Manager Automation이 작업을 수행할 수 있도록 허용하는 역할의 Amazon 리소스 이름(ARN)을 입력합니다.

참고: AWS Identity and Access Management(IAM) 역할을 지정하지 않으면 Systems Manager Automation은 런북을 실행하는 IAM 사용자 역할의 권한을 사용합니다. Systems Manager Automation에 대한 역할 수임을 만드는 방법에 대한 자세한 내용은 태스크 1: 자동화를 위한 서비스 역할 생성을 참조하세요.

중요: AutomationAssumeRole 또는 사용자 역할에는 codedeploy:GetDeployment, codedeploy:GetDeploymentTargetec2:DescribeInstances 작업에 대한 권한이 있어야 합니다.

10.    실행(Execute)을 선택합니다.

런북의 출력은 배포 실패의 원인이 된 문제를 해결하는 방법에 대한 문제 해결 단계 및 권장 사항을 제공합니다.


이 문서가 도움이 되었나요?


결제 또는 기술 지원이 필요하세요?