AWS CodeStar 문제 해결 - AWS CodeStar
프로젝트 만들기 실패: 프로젝트가 만들어지지 않음프로젝트 만들기: 프로젝트를 만들 때 Amazon EC2 구성을 편집하려고 하면 오류가 나타납니다.프로젝트 삭제: AWS CodeStar 프로젝트를 삭제했으나 리소스가 여전히 있습니다.팀 관리 실패: AWS CodeStar 프로젝트의 팀에 IAM 사용자를 추가할 수 없습니다.액세스 실패: 연합된 사용자가 AWS CodeStar 프로젝트에 액세스할 수 없습니다.액세스 실패: 연합된 사용자가 AWS Cloud9 환경에 액세스하거나 환경을 생성할 수 없습니다.액세스 실패: 연합된 사용자가 AWS CodeStar 프로젝트를 만들 수 있지만 프로젝트 리소스를 볼 수는 없습니다.서비스 역할 문제: 서비스 역할을 만들 수 없습니다.서비스 역할 문제: 서비스 역할이 유효하지 않거나 없습니다.프로젝트 역할 문제: AWS CodeStar 프로젝트의 인스턴스에서 AWS Elastic Beanstalk 정상 상태 확인이 실패합니다.프로젝트 역할 문제: 프로젝트 역할이 유효하지 않거나 없습니다.프로젝트 확장명: JIRA에 연결할 수 없습니다.GitHub: 리포지토리의 커밋 기록, 문제 또는 코드에 액세스할 수 없습니다.AWS CloudFormation: 누락된 권한 때문에 스택 생성이 취소됨AWS CloudFormation가 Lambda 실행 역할에서 iam:PassRole을 수행하도록 인증되지 않았습니다.GitHub 리포지토리에 대한 연결을 생성할 수 없음

2024년 7월 31일부터 AWS(Amazon Web Services)는 AWS CodeStar 프로젝트 생성 및 보기에 대한 지원을 중단합니다. 2024년 7월 31일 후에는 더 이상 AWS CodeStar 콘솔에 액세스하거나 새 프로젝트를 만들 수 없습니다. 하지만 소스 리포지토리, 파이프라인, 빌드를 포함하여 AWS CodeStar에서 생성한 AWS 리소스는 이번 변경의 영향을 받지 않고 계속 작동합니다. AWS CodeStar 이번 중단으로 인해 연결 및 AWS CodeStar 알림에는 영향을 미치지 않습니다.

 

작업을 추적하고, 코드를 개발하고, 애플리케이션을 빌드, 테스트 및 배포하려는 경우 Amazon CodeCatalyst는 간소화된 시작 프로세스와 소프트웨어 프로젝트를 관리할 수 있는 추가 기능을 제공합니다. Amazon CodeCatalyst의 기능요금에 대해 자세히 알아보십시오.

AWS CodeStar 문제 해결

다음은 AWS CodeStar에서 일반적으로 발생하는 문제를 해결하는 데 유용한 정보입니다.

주제

프로젝트 만들기 실패: 프로젝트가 만들어지지 않음

문제: 프로젝트를 만들려고 하면 만들기에 실패했다는 메시지가 나타납니다.

수정 방법: 가장 일반적인 실패 이유는 다음과 같습니다.

  • 해당 ID를 사용하는 프로젝트가 아마도 다른 AWS 리전의 AWS 계정에 이미 있습니다.

  • AWS Management Console에 로그인하는 데 사용한 IAM 사용자에게 프로젝트를 만드는 데 필요한 권한이 없습니다.

  • AWS CodeStar 서비스 역할에 하나 이상의 필요한 권한이 없습니다.

  • 프로젝트의 하나 이상의 리소스에 대한 최대 한도에 도달했습니다(예: IAM의 고객 관리형 정책, Amazon S3 버킷 또는 CodePipeline의 파이프라인에 대한 한도).

프로젝트를 만들기 전에 AWSCodeStarFullAccess 정책이 IAM 사용자에게 적용되었는지 확인하십시오. 자세한 내용은 AWSCodeStarFullAccess 정책 섹션을 참조하세요.

프로젝트를 만들 때 ID가 고유하고 AWS CodeStar 요구 사항을 충족해야 합니다. AWS CodeStar would like permission to administer AWS resources on your behalf 확인란을 선택된 상태로 둡니다.

