AWS CodeStar 프로젝트 템플릿 - 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 프로젝트 템플릿

AWS CodeStar 프로젝트 템플릿을 이용하면 배포 프로젝트 지원을 위해 개발된 AWS 리소스를 이용해 샘플 애플리케이션을 시작하고 배포할 수 있습니다. AWS CodeStar 프로젝트 템플릿을 선택하면 애플리케이션 유형, 프로그래밍 언어, 컴퓨팅 플랫폼이 제공됩니다. 웹 애플리케이션, 웹 서비스, Alexa Skills, 정적 웹 페이지를 이용해 프로젝트를 만들고 나면, 샘플 애플리케이션을 자신의 애플리케이션으로 교체할 수 있습니다.

AWS CodeStar가 프로젝트를 생성하면, 애플리케이션 전달을 지원하는 AWS 리소스를 수정할 수 있습니다. AWS CodeStar는 AWS CloudFormation와 함께 작동해 사용자가 코드를 이용해 서비스와 클라우드의 서버/서버리스 플랫폼을 지원할 수 있게 합니다. AWS CloudFormation을 이용하면 전체 인프라를 텍스트 파일에 모델링할 수 있습니다.

AWS CodeStar 프로젝트 파일 및 리소스

AWS CodeStar 프로젝트는 소스 코드와 코드 배포를 위해 생성한 리소스의 결합입니다. 코드 빌드, 릴리스, 배포에 도움이 되는 리소스 모음을 도구 체인 리소스라고 합니다. 프로젝트 생성 시 AWS CloudFormation 템플릿은 지속적인 통합/지속적인 배포(CI/CD) 파이프라인에 도구 체인 리소스를 공급합니다.

AWS 리소스 생성 경험 수준에 따라 두 가지 방식으로 AWS CodeStar를 이용해 프로젝트를 만들 수 있습니다.

  • 콘솔을 이용해 프로젝트를 만들면, AWS CodeStar는 리포지토리를 포함한 도구 체인 리소스를 만들고 샘플 애플리케이션 코드와 프로젝트 파일로 리포지토리를 채웁니다. 콘솔을 이용해 사전 구성된 프로젝트 옵션을 바탕으로 샘플 프로젝트를 빠르게 설정하십시오.

  • CLI를 사용하여 프로젝트를 생성하면, 도구 체인 리소스를 생성하는 AWS CloudFormation 템플릿 및 애플리케이션 소스 코드를 제공하게 됩니다. CLI를 이용해 AWS CodeStar가 템플릿을 바탕으로 프로젝트를 만든 다음 리포지토리를 샘플 코드로 채우게 하십시오.

AWS CodeStar 프로젝트는 관리를 위한 단일 창구를 제공합니다. 콘솔에서 프로젝트 만들기 마법사를 이용해 샘플 프로젝트를 설정할 수 있습니다. 그런 다음 해당 프로젝트를 팀이 권한과 리소스를 관리하는 협업 플랫폼으로 사용하십시오. 자세한 내용은 AWS CodeStar이란 무엇입니까? 섹션을 참조하세요. 콘솔을 이용해 프로젝트를 만들면, 소스 코드는 샘플 코드로 제공되며, CI/CD 도구 체인 리소스가 사용자를 위해 생성됩니다.

콘솔에서 프로젝트를 만들면, AWS CodeStar는 다음 리소스를 제공합니다.

  • GitHub 또는 CodeCommit의 코드 리포지토리

  • 파일과 디렉터리의 세부 정보를 제공하는, 프로젝트 리포지토리의 README.md 파일

  • 애플리케이션의 실행 시간 스택에 대한 정의를 보관하는, 프로젝트 리포지토리의 template.yml 파일 이 파일을 이용해 도구 체인 리소스가 아닌 프로젝트 리소스(예: 알림, 데이터베이스 지원, 모니터링, 추적에 활용되는 AWS 리소스)를 추가 또는 수정할 수 있습니다.

  • Amazon S3 아티팩트 버킷, Amazon CloudWatch Events 및 관련 서비스 역할 같은 파이프라인과 관련해 생성된 AWS 서비스 및 리소스

  • 전체 소스 코드와 퍼블릭 HTTP 엔드포인트가 있는 작동하는 샘플 애플리케이션

  • AWS CodeStar 프로젝트 템플릿 유형을 바탕으로 한 AWS 컴퓨팅 리소스:

    • Lambda 함수

    • Amazon EC2 인스턴스

    • AWS Elastic Beanstalk 환경

  • 2018년 12월 6일(PDT) 부터:

    • 권한 경계 - 프로젝트 리소스에 대한 액세스를 제어하기 위한 특수 IAM 정책 권한 경계는 샘플 프로젝트의 역할에 기본적으로 연결되어 있습니다. 자세한 내용은 작업자 역할의 IAM 권한 경계를 참조하십시오.

    • AWS CloudFormation을 사용하여 프로젝트 리소스를 생성하기 위한 AWS CloudFormation IAM 역할(IAM 역할을 포함하여 지원되는 모든 AWS CloudFormation 리소스에 대한 권한 포함)

    • 도구 체인 IAM 역할

    • 애플리케이션 스택에 정의된 Lambda의 실행 역할(수정 가능)

  • 2018년 12월 6일(PDT) 이전:

    • 제한된 AWS CloudFormation 리소스 세트를 지원하는 프로젝트 리소스를 생성하기 위한 AWS CloudFormation IAM 역할

    • CodePipeline 리소스를 생성하기 위한 IAM 역할

    • CodeBuild 리소스를 생성하기 위한 IAM 역할

    • CodeDeploy 리소스를 생성하기 위한 IAM 역할(프로젝트 유형에 해당하는 경우)

    • Amazon EC2 웹 앱을 생성하기 위한 IAM 역할(프로젝트 유형에 해당하는 경우)

    • CloudWatch Events 리소스를 생성하기 위한 IAM 역할.

    • 일부 리소스 세트를 포함하도록 동적으로 수정된 Lambda의 실행 역할

