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

2분 분량
0

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

간략한 설명

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

  • CodeDeploy 에이전트가 설치되지 않았거나 인스턴스에서 실행되고 있지 않습니다.
  • 필요한 인스턴스 프로파일이 누락되었습니다.
  • 인스턴스 프로파일에 올바른 Amazon Simple Storage Service(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(Amazon 소유) 탭의 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)**을 선택합니다.

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


관련 정보

CodeDeploy 문제 해결

EC2/온프레미스 배포 문제 해결

AWS 공식
AWS 공식업데이트됨 3달 전
댓글 없음

관련 콘텐츠