다른 문제를 해결하려면 AWS CloudFormation 콘솔을 열고, 만들려고 한 프로젝트의 스택을 선택한 다음, 이벤트 탭을 선택합니다. 프로젝트 하나에 두 개 이상의 스택이 있을 수 있습니다. 스택 이름은 awscodestar-로 시작하고 뒤에 프로젝트 ID가 옵니다. 스택이 [Deleted] 필터 보기 아래에 있을 수 있습니다. 스택 이벤트의 모든 실패 메시지를 검토하고 그러한 실패의 원인으로 나열된 문제를 해결합니다.

프로젝트 만들기: 프로젝트를 만들 때 Amazon EC2 구성을 편집하려고 하면 오류가 나타납니다.

문제: 프로젝트를 만드는 중에 Amazon EC2 구성 옵션을 편집하면, 오류 메시지 또는 회색으로 표시된 옵션이 나타나 프로젝트 만들기를 계속할 수 없습니다.

수정 방법: 오류 메시지가 나타나는 가장 일반적인 이유는 다음과 같습니다.

  • AWS CodeStar 프로젝트 템플릿의 VPC(기본 VPC 또는 Amazon EC2 구성을 편집할 때 사용한 VPC)에 전용 인스턴스 테넌시가 있고, 인스턴스 유형이 전용 인스턴스를 지원하지 않습니다. 다른 인스턴스 유형 또는 다른 Amazon VPC를 선택합니다.

  • AWS 계정에 Amazon VPC가 없습니다. 기본 VPC를 삭제한 후 다른 VPC를 생성하지 않았을 수 있습니다. https://console.aws.amazon.com/vpc/ 에서 Amazon VPC 콘솔을 열고 내 VPC를 선택한 다음 하나 이상의 VPC가 구성되어 있는지 확인합니다. 없는 경우 하나를 만듭니다. 자세한 내용은 Amazon Virtual Private Cloud 시작 안내서Amazon VPC 개요 단원을 참조하세요.

  • Amazon VPC에 서브넷이 없습니다. 다른 VPC를 선택하거나 VPC에 대한 서브넷을 생성합니다. 자세한 내용은 VPC 및 서브넷 기본 사항을 참조하십시오.

프로젝트 삭제: AWS CodeStar 프로젝트를 삭제했으나 리소스가 여전히 있습니다.

문제: AWS CodeStar 프로젝트를 삭제했으나 해당 프로젝트에 대해 만든 리소스가 여전히 있습니다. 기본적으로 AWS CodeStar는 프로젝트가 삭제될 때 프로젝트 리소스를 삭제합니다. Amazon S3 버킷과 같은 일부 리소스는 사용자가 리소스 삭제 확인란을 선택하더라도 버킷에 데이터가 포함되어 있을 수 있으므로 보존됩니다.

수정 방법: AWS CloudFormation 콘솔을 열고 프로젝트를 만드는 데 사용된 하나 이상의 AWS CloudFormation 스택을 찾습니다. 스택 이름은 awscodestar-로 시작하고 뒤에 프로젝트 ID가 옵니다. 스택이 [Deleted] 필터 보기 아래에 있을 수 있습니다. 스택과 관련된 이벤트를 검토하여 해당 프로젝트에 대해 만든 리소스를 찾습니다. AWS CodeStar 프로젝트를 생성한 AWS 리전에서 각 리소스에 대한 콘솔을 연 다음, 리소스를 수동으로 삭제합니다.

남아 있을 수 있는 프로젝트 리소스는 다음과 같습니다.

프로젝트가 GitHub 리포지토리 또는 Atlassian JIRA의 문제 같은 AWS 외부의 리소스를 사용하는 경우, 해당 리소스는 연결된 AWS 리소스를 Codestar 프로젝트와 함께 삭제합니다 확인란을 선택하더라도 삭제되지 않습니다.

팀 관리 실패: AWS CodeStar 프로젝트의 팀에 IAM 사용자를 추가할 수 없습니다.

문제: 프로젝트에 사용자를 추가하려고 하면 추가에 실패했다는 오류 메시지가 나타납니다.

수정 방법: 이 오류가 발생하는 가장 일반적인 이유는 해당 사용자가 IAM의 사용자에게 적용할 수 있는 관리형 정책의 한도에 도달했기 때문입니다. 해당 사용자를 추가하려 했던 AWS CodeStar 프로젝트에 소유자 역할이 없거나, 해당 IAM 사용자가 존재하지 않거나 삭제되었을 경우에도 이 오류를 수신할 수 있습니다.