또한 프로젝트는 상태, 팀 관리 링크, IDE 또는 리포지토리 설정 지침 링크, 리포지토리의 소스 코드 변경 커밋 이력을 표시하는 세부정보 페이지도 제공합니다. Jira 같은 외부 문제 추적 도구를 연결하는 도구도 선택할 수 있습니다.

시작하기: 프로젝트 템플릿 선택

콘솔에서 AWS CodeStar 프로젝트를 선택하면, 빠른 시작을 위해 샘플 코드 및 리소스로 사전 구성된 다양한 옵션을 선택할 수 있습니다. 이러한 옵션을 프로젝트 템플릿이라고 합니다. 각각의 AWS CodeStar 프로젝트 템플릿은 프로그래밍 언어, 애플리케이션 유형, 컴퓨팅 플랫폼으로 구성됩니다. 선택한 조합에 따라 프로젝트 템플릿이 결정됩니다.

템플릿 컴퓨팅 플랫폼을 선택합니다.

각 템플릿은 다음 컴퓨팅 플랫폼 유형 중 하나를 구성합니다.

  • AWS Elastic Beanstalk 프로젝트를 선택하면 AWS Elastic Beanstalk 환경을 클라우드의 Amazon Elastic Compute Cloud 인스턴스에 배포하게 됩니다.

  • Amazon EC2 프로젝트를 선택하면 AWS CodeStar는 클라우드의 애플리케이션을 호스팅할 Linux EC2 인스턴스를 생성합니다. 프로젝트 팀원은 인스턴스에 액세스할 수 있고, 팀은 사용자가 SSH에 입력한 키 페어를 이용해 Amazon EC2 인스턴스에 들어갑니다. AWS CodeStar는 팀원 권한을 이용해 키 페어 연결을 관리하는 관리형 SSH도 이용합니다.

  • AWS Lambda를 선택하면, AWS CodeStar는 인스턴스나 서버를 유지하지 않아도 되는, Amazon API Gateway를 통해 액세스하는 서버리스 환경을 생성합니다.

Template Application Type(템플릿 애플리케이션 유형)을 선택합니다.

각 템플릿은 다음 애플리케이션 유형 중 하나를 구성합니다.

  • 웹 서비스

    웹 서비스는 API 직접 호출처럼 배경에서 실행하는 작업에 사용합니다. AWS CodeStar가 샘플 웹 서비스 프로젝트를 생성하면, 엔드포인트 URL을 선택해 Hello World 출력을 볼 수 있지만, 이 애플리케이션 유형의 주된 용도는 사용자 인터페이스(UI)가 아닙니다. 이 범주의 AWS CodeStar 프로젝트 템플릿은 Ruby, Java, ASP.NET, PHP, Node.js 등을 사용한 개발을 지원합니다.

  • 웹 애플리케이션

    웹 애플리케이션은 UI를 제공합니다. AWS CodeStar가 샘플 웹 애플리케이션 프로젝트를 만들면, 사용자는 엔드포인트 URL을 선택해 대화형 웹 애플리케이션을 볼 수 있습니다. 이 범주의 AWS CodeStar 프로젝트 템플릿은 Ruby, Java, ASP.NET, PHP, Node.js 등을 사용한 개발을 지원합니다.

  • 정적 웹 페이지

    HTML 웹 사이트용 프로젝트를 원한다면 이 템플릿을 선택하십시오. 이 범주의 AWS CodeStar 프로젝트 템플릿은 HTML5를 사용한 개발을 지원합니다.

  • Alexa 스킬

    AWS Lambda 함수를 포함한 Alexa 스킬 프로젝트를 원하는 경우 이 템플릿을 선택합니다. 스킬 프로젝트를 생성할 때 AWS CodeStar는 서비스 엔드포인트로 사용할 수 있는 Amazon 리소스 이름(ARN)을 반환합니다. 자세한 내용은 Lambda 함수로 사용자 지정 스킬 호스팅 항목을 참조하십시오.

    참고

    Alexa 스킬에 대한 Lambda 함수는 미국 동부(버지니아 북부), 미국 서부(오레곤), EU(아일랜드) 및 아시아 태평양(도쿄) 리전에서만 지원됩니다.

  • Config 규칙

    계정의 AWS 리소스에 대한 규칙을 자동화할 수 있는 AWS Config 규칙용 프로젝트를 원한다면 이 템플릿을 선택하십시오. 이 기능은 규칙용 서비스 엔드포인트로 사용할 수 있는 ARN을 반환합니다.

