Amazon Web Services 한국 블로그

AWS CodeStar 신규 서비스 – 빠른 애플리케이션 개발, 배포를 위한 통합 관리 서비스

오늘날 대부분 소프트웨어 개발팀이 직면하고 있는 문제가 있습니다. 바로 새로운 프로젝트를 시작할 때 환경 설정, 팀 구성원 권한 작업, 개발 코드 빌드, 구성 및 라이브러리 등을 추적하는 일상적인 작업을 해야 된다는 것입니다. 기업이 빠르게 혁신하고 시장에 빨리 진출해야 하는 상황에서 개발팀이 소프트웨어를 개발, 구축 및 배포하는 작업을 보다 쉽고 효율적으로 수행하는 것은 필수적인 상황입니다.

안타깝게도 많은 기업들은 보다 민첩하고 역동적인 소프트웨어 개발 프로세스를 추구하는 데있어 몇 가지 과제에 직면해 있습니다. 먼저 개발자가 코딩을 시작하기 전에 완료해야 하는 기나긴 설정 과정입니다. 여기에는 IDE 설정, 코드 저장소 접근 권한 및 빌드, 테스트 및 정식 서비스 배포에 필요한 인프라 관리를 포함합니다.공동 작업을 위해 프로젝트의 모든 구성원에게 안전한 환경을 제공하기 위해 팀의 역할과 필요에 따른 별도의 프로젝트와 도구를 자주 설정해야 합니다.

또한, 모든 이해 관계자에게 과제에 대한 진행 사항, 개발 진행 및 소프트웨어 문제 보고에 대한 정보를 제공하는 데에도 많은 시간이 걸립니다.마지막으로, 지속적인 통합(CI)과 지속적인 제공(CD)에 대한 모범 사례를 채택하여 소프트웨어 개발 속도를 높이고 출시 시간을 단축 하고자 합니다. 이러한 민첩한 개발 전략을 구현하려면 개발 방법론에 대해 교육하고, 새로운 프로세스를 위한 리소스를 설정하는 데 시간을 투자해야 합니다.

AWS CodeStar 정식 출시
여러분의 개발팀이 지금까지 언급한 소프트웨어 구축 초기와 진행 중 어려움을 완화하면서, 애플리케이션 출시 속도를 높일 수 있도록 AWS CodeStar를 정식 출시 합니다.

AWS CodeStar는 전체 개발 프로젝트 설정을 단순화하여 AWS에서 애플리케이션을 보다 쉽게 ​​개발, 구축 및 배포 할 수 있도록 설계된 클라우드 서비스입니다. AWS CodeStar에는 소프트웨어 프로젝트 코딩, 빌드, 테스트, 배포 및 실행을 위한 프로젝트 및 리소스를 프로비저닝 할 수 있는 주요 개발 플랫폼의 프로젝트 템플릿이 포함되어 있습니다.

AWS CodeStar 서비스의 주요 이점은 다음과 같습니다.

  • 5 가지 프로그래밍 언어를 사용하여 Amazon EC2, AWS Elastic Beanstalk, AWS Lambda 용 템플릿을 사용하여 새 프로젝트를 쉽게 만들 수 있습니다. 자바 스크립트, 자바, 파이썬, 루비, PHP. 템플릿을 선택하면 서비스가 프로젝트 및 애플리케이션에 필요한 기본 AWS 서비스를 프로비저닝합니다.
  • 개발팀 구성원의 접근 및 보안 정책 관리를 위한 통합적인 IAM 접근 정책을 자동으로 구성하어 안전한 응용 프로그램 개발 환경을 보장합니다.
  • 소스 코드 커밋, 빌드, 배포 활동 등과 같은 다양한 활동을 추적하기 위한 프로젝트 관리 대시 보드를 제공합니다.
  • Visual Studio, Eclipse 또는 Git을 지원하는 코드 에디터와 같은 자주 사용하는 IDE를 사용할 수 있도록 샘플 코드를 제공합니다.
  • AWS CodeCommit, AWS CodeBuild, AWS CodePipeline, AWS CodeDeploy.를 사용하여 각 프로젝트에 대한 지속적인 전달 파이프 라인을 자동으로 구성합니다.
  • AWS CodeStar 콘솔에서 직접 문제 관리 및 추적을 위해 Atlassian JIRA와 통합할 수 있습니다.