해당 AWS CodeStar 프로젝트의 소유자인 사용자로 로그인해야 합니다. 자세한 내용은 AWS CodeStar 프로젝트에 팀원 추가 섹션을 참조하세요.

다른 문제를 해결하려면 IAM 콘솔을 열고, 추가하려 한 사용자를 선택한 다음, 해당 IAM 사용자에게 적용되는 관리형 정책의 수를 확인합니다.

자세한 내용은 IAM 개체 및 객체에 대한 제한을 참조하십시오. 변경할 수 있는 제한은 AWS 서비스 제한을 참조하십시오.

액세스 실패: 연합된 사용자가 AWS CodeStar 프로젝트에 액세스할 수 없습니다.

문제: 연합된 사용자가 AWS CodeStar 콘솔의 프로젝트를 볼 수 없습니다.

수정 방법: 연합된 사용자로 로그인했다면, 위임 받는 역할에 적절한 관리형 정책이 연결돼 있는지 확인하십시오. 자세한 내용은 프로젝트의 AWS CodeStar 최종 사용자/기고자/소유자 관리형 정책을 연합된 사용자의 역할에 연결 섹션을 참조하세요.

정책을 집적 연결해 연합된 사용자를 AWS Cloud9 환경에 추가하십시오. AWS Cloud9 관리형 정책을 연합된 사용자의 역할에 연결를 참조하세요.

액세스 실패: 연합된 사용자가 AWS Cloud9 환경에 액세스하거나 환경을 생성할 수 없습니다.

문제: 연합된 사용자가 AWS Cloud9 콘솔의 AWS Cloud9 환경을 보거나 생성할 수 없습니다.

수정 방법: 연합된 사용자로 로그인했다면, 연합된 사용자의 역할에 적절한 관리형 정책이 연결돼 있는지 확인하십시오.

정책을 연합된 사용자의 역할에 직접 연결해 연합된 사용자를 AWS Cloud9 환경에 추가합니다. AWS Cloud9 관리형 정책을 연합된 사용자의 역할에 연결를 참조하세요.

액세스 실패: 연합된 사용자가 AWS CodeStar 프로젝트를 만들 수 있지만 프로젝트 리소스를 볼 수는 없습니다.

문제: 연합된 사용자가 프로젝트를 생성할 수 있지만, 프로젝트 파이프라인 같은 프로젝트 리소스를 볼 수는 없습니다.

수정 방법: AWSCodeStarFullAccess 관리형 정책을 연결했다면, AWS CodeStar에서 프로젝트를 생성할 권한을 얻게 됩니다. 하지만 모든 프로젝트 리소스에 액세스하려면 소유자 관리형 정책을 연결해야 합니다.

AWS CodeStar가 프로젝트 리소스를 생성하면, 모든 프로젝트 리소스에 대한 프로젝트 권한을 소유자, 기고자, 최종 사용자 관리형 정책에서 사용할 수 있습니다. 모든 리소스에 액세스하려면, 소유자 정책을 역할을 직접 연결해야 합니다. 3단계: 사용자의 IAM 권한 구성를 참조하세요.

서비스 역할 문제: 서비스 역할을 만들 수 없습니다.

문제: AWS CodeStar에서 프로젝트를 만들려고 하면 서비스 역할을 만들어야 한다는 메시지가 나타납니다. 프로젝트를 만드는 옵션을 선택하면 오류가 나타납니다.

수정 방법: 이 오류가 발생하는 가장 일반적인 이유는 서비스 역할을 만들 권한이 없는 계정으로 AWS에 로그인했기 때문입니다. AWS CodeStar 서비스 역할(aws-codestar-service-role)을 만들려면 관리 사용자 또는 루트 계정으로 로그인해야 합니다. 콘솔에서 로그아웃한 후, 적용되는 AdministratorAccess 관리형 정책이 있는 IAM 사용자로 다시 로그인합니다.

서비스 역할 문제: 서비스 역할이 유효하지 않거나 없습니다.

문제: AWS CodeStar 콘솔을 열면 AWS CodeStar 서비스 역할이 없거나 유효하지 않다는 메시지가 나타납니다.

