프로젝트에 리소스 추가 - AWS CodeStar

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

 

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

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

프로젝트에 리소스 추가

모든 프로젝트의 각 AWS CodeStar 템플릿은 데이터베이스 테이블 및 Lambda 함수 같은 애플리케이션의 AWS 실행 시간 종속성을 보여주는 AWS CloudFormation 파일과 함께 제공됩니다. 이는 /template.yml 파일의 소스 리포지토리에 저장됩니다.

참고

다음 프로젝트 지원 변경으로 생성된 다음 프로젝트에 이러한 단계를 사용할 수 있습니다.

  • 모든 Lambda 프로젝트

  • 2018년 8월 3일 이후에 만든 Amazon EC2 또는 Elastic Beanstalk 프로젝트의 경우, AWS CodeStar는 프로젝트 리포지토리에 /template.yml 파일을 프로비저닝했습니다.

AWS CloudFormation 리소스를 Resources 섹션에 추가하면 이 파일을 수정할 수 있습니다. template.yml 파일을 수정하면 AWS CodeStar와 AWS CloudFormation이 새 리소스를 프로젝트에 추가할 수 있습니다. 리소스에 따라 프로젝트의 CloudFormation 작업자 역할을 위해 다른 권한을 정책에 추가해야 할 수도 있습니다. 템플릿 요소와 형식에 대한 정보는 AWS 리소스 유형 참조를 참조하세요.

프로젝트에 추가할 리소스를 결정하면, 이러한 상위 단계를 밟아 템플릿을 사용자 지정하십시오. AWS CloudFormation 리소스 및 필수 속성 목록은 AWS 리소스 유형 참조에서 확인할 수 있습니다.

이 섹션의 단계를 이용해 AWS CodeStar 프로젝트 템플릿을 수정하여 리소스를 추가한 다음 프로젝트의 IAM 내 CloudFormation 작업자 역할 권한을 확장하십시오. 이 예제에서는 AWS::SQS::Queue 리소스를 template.yml 파일에 추가했습니다. 변경사항은 Amazon Simple Queue Service 대기열을 프로젝트에 추가하는 자동 응답을 AWS CloudFormation에서 시작합니다.

1단계: IAM의 CloudFormation 작업자 역할 편집

1단계와 5단계를 수행하려면 관리자로 로그인해야 합니다.

참고

프로젝트가 권한 경계 정책으로 프로비저닝된 경우 이 단계를 건너뛸 수 있습니다.

2018년 12월 6일(PDT) 이후에 만든 프로젝트의 경우, AWS CodeStar는 프로젝트를 권한 경계 정책으로 프로비저닝했습니다.

  1. AWS Management Console에 로그인하고 https://console.aws.amazon.com/codestar/에서 AWS CodeStar 콘솔을 열 수 있습니다.

  2. 프로젝트를 생성하거나 template.yml file이 있는 기존 프로젝트를 선택한 다음, 프로젝트 리소스 페이지를 엽니다.

  3. 프로젝트 리소스의 리소스 목록에서 CodeStarWorker/AWS CloudFormation 역할에 대해 생성된 IAM 역할을 찾습니다. 역할 이름은 다음 형식을 취합니다. role/CodeStarWorker-Project_name-CloudFormation.

  4. 역할이 IAM 콘솔에서 열립니다. 권한 탭의 Inline Policies(인라인 정책)에서 서비스 역할 정책의 열을 확장하고 정책 편집을 선택합니다.

  5. JSON 탭을 선택해 정책을 편집합니다.

    참고

    작업자 역할에 연결된 정책은 CodeStarWorkerCloudFormationRolePolicy입니다.

  6. JSON 필드의 Statement 요소에 다음 정책 설명을 추가합니다.

    { "Action": [ "sqs:CreateQueue", "sqs:DeleteQueue", "sqs:GetQueueAttributes", "sqs:SetQueueAttributes", "sqs:ListQueues", "sqs:GetQueueUrl" ], "Resource": [ "*" ], "Effect": "Allow" }
  7. 정책 검토를 선택해 정책에 오류가 없는지 확인하고, 변경 사항 저장을 선택합니다.

2단계: template.yml 파일 수정

  1. https://console.aws.amazon.com/codestar/에서 AWS CodeStar 콘솔을 엽니다.

  2. 서버리스 프로젝트를 선택하고 코드 페이지를 엽니다. 리포지토리 최상위에서 template.yml 위치를 기록해 둡니다.

  3. IDE, 콘솔이나 로컬 리포지토리의 명령줄을 이용해 리포지토리의 template.yml 파일을 편집합니다. 리소스를 Resources 섹션으로 붙여넣습니다. 이 예제에서는 다음 텍스트를 복사할 때 Resources 섹션이 추가됩니다.

    Resources: TestQueue: Type: AWS::SQS::Queue

    이 예제는 수정된 템플릿을 보여줍니다.

    AWS CloudFormation template with HelloWorld Lambda function and TestQueue SQS queue.