AWS CodeStar를 통해 개발팀은 소프트웨어 및 버그 수정을 배포 할 수 있는 속도를 높일 뿐만 아니라 개발자가 고객의 요청 및 요구에 맞는 소프트웨어를 구축 할 수 있는 민첩한 소프트웨어 개발 워크플로우를 구축 할 수 있습니다.

AWS CodeStar를 사용하는 개발 워크 플로의 예는 다음과 같습니다.

AWS CodeStar 시작 하기
이제 AWS CodeStar 서비스를 사용하여 간단한 웹 애플리케이션 프로젝트를 설정하는 방법을 살펴 보겠습니다. 먼저 AWS CodeStar 콘솔로 가서 Start a project 버튼을 클릭합니다.

적절한 IAM 권한을 설정하지 않은 경우 AWS CodeStar는 사용자 대신 AWS 리소스를 관리 할 수있는 권한을 요청하는 대화 상자를 표시합니다. Yes, grant permissions 버튼을 클릭하여 AWS CodeStar에게 다른 AWS 리소스에 대한 적절한 권한을 부여합니다.

그러나, IAM 사용자에게 올바른 정책을 적용하지 않았기 때문에 AWS CodeStar에 대한 관리 권한이 없다는 경고를 받았습니다. AWS CodeStar에서 프로젝트를 만들려면 IAM 사용자에게 AWSCodeStarFullAccess 관리 정책을 적용하거나 모든 AWS 서비스에 대한 전체 권한을 가진 IAM 관리자를 보유해야합니다.

IAM에서 앞서 언급한 권한을 추가 했으므로 이제 서비스를 사용하여 프로젝트를 만들 수 있습니다. 시작하려면 Create a new project 버튼을 클릭하기 만하면 됩니다.

현재 다양한 소프트웨어 개발 요구에 맞는 20 가지가 넘는 AWS CodeStar 프로젝트 템플릿을 이미 제공하고 있습니다. 각 프로젝트 템플릿은 프로젝트 배포에 사용되는 AWS 서비스, 프로그래밍 언어 및 개발 솔루션 유형을 포함합니다. AWS CodeStar는 현재 Amazon EC2, AWS Lambda 및 AWS Elastic Beanstalk과 같은 AWS 서비스를 지원합니다. 미리 구성된 AWS CloudFormation 템플릿을 사용하여, 프로젝트 템플릿을 통해 간단한 버튼 클릭만으로 마이크로 서비스, Alexa 기술, 웹 애플리케이션 등과 같은 소프트웨어 개발 프로젝트를 만들 수 있습니다.

샘플로서 AWS CodeStar 프로젝트에서 Node.js와 AWS Lambda를 사용하여 Node.js/AWS Lambda 프로젝트 템플릿을 사용하여 서버리스(Serverless) 웹 애플리케이션을 만들어 보겠습니다.

이 템플릿에서는 AWS CodePipeline을 비롯하여 AWS CodeBuild, AWS CloudFormation 및 Amazon CloudWatch 등 개발 프로젝트에 필요한 모든 도구와 서비스를 설정합니다. 신규 AWS CodeStar 프로젝트를 TaraWebProject라는 이름을 지정하고 Create Project를 클릭합니다.

처음 만들 때는 AWS CodeStar 사용자 설정을 묻는 대화 상자가 나타납니다. 표시 이름의 텍스트 상자에 Tara를 입력하고 이메일 텍스트 상자에 이메일 주소를 추가합니다. 이 정보는 프로젝트에서 다른 사람들에게 어떻게 보일지 설정하는 것입니다.

다음 단계는 프로젝트 코드 편집 방법을 선택하는 것입니다. Visual Studio IDE를 사용하여 TaraWebProject 프로젝트 코드를 편집하기로 합니다. Visual Studio에서는 프로젝트 코드를 편집하는 동안 AWS Toolkit for Visual Studio 2015를 사용하여 AWS 리소스에 접근하도록 구성해야합니다. 아래 화면에서 AWS CodeStar가 내 프로젝트를 위해 구성한 AWS CodeCommit Git 저장소에 대한 링크도 제공됩니다.

이제 소프트웨어 개발 프로젝트를 위한 프로비저닝 및 도구 설정이 완료되었습니다. TaraWebProject의 AWS CodeStar 대시 보드를 통해 프로젝트 리소스를 관리 할 수 ​​있습니다. 여기에는 코드 커밋, 팀 구성원 및 위키, 지속적인 배포 파이프 라인, Jira 문제 추적, 프로젝트 상태 및 기타 적용 가능한 프로젝트 리소스 관리를 포함합니다.