수정 방법: 이 오류가 발생하는 가장 일반적인 이유는 관리 사용자가 서비스 역할(aws-codestar-service-role)을 편집했거나 삭제했기 때문입니다. 서비스 역할이 삭제된 경우 이를 만들라는 메시지가 나타납니다. 역할을 만들려면 관리 사용자 또는 루트 계정으로 로그인해야 합니다. 역할이 편집된 경우 더 이상 유효하지 않습니다. 관리 사용자로 IAM 콘솔에 로그인하고, 역할 목록에서 해당 서비스 역할을 찾은 후, 이를 삭제합니다. AWS CodeStar 콘솔로 전환하고 지침에 따라 서비스 역할을 만듭니다.

프로젝트 역할 문제: AWS CodeStar 프로젝트의 인스턴스에서 AWS Elastic Beanstalk 정상 상태 확인이 실패합니다.

문제: 2017년 9월 22일 이전에 Elastic Beanstalk를 포함하는 AWS CodeStar 프로젝트를 만들었다면, Elastic Beanstalk 정상 상태 확인이 실패할 수 있습니다. 프로젝트 생성 후 Elastic Beanstalk 구성을 한 번도 변경하지 않았다면, 정상 상태 확인이 실패하고 회색 상태가 보고됩니다. 정상 상태 확인이 실패하더라도, 애플리케이션은 정상적으로 실행됩니다. 프로젝트 생성 후 Elastic Beanstalk 구성을 한 번도 변경하지 않았다면, 정상 상태 확인이 실패하고 애플리케이션이 올바르게 작동하지 않을 수 있습니다.

수정 방법: 하나 이상의 IAM 역할에 필수 IAM 정책 설명이 누락되어 있습니다. 누락된 정책을 AWS 계정의 영향받는 역할에 추가하십시오.

  1. AWS Management Console에 로그인하고 https://console.aws.amazon.com/iam/에서 IAM 콘솔을 엽니다.

    (이 작업을 할 수 없다면, AWS 계정 관리자에게 지원을 요청하십시오.)

  2. 탐색 창에서 역할을 선택합니다.

  3. 역할 목록에서 CodeStarWorker-Project-ID-EB를 선택합니다. 여기서 Project-ID는 영향받는 프로젝트의 ID입니다. (목록에서 역할을 쉽게 찾을 수 없다면, 검색 상자에 역할 이름 일부 또는 전부를 입력하십시오.)

  4. 권한 탭에서 정책 연결을 선택합니다.

  5. 정책 목록에서 AWSElasticBeanstalkEnhancedHealthAWSElasticBeanstalkService를 선택합니다. (목록에서 정책을 쉽게 찾을 수 없다면, 검색 상자에 정책 이름 일부 또는 전부를 입력하십시오.)

  6. 정책 연결을 선택하세요.

  7. 이름이 CodeStarWorker-Project-ID-EB 형식으로 구성된 각각의 영향받는 역할에 대해 3~6단계를 반복합니다.

프로젝트 역할 문제: 프로젝트 역할이 유효하지 않거나 없습니다.

문제: 프로젝트에 사용자를 추가하려고 하면 프로젝트 역할에 대한 정책이 없거나 유효하지 않아 추가에 실패했다는 오류 메시지가 나타납니다.

수정 방법: 이 오류가 발생하는 가장 일반적인 이유는 IAM에서 하나 이상의 프로젝트 정책이 편집되었거나 삭제되었기 때문입니다. 프로젝트 정책은 AWS CodeStar 프로젝트마다 고유하므로 다시 생성할 수 없습니다. 이 프로젝트는 사용할 수 없습니다. AWS CodeStar에서 프로젝트를 만든 다음, 이 새 프로젝트로 데이터를 마이그레이션합니다. 사용할 수 없는 프로젝트의 리포지토리에서 프로젝트 코드를 복제한 다음, 새 프로젝트의 리포지토리로 이 코드를 푸시합니다. 이전 프로젝트의 팀 wiki 정보를 새 프로젝트에 복사합니다. 새 프로젝트에 사용자를 추가합니다. 데이터와 설정을 모두 마이그레이션했으면 사용할 수 없는 프로젝트를 삭제합니다.

프로젝트 확장명: JIRA에 연결할 수 없습니다.

문제: Atlassian JIRA 확장명을 사용하여 AWS CodeStar 프로젝트를 JIRA 인스턴스에 연결하려고 하면, "URL이 유효한 JIRA URL이 아닙니다. URL이 올바른지 확인하십시오."라는 메시지가 나타납니다.

