이 시나리오에서는 플릿에 상태에서 정상 인스턴스가 표시되지만 위의 오류도 표시됩니다. - AWS CodeDeploy

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

이 시나리오에서는 플릿에 상태에서 정상 인스턴스가 표시되지만 위의 오류도 표시됩니다.

일반적인 문제 해결 체크리스트

다음 체크리스트를 사용하여 실패한 배포 문제를 해결할 수 있습니다.

  1. 배포에 실패했는지 확인하려면 CodeDeploy 배포 세부 정보 보기 View Instance Details 단원을 확인하세요. 원인을 알 수 없는 경우에는 이 체크리스트의 항목을 살펴보십시오.

  2. 다음과 같이 인스턴스가 올바르게 구성되었는지 확인합니다.

  3. 다음과 같이 애플리케이션 및 배포 그룹 설정을 확인합니다.

  4. 다음과 같이 애플리케이션 수정이 올바르게 구성되었는지 확인합니다.

  5. 서비스 역할이 올바르게 구성되었는지 확인합니다. 자세한 내용은 2단계: 서비스 역할 만들기 CodeDeploy 단원을 참조하세요.

  6. 시작하기 CodeDeploy의 단계를 수행했는지 확인하고 다음을 수행합니다.

    • 사용자에게 적절한 권한을 프로비저닝합니다.

    • AWS CLI를 설치 또는 업그레이드한 후 구성합니다.

    • IAM 인스턴스 프로파일 및 서비스 역할을 생성합니다.

    자세한 정보는 AWS CodeDeploy의 Identity and Access Management(IAM)을 참조하세요.

  7. AWS CLI 버전 1.6.1 이상을 사용하고 있는지 확인하십시오. 설치된 버전을 확인하려면 aws --version을 호출합니다.

실패한 배포 관련 문제를 여전히 해결할 수 없는 경우 이 항목의 다른 문제를 검토합니다.

CodeDeploy 배포 리소스는 일부 지역에서만 지원됩니다. AWS

또는 CodeDeploy 콘솔에서 애플리케이션, 배포 그룹, 인스턴스 또는 기타 배포 리소스가 보이지 않거나 액세스할 수 없는 경우, 지역 및 엔드포인트에 나열된 AWS 지역 중 하나를 참조하고 있는지 확인하십시오. AWS CLI AWS 일반 참조

배포에 사용되는 EC2 인스턴스와 Amazon EC2 Auto Scaling 그룹은 이러한 지역 중 CodeDeploy 하나에서 시작하고 생성해야 합니다. AWS

를 사용하는 경우 에서 AWS CLI명령을 실행하십시오. aws configure AWS CLI그러면 기본 AWS 지역을 보고 설정할 수 있습니다.

CodeDeploy 콘솔을 사용하는 경우 탐색 표시줄의 지역 선택기에서 지원되는 AWS 지역 중 하나를 선택합니다.

중요

중국(베이징) 리전 또는 중국(닝샤) 리전에서 서비스를 이용하려면 이들 리전에 대한 계정 및 자격 증명이 있어야 합니다. 다른 AWS 지역의 계정과 자격 증명은 베이징 및 닝샤 지역에서 작동하지 않으며 반대의 경우도 마찬가지입니다.

CodeDeploy 리소스 키트 버킷 이름 및 CodeDeploy 에이전트 설치 절차와 같은 중국 지역의 일부 리소스에 대한 정보는 이번 버전의 사용 설명서에 포함되어 있지 않습니다. CodeDeploy

자세한 내용:

이 가이드의 절차가 CodeDeploy 콘솔과 일치하지 않습니다.

이 설명서의 절차는 새 콘솔 디자인을 반영하여 작성되었습니다. 이전 버전의 콘솔을 사용하더라도 이 설명서의 여러 가지 개념과 기본 절차가 계속해서 적용됩니다. 새 콘솔에서 도움말에 액세스하려면 정보 아이콘을 선택하세요.

필요한 IAM 역할을 사용할 수 없음

스택의 일부로 생성된 IAM 인스턴스 프로필 또는 서비스 역할을 사용하는 경우 AWS CloudFormation 스택을 삭제하면 모든 IAM 역할도 삭제됩니다. IAM 역할이 더 이상 IAM 콘솔에 표시되지 않고 더 이상 예상대로 작동하지 CodeDeploy 않는 이유일 수 있습니다. 이 문제를 해결하려면 삭제된 IAM 역할을 수동으로 다시 만들어야 합니다.