AWS CodeStar를 통해 서버리스 웹 애플리케이션 개발을 시작할 수 있는 샘플 프로젝트의 결과를 보려면 대시 보드의 Application endpoints으로 이동하여 제공된 링크를 클릭합니다.

웹 브라우저 창이 열리고 AWS CodeStar가 생성한 샘플 웹 서비스가 표시되며, 지금 부터 개발을 시작할 수 있습니다. 샘플 애플리케이션은 시간에 따라 샘플 앱의 배경색이 변경되는 기능을 가지고 있습니다.

이제 샘플 웹 사이트를 구축하는 데 사용 된 소스 코드를 살펴 보겠습니다. 소스 코드를 보려면 AWS CodeStar 콘솔의 TaraWebProject 대시 보드로 돌아가서 사이드 바 메뉴에서 코드 옵션을 선택합니다.

AWS CodeCommit 콘솔 tarawebproject Git 저장소로 이동합니다. 여기에서 웹 애플리케이션 코드, 레포지터리에서 작성한 커밋, 커밋 또는 브랜치 비교, 레포지터리 이벤트에 트리거를 수동으로 볼 수 있습니다.

AWS CodeStar를 통해 AWS 기반 웹 애플리케이션을 쉽게 시작할 수 있습니다. Visual Studio에 AWS CodeStar를 통합했기 때문에 IDE를 사용하여 제공된 코드 저장소에 커밋 할 때마다 자동으로 TaraWebProject에 포함될 코드를 변경하여 프로그램을 업데이트 할 수 있습니다.

AWS CodeStar의 TaraWebProject 대시 보드에는 소스 코드 작업을 위해 도구를 프로젝트 리포지토리에 연결하는 것에 대한 메시지가 있습니다. Visual Studio를 선택한 IDE로 이미 선택 했음에도 불구하고 Connect Tools 단추를 클릭하여이 IDE에 연결하는 단계를 검토할 수 있습니다.

다시 말하지만, 프로젝트 코드를 편집할 때 사용할 IDE(Visual Studio, Eclipse 또는 Command Line 도구)를 선택할 수 있는 화면이 표시됩니다. 나의 프로젝트에서 작업하는 동안 언제든지 IDE 옵션을 변경할 수 있는 옵션이 있음을 알아 두는 것이 중요합니다. 또한, HTTPS 및 SSH를 통해 AWS CodeCommit 저장소에 연결할 수 있습니다. 각 프로토콜에 대한 적절한 저장소 URL을 검색하려면 코드 저장소 URL 드롭 다운을 선택하고 HTTPS 또는 SSH를 선택하고 텍스트 입력란에서 결과 URL을 복사하면 됩니다.

Visual Studio를 선택하면 CodeStar가 Visual Studio와 통합하기 위해 필요한 단계로 이동합니다. 여기에는 Visual Studio용 AWS Toolkit 다운로드, AWS CodeCommit을 통한 AWS CodeStar에 팀별 탐색기 연결, 변경 사항을 레포지터리에 푸시하는 방법이 포함됩니다.

Visual Studio를 AWS CodeStar 프로젝트에 성공적으로 연결 한 후, TaraWebProject 대시 보드로 돌아갑니다. 먼저 프로젝트 팀 페이지로 이동할 수 있도록 팀 타일 설정을 선택합니다.

TaraWebProject 프로젝트 팀 페이지에서 Add team member 버튼을 선택하고 Select user 드롭 다운을 클릭하여 Jeff 팀 멤버를 추가합니다. 팀 구성원은 내 계정의 IAM 사용자여야하므로 Create new IAM user 링크를 클릭하여 Jeff의 IAM 계정을 만듭니다.

Create IAM user 대화 상자에서 팀 구성원 (이 경우 Jeff Barr)의 IAM 사용자 아이디, 표시 이름 및 전자 메일 주소를 입력합니다. Jeff가 부여 할 수 있는 프로젝트 역할에는 Owner, Contributor 또는 Viewer의 세 가지 유형이 있습니다. TaraWebProject 응용 프로그램의 경우 Contributor 프로젝트 역할을 부여하고 원격 접근 확인란을 선택하여 Remote access 권한을 부여합니다. 이제 Create 버튼을 클릭하여 Jeff의 IAM 사용자 계정을 만듭니다.