3단계: 템플릿 변경사항을 커밋 및 푸시

  • 2단계에서 저장한 template.yml 파일의 변경사항을 커밋하고 푸시합니다.

    참고

    이 작업은 파이프라인을 가동합니다. IAM 권한을 업데이트하기 전에 변경사항을 커밋하면, 파이프라인이 가동되며 AWS CloudFormation 스택 업데이트에 오류가 발생하고, 따라서 스택 업데이트가 취소됩니다. 이 문제가 발생하면 권한을 수정하고 파이프라인을 다시 시작하십시오.

4단계: AWS CloudFormation 스택 업데이트 모니터링

  1. 프로젝트의 파이프라인이 배포 단계를 개시하면 AWS CloudFormation 스택 업데이트가 시작됩니다. AWS CodeStar 대시보드에서 파이프라인의 AWS CloudFormation 단계를 선택하면 스택 업데이트를 확인할 수 있습니다.

    문제 해결:

    필수 리소스 권한이 없으면 스택 업데이트가 실패하게 됩니다. AWS CodeStar 대시보드 보기에서 프로젝트 파이프라인의 실패 상태를 확인해 보십시오.

    파이프라인의 배포 단계에서 CloudFormation 링크를 선택해 AWS CloudFormation 콘솔의 결함을 해결하십시오. 콘솔의 이벤트 목록에서 프로젝트를 선택해 스택 생성 세부 정보를 확인하십시오. 실패 세부 정보를 표시하는 메시지가 있습니다. 이 예제에서는 sqs:CreateQueue 권한이 누락되었습니다.

    CloudFormation stack events showing failed updates and resource creation errors.

    프로젝트의 AWS CloudFormation 작업자 역할에 연결된 정책을 편집해 누락된 권한을 추가하십시오. 1단계: IAM의 CloudFormation 작업자 역할 편집 섹션을 참조하세요.

  2. 파이프라인을 성공적으로 실행하면, 리소스는 AWS CloudFormation 스택에서 생성됩니다. AWS CloudFormation의 리소스 목록에서 프로젝트용으로 생성된 리소스를 확인합니다. 이 예제에서 TestQueue 대기열은 리소스 섹션에 나열됩니다.

    대기열 URL은 AWS CloudFormation에서 사용할 수 있습니다. 대기열 URL은 다음 형식을 따릅니다.

    https://{REGION_ENDPOINT}/queue.|api-domain|/{YOUR_ACCOUNT_NUMBER}/{YOUR_QUEUE_NAME}

    자세한 내용은 Amazon SQS 메시지 전송, Amazon SQS 대기열에서 메시지 수신, Amazon SQS 대기열에서 메시지 삭제를 참조하세요.

5단계: 인라인 정책이 있는 리소스 권한 추가

적절한 인라인 정책을 사용자의 역할에 추가해 팀원이 새 리소스에 액세스할 수 있게 합니다. 권한을 추가하지 않아도 되는 리소스도 있습니다. 다음 단계를 시행하려면, 루트 사용자나 계정의 관리자, 또는 AdministratorAccess 관리형 정책 또는 동급의 정책이 있는 IAM 사용자 또는 연합된 사용자로 콘솔에 로그인해야 합니다.

JSON 정책 편집기를 사용하여 정책을 생성하려면
  1. AWS Management Console에 로그인하여 https://console.aws.amazon.com/iam/에서 IAM 콘솔을 엽니다.

  2. 왼쪽의 탐색 창에서 정책을 선택합니다.

    정책을 처음으로 선택하는 경우 관리형 정책 소개 페이지가 나타납니다. 시작을 선택합니다.

  3. 페이지 상단에서 정책 생성을 선택합니다.

  4. 정책 편집기 섹션에서 JSON 옵션을 선택합니다.

  5. 다음 JSON 정책 문서를 입력합니다.

    { "Action": [ "sqs:CreateQueue", "sqs:DeleteQueue", "sqs:GetQueueAttributes", "sqs:SetQueueAttributes", "sqs:ListQueues", "sqs:GetQueueUrl" ], "Resource": [ "*" ], "Effect": "Allow" }
  6. 다음을 선택합니다.

    참고

    언제든지 시각적 편집기 옵션과 JSON 편집기 옵션을 서로 전환할 수 있습니다. 그러나 변경을 적용하거나 시각적 편집기에서 다음을 선택한 경우 IAM은 시각적 편집기에 최적화되도록 정책을 재구성할 수 있습니다. 자세한 내용은 IAM 사용 설명서정책 재구성을 참조하세요.

  7. 검토 및 생성 페이지에서 생성하는 정책에 대한 정책 이름설명(선택 사항)을 입력합니다. 이 정책에 정의된 권한을 검토하여 정책이 부여한 권한을 확인합니다.

  8. 정책 생성을 선택하고 새로운 정책을 저장합니다.