템플릿 프로그래밍 언어 선택

프로젝트 템플릿을 선택할 때는 Ruby, Java, ASP.NET, PHP, Node.js 등의 프로그래밍 언어를 선택해야 합니다.

AWS CodeStar 프로젝트에 변경 사항을 적용하는 방법

다음을 수정하면 프로젝트를 업데이트할 수 있습니다.

  • 애플리케이션을 위한 샘플 코드 및 프로그래밍 언어 리소스

  • 애플리케이션이 저장되고 배포된 인프라(운영 체제, 지원 애플리케이션 및 서비스, 배포 파라미터, 클라우드 컴퓨팅 플랫폼)를 구성하는 리소스 template.yml 파일에 있는 애플리케이션 리소스를 수정할 수 있습니다. 이것은 애플리케이션의 실행 시간 환경을 모델링하는 AWS CloudFormation 파일입니다.

참고

Alexa 스킬 AWS CodeStar 프로젝트로 작업하는 경우 AWS CodeStar 소스 리포지토리(CodeCommit 또는 GitHub) 외부에서 스킬을 변경할 수 없습니다. Alexa 개발자 포털에서 스킬을 편집하면 변경 사항이 소스 리포지토리에 표시되지 않을 수도 있고 두 버전이 동기화되지 않을 수 있습니다.

애플리케이션 소스 코드 및 푸시 변경 사항 변경

샘플 소스 코드, 스크립트 및 기타 애플리케이션 소스 파일을 수정하려면, 다음 방법으로 소스 리포지토리에 있는 파일을 편집하십시오.

  • CodeCommit 또는 GitHub의 편집 모드 사용

  • AWS Cloud9 같은 IDE에서 프로젝트 열기

  • 리포지토리를 로컬로 복제한 다음 변경사항을 커밋하고 푸시 자세한 내용은 4단계: 변경 커밋을 참조하세요.

Template.yml 파일로 애플리케이션 리소스 변경

인프라 리소스를 직접 수정하는 대신, AWS CloudFormation을 사용해 애플리케이션의 실행 시간 리소스를 모델링하고 배포합니다.

프로젝트 리포지토리에 있는 template.yml 파일을 편집하면 실행 시간 스택에 있는 Lambda 함수 같은 애플리케이션 리소스를 수정 또는 추가할 수 있습니다. AWS CloudFormation 리소스로 사용할 수 있는 리소스는 모두 추가할 수 있습니다.

AWS Lambda 함수의 코드나 설정을 변경하는 방법은 프로젝트에 리소스 추가 단원을 참조하십시오.

프로젝트의 리포지토리에 있는 template.yml 파일을 수정해 애플리케이션 리소스인 AWS CloudFormation 리소스 유형을 추가하십시오. 애플리케이션 리소스를 template.yml 파일의 Resources 섹션에 추가하면, AWS CloudFormation 및 AWS CodeStar가 사용자를 위한 리소스를 생성합니다. AWS CloudFormation 리소스 및 필수 속성 목록은 AWS 리소스 유형 참조에서 확인할 수 있습니다. 자세한 내용은 1단계: IAM의 CloudFormation 작업자 역할 편집에 있는 이 예제를 참조하십시오.

AWS CodeStar를 이용하면 사용자는 애플리케이션의 실행 시간 환경을 구성하고 모델링해 모범 사례를 구현할 수 있습니다.

애플리케이션 리소스 변경을 위해 권한을 관리하는 방법

AWS CloudFormation을 이용해 Lambda 함수 같은 실행 시간 애플리케이션 리소스를 추가하면, AWS CloudFormation 작업자 역할은 자신이 보유 중인 권한을 사용할 수 있습니다. 일부 실행 시간 애플리케이션 리소스의 경우, template.yml 파일을 편집하려면 AWS CloudFormation 작업자 역할의 권한을 직접 조정해야 합니다.

AWS CloudFormation 작업자 역할의 권한을 변경하는 예제는 5단계: 인라인 정책이 있는 리소스 권한 추가에서 확인할 수 있습니다.