수정 방법:

  • JIRA URL이 올바른지 확인한 후 다시 연결을 시도합니다.

  • 퍼블릭 인터넷에서 자체 호스팅된 JIRA 인스턴스에 액세스할 수 없습니다. 네트워크 관리자에게 문의하여 퍼블릭 인터넷에서 JIRA 인스턴스에 액세스할 수 있는지 확인한 후 다시 연결을 시도합니다.

GitHub: 리포지토리의 커밋 기록, 문제 또는 코드에 액세스할 수 없습니다.

문제: GitHub에 코드를 저장하는 프로젝트의 대시보드에서 커밋 이력GitHub 문제 타일이 연결 오류를 표시하거나, 이 타일의 GitHub에서 열기 또는 문제 생성이 오류를 표시합니다.

가능한 원인:

  • AWS CodeStar 프로젝트는 더 이상 GitHub 리포지토리에 액세스할 수 없습니다.

  • GitHub에서 리포지토리가 삭제되거나 이름이 변경되었을 수 있습니다.

AWS CloudFormation: 누락된 권한 때문에 스택 생성이 취소됨

리소스를 template.yml 파일에 추가하고 나면, AWS CloudFormation 스택 업데이트를 확인해 오류 메시지가 없는지 확인하십시오. 특정 기준이 충족되지 않으면(예: 필수 리소스 권한이 누락됨) 스택 업데이트가 실패합니다.

참고

2019년 5월 2일 기준, 기존의 모든 프로젝트에 대하여 AWS CloudFormation 작업자 역할 정책을 업데이트했습니다. 이로써 사용자의 프로젝트 보안 강화를 위해 프로젝트 파이프라인에 부여된 액세스 권한 범위가 줄어듭니다.

문제를 해결하려면, AWS CodeStar 대시보드 보기에서 프로젝트 파이프라인의 실패 상태를 확인해 보십시오.

다음에는 파이프라인의 배포 단계에서 CloudFormation 링크를 선택해 AWS CloudFormation 콘솔의 결함을 해결하십시오. 스택 생성 세부 정보를 보려면, 프로젝트의 이벤트 목록을 확장해 오류 메시지를 확인하십시오. 메시지는 어떤 권한이 누락되었는지를 표시합니다. AWS CloudFormation 작업자 역할 정책을 수정하고 파이프라인을 다시 실행합니다.

AWS CloudFormation가 Lambda 실행 역할에서 iam:PassRole을 수행하도록 인증되지 않았습니다.

프로젝트가 Lambda 함수를 만든 2018년 12월 6일(PDT) 이전에 생성된 경우, 이와 같이 AWS CloudFormation 오류를 확인할 수 있습니다.

User: arn:aws:sts::id:assumed-role/CodeStarWorker-project-id-CloudFormation/AWSCloudFormation is not authorized to perform: iam:PassRole on resource: arn:aws:iam::id:role/CodeStarWorker-project-id-Lambda (Service: AWSLambdaInternal; Status Code: 403; Error Code: AccessDeniedException; Request ID: id)

이 오류는 AWS CloudFormation 작업자 역할에게 새 Lambda 함수의 프로비저닝을 위해 역할을 전달할 수 있는 권한이 없을 때 나타납니다.

이 오류를 해결하기 위해 다음의 코드 조각으로 AWS CloudFormation 작업자 역할 정책을 업데이트할 필요가 있습니다.

{ "Action":[ "iam:PassRole" ], "Resource": [ "arn:aws:iam::account-id:role/CodeStarWorker-project-id-Lambda", ], "Effect": "Allow" }

정책을 업데이트한 후 파이프라인을 다시 실행합니다.

또는 기존 프로젝트에 IAM 권한 경계 추가에 설명된 대로 프로젝트에 권한 경계를 추가하여 Lambda 함수에 대한 사용자 지정 역할을 사용할 수 있습니다.

GitHub 리포지토리에 대한 연결을 생성할 수 없음

문제:

GitHub 리포지토리에 대한 연결에는 AWS Connector for GitHub가 사용되므로, 연결을 생성하려면 리포지토리에 대한 조직 소유자 권한 또는 관리자 권한이 필요합니다.

가능한 해결 방법: GitHub 리포지토리의 권한 수준에 대한 자세한 내용은 https://docs.github.com/en/free-pro-team@latest/github/setting-up-and-managing-organizations-and-teams/permission-levels-for-an-organization 섹션을 참조하세요.