일부 텍스트 편집기를 사용하여 AppSpec 파일과 셸 스크립트를 생성하면 배포가 실패할 수 있습니다.

일부 텍스트 편집기에서는 파일에는 인쇄되지 않는 비준수 문자가 포함됩니다. 텍스트 편집기를 사용하여 Amazon Linux, Ubuntu Server 또는 RHEL 인스턴스에서 실행할 파일이나 셸 스크립트 파일을 만들거나 수정하는 AppSpec 경우 이러한 파일을 사용하는 배포가 실패할 수 있습니다. 배포 중에 이러한 파일을 CodeDeploy 사용하는 경우 이러한 문자가 있으면 hard-to-troubleshoot AppSpec 파일 검증 실패 및 스크립트 실행 실패로 이어질 수 있습니다.

CodeDeploy 콘솔의 배포에 대한 이벤트 세부정보 페이지에서 로그 보기를 선택합니다. (또는 를 사용하여 get-deployment-instance명령을 AWS CLI 호출할 수도 있습니다.) invalid character, command not found, file not found와 같은 오류를 찾습니다.

이 문제를 해결하려면 다음과 같이 수행하는 것이 좋습니다.

  • 캐리지 리턴 (^M문자) 과 같이 인쇄할 수 없는 문자를 AppSpec 파일 및 셸 스크립트 파일에 삽입하는 텍스트 편집기를 사용하지 마십시오.

  • AppSpec 파일 및 셸 스크립트 파일에 캐리지 리턴과 같이 인쇄되지 않는 문자를 표시하는 텍스트 편집기를 사용하면 발생할 수 있는 문자를 찾아 제거할 수 있습니다. 이러한 유형의 텍스트 편집기에 대한 예를 찾아보려면 인터넷에서 캐리지 리턴을 표시하는 텍스트 편집기를 검색해 보십시오.

  • Amazon Linux, Ubuntu Server 또는 RHEL 인스턴스에서 실행되는 쉘 스크립트 파일을 생성하려면 Amazon Linux, Ubuntu Server 또는 RHEL 인스턴스에서 실행되는 텍스트 편집기를 사용합니다. 이러한 유형의 텍스트 편집기에 대한 예를 찾아보려면 인터넷에서 Linux 셸 스크립트 편집기를 검색해 보십시오.

  • Windows 또는 macOS에서 텍스트 편집기를 사용하여 Amazon Linux, Ubuntu Server 또는 RHEL 인스턴스에서 실행하기 위한 셸 스크립트 파일을 작성해야 하는 경우 Windows 또는 macOS 형식 텍스트를 Unix 형식으로 변환하는 프로그램 또는 유틸리티를 사용합니다. 이러한 프로그램 및 유틸리티의 예를 찾아보려면 인터넷에서 DOS에서 UNIX로 변환 또는 Mac에서 UNIX로 변환을 검색해 보십시오. 대상 운영 체제에서 변환된 셸 스크립트 파일을 테스트해 보십시오.

macOS에서 Finder를 사용하여 애플리케이션 수정을 번들링하면 배포에 실패할 수 있음

Mac에서 Finder GUI (그래픽 사용자 인터페이스) 응용 프로그램을 사용하여 파일, 관련 AppSpec 파일 및 스크립트를 응용 프로그램 수정 버전 아카이브 (.zip) 파일로 번들 (zip) 하는 경우 배포가 실패할 수 있습니다. 이는 Finder가 .zip 파일에 중간 __MACOSX 폴더를 만들어 이 폴더에 구성 요소 파일을 배치하는 것이 원인일 수 있습니다. CodeDeploy 구성 요소 파일을 찾을 수 없어 배포가 실패합니다.

이 문제를 해결하려면 를 사용하여 push 명령을 AWS CLI 호출하는 것이 좋습니다. 이 명령은 구성 요소 파일을 예상 구조로 압축합니다. 또는 GUI 대신 터미널을 사용하여 구성 요소 파일을 압축할 수 있습니다. 터미널은 중간 __MACOSX 폴더를 만들지 않습니다.