새로운 IAM 사용자 생성을 확인하기 위해 IAM 콘솔로 이동합니다. 부여 된 IAM 사용자 정보 및 사용 권한을 검토 한 후 Create user 버튼을 클릭하여 TaraWebProject에 대한 Jeff의 IAM 사용자 계정 생성을 완료합니다.

Jeff의 계정을 성공적으로 생성 한 후에는 로그인 자격 증명을 전자 메일로 보내거나 자격 증명 .csv 파일을 다운로드 해야 합니다.본 자격 증명을 다시 검색 할 수 없으므로 중요합니다. 현재 로그인 자격 증명을 얻지 않고, 페이지를 떠나는 경우 Jeff에 대한 새 자격 증명을 생성해야 합니다. 그리고, Close 버튼을 클릭하면 AWS CodeStar 콘솔로 돌아갑니다.

이제 JeffBarr-WebDev IAM 역할을 선택하고 Add 버튼을 클릭하여 Jeff를 TaraWebProject의 팀 구성원으로 추가하는 작업을 완료 할 수 있습니다.

Jeff를 팀 구성원으로 AWS CodeStar 프로젝트 TaraWebProject에 추가하여 웹 애플리케이션을 구축 할 때, 공동 작업을 가능합니다.

AWS CodeStar 서비스를 통해 TaraWebProject 대시 보드에서 모든 프로젝트 활동을 바로 모니터링 할 수 있다는 것입니다. 애플리케이션 활동, 최근 소스 코드 커밋, 빌드 결과, 코드 변경 및 배포와 같은 모든 프로젝트 작업 상태를 하나의 포괄적 인 대시 보드에서 추적 할 수 있습니다. AWS CodeStar는 Application activity 섹션과 함께 Amazon CloudWatch에 대시 보드를 연결하고 AWS CodePipeline과 함께 Continuous Deployment 섹션의 빌드 및 배포 상태에 대한 데이터를 제공하며 커밋 내역 섹션에 AWS CodeCommit을 사용한 최신 Git 코드 Commit history을 표시합니다.

맺음말

AWS CodeStar 서비스를 통해 AWS 서비스를 사용하여 TaraWebProject 소프트웨어 프로젝트의 코딩, 빌드, 테스트 및 배포를 할 수 있는 서버리스 웹 애플리케이션을 만들었습니다. AWS CodeStar를 사용하여 응용 프로그램을 출시하는 일상적인 개발 및 배포 관리의 이점을 확인할 수 있었습니다.

AWS CodeStar를 사용하면 AWS에서 애플리케이션을 신속하게 개발, 구축 및 배포 할 수 있습니다. AWS CodeStar는 통합 된 사용자 인터페이스를 제공하므로 소프트웨어 개발 활동을 한 곳에서 쉽게 관리 할 수 ​​있습니다. AWS CodeStar를 사용하면 다양한 템플릿에서 AWS Lambda, Amazon EC2 또는 AWS Elastic Beanstalk을 사용하여 프로젝트를 설정할 수 있습니다. AWS CodeCommit, AWS CodeBuild, AWS CodePipeline 및 AWS CodeDeploy를 사용하여 프로젝트 관리 대시 보드, 자동 연속 공급 파이프 라인 및 Git 코드 레포지토리가 사전 구성되어 있으므로 개발자는 최신 민첩한 소프트웨어 개발 모범 사례를 구현할 수 있습니다.

각 AWS CodeStar 프로젝트는 개발자에게 Git을 지원하는 널리 사용되는 IDE와 함께 사용할 수있는 작업 코드 샘플을 제공하여 개발 초기 단계에서부터 시작합니다. 또한 AWS CodeStar는 AWS CodeStar 콘솔에서 직접 소프트웨어 팀에 대한 프로젝트 관리 및 문제 추적 시스템을 제공하는 Atlassian JIRA Software 와의 통합 기능을 제공합니다.

AWS CodeStar service 서비스를 사용하여 AWS에서 새로운 소프트웨어 프로젝트를 개발할 수 있습니다. AWS CodeStar 제품 페이지 및 AWS CodeStar 사용자 가이드를 검토하여 자세한 내용을 확인하십시오.

Tara

이 글은 New- Introducing AWS CodeStar – Quickly Develop, Build, and Deploy Applications on AWS의 한국어 번역입니다.l