이 자습서에서는 AWS Lambda, CodePipeline, CodeCommit 및 CloudFormation을 사용하는 CodeStar로 NodeJS 애플리케이션 구축하는 방법을 알아봅니다. 또한 CodeStar 프로젝트를 JIRA와 통합하는 방법도 배웁니다.

이 자습서에서 사용하는 AWS 서비스는 AWS 프리 티어에 포함되어 있습니다.

AWS CodeStar로 서버리스 애플리케이션을 구축하려면 계정 필요

무료 계정 생성

여기를 클릭하면 AWS Management Console이 새 브라우저 창에서 열리므로 이 단계별 안내서를 계속 열어 놓을 수 있습니다.  이 화면이 로드되면 먼저 사용자 이름 및 암호를 입력하여 시작합니다. 그런 다음 검색 창에 CodeStar를 입력하고 CodeStar를 선택하여 콘솔을 엽니다.

tmt_store-retrieve-file_1

(확대하려면 클릭)

tmt_store-retrieve-file_1

이 단계에서는 AWS Lambda를 기반으로 한 Node.JS 프로젝트를 시작합니다.


a. CodeStar 홈 페이지에서 Start a project(프로젝트 시작)를 클릭합니다.

TMT-serverless-01

(확대하려면 클릭)

TMT-serverless-01

b. 템플릿 선택 화면에서 웹 애플리케이션 및 AWS Lambda가 포함된 Node.js 템플릿을 선택합니다.

TMT-serverless-02

(확대하려면 클릭)

TMT-serverless-02

c.  Project name(프로젝트 이름)에 NodeJS-Serverless-Project를 입력한 다음 Create Project(프로젝트 생성)를 클릭합니다.

TMT-serverless-03

(확대하려면 클릭)

TMT-serverless-03

d.  프로젝트 코드 편집 작업은 이 빠른 시작의 다른 섹션에서 수행하므로, 다음 화면에서 프로젝트 코드를 편집하는 방법을 선택하고 Skip(건너뛰기)을 클릭합니다.

TMT-serverless-03b

(확대하려면 클릭)

TMT-serverless-03b

e.  이제 프로젝트가 프로비저닝되고 몇 분 안에 편집할 수 있게 됩니다.

TMT-serverless-04

(확대하려면 클릭)

TMT-serverless-04

이 단계에서는 CodeStar 프로젝트를 JIRA에 연결합니다. 그러면 이 프로젝트의 문제를 추적할 수 있습니다.


a.  프로젝트의 웹 페이지에서 Extensions(확장 기능)를 클릭합니다.  

TMT-serverless-05

(확대하려면 클릭)

TMT-serverless-05

b.  Atlassian JIRA에 대해 Add extension(확장 기능 추가)을 클릭합니다.

TMT-serverless-06

(확대하려면 클릭)

TMT-serverless-06

c.  JIRA 인스턴스 생성 방법에 대한 설명을 따릅니다(아직 없는 경우). 또는 JIRA 인스턴스가 이미 있는 경우 다음 단계로 건너뜁니다.

TMT-serverless-07

(확대하려면 클릭)

TMT-serverless-07

d.  완료했으면, "Add the JIRA URL to AWS CodeStar(AWS CodeStar에 JIRA URL 추가)"의 입력란에 JIRA URL을 입력합니다.

TMT-serverless-08

(확대하려면 클릭)

TMT-serverless-08

e.  "Create the application link in JIRA(JIRA에 애플리케이션 링크 생성)", “Configure incoming authentication in JIRA(JIRA에 수신되는 인증 구성)” 및 "Connect your AWS CodeStar project to JIRA(JIRA에 AWS CodeStar 프로젝트 연결)"에서 JIRA에 대한 안내를 따른 다음 "Connect(연결)" 버튼을 클릭합니다.

TMT-serverless-08b

(확대하려면 클릭)

TMT-serverless-08b

f.  Allow(허용)를 클릭합니다.

TMT-serverless-09

(확대하려면 클릭)

TMT-serverless-09

g.  JIRA가 CodeStar 프로젝트에 연결되고 JIRA 패널에서 JIRA 문제를 볼 수 있게 됩니다.

TMT-serverless-10

(확대하려면 클릭)

TMT-serverless-10

이 단계에서는 프로젝트에 대한 업데이트를 커밋합니다. 그러면 CodeBuild를 사용한 빌드가 시작되고 CloudFormation를 사용한 AWS Lambda로의 배포가 시작됩니다. 이 프로세스는 AWS CodePipeline의 파이프라인에 의해 관리됩니다.


a.  프로젝트의 기본 페이지에는 프로젝트의 지속적인 배포와 관련한 몇 개의 패널과 프로젝트의 코드가 저장된 git 리포지토리가 있습니다.

TMT-serverless-11

(확대하려면 클릭)

TMT-serverless-11

b.  CodeCommit 리포지토리의 코드를 변경하면 CodePipeline을 통해 자동으로 배포됩니다. 이렇게 하려면 Commit history(커밋 내역) 패널에서 Connect(연결) 버튼을 클릭합니다.


TMT-serverless-13

(확대하려면 클릭)

TMT-serverless-13

c.  Copy(복사) 버튼을 클릭합니다. IAM 사용자의 CodeCommit 액세스 권한을 설정하지 않을 경우 “Credential details(자격 증명 세부 정보)” 링크를 클릭하고 나타나는 지침을 따릅니다.

TMT-serverless-14

(확대하려면 클릭)

TMT-serverless-14

d.  터미널 창에서 다음 명령을 실행하여 코드의 사본을 점검합니다.

git clone https://git-codecommit.us-east-1.amazonaws.com/v1/repos/nodejs-serverle
TMT-serverless-15

(확대하려면 클릭)

TMT-serverless-15

e.  작업 디렉토리를 git repo로 변경합니다.

cd nodejs-serverle
TMT-serverless-16

(확대하려면 클릭)

TMT-serverless-16

f.  index.html 파일을 엽니다.

nano public/index.html
TMT-serverless-17

(확대하려면 클릭)

TMT-serverless-17

g.  “You just created a Node.js web application” 텍스트에 느낌표를 3개 추가합니다.

TMT-serverless-18

(확대하려면 클릭)

TMT-serverless-18

h.  변경 사항을 커밋합니다.

git commit -a -m “updated index”
TMT-serverless-19

(확대하려면 클릭)

TMT-serverless-19

i.  변경 사항을 CodeCommit으로 다시 푸시합니다.

git push
TMT-serverless-20

(확대하려면 클릭)

TMT-serverless-20

j.  이제 Commit history(커밋 내역) 창에 변경 사항이 표시됩니다.

TMT-serverless-21

(확대하려면 클릭)

TMT-serverless-21

k.  몇 분 후 Continuous deployment(지속적 배포) 패널에 CodePipeline의 새 실행이 반영됩니다. 먼저 CodeBuild에 코드가 구축됩니다. 그런 다음 CloudFormation을 사용하여 배포됩니다.  

TMT-serverless-23

(확대하려면 클릭)

TMT-serverless-23

l.  이 작업이 성공적으로 완료되면 NodeJS 애플리케이션의 엔드포인트가 표시됩니다.

TMT-serverless-24

(확대하려면 클릭)

TMT-serverless-24

m.  엔드포인트의 링크를 클릭하면 변경 사항이 애플리케이션에 배포되었음을 확인할 수 있습니다.

TMT-serverless-25

(확대하려면 클릭)

TMT-serverless-25

CodeStar에서 서버리스 애플리케이션을 손쉽게 삭제할 수 있습니다. 사용하지 않는 리소스를 삭제하여 더는 비용이 부과되지 않도록 하는 것이 모범 사례입니다.


a.  CodeStar 콘솔의 프로젝트에서 Project(프로젝트)를 클릭합니다.

TMT-serverless-26

(확대하려면 클릭)

TMT-serverless-26

b.  프로젝트를 구성하는 모든 리소스의 목록이 표시됩니다. 프로젝트를 삭제하려면 Delete project(프로젝트 삭제)를 클릭합니다.

TMT-serverless-27

(확대하려면 클릭)

TMT-serverless-27

c.  프로젝트의 삭제를 확인하기 위해 프로젝트의 이름을 입력하고 Delete(삭제)를 클릭합니다. 프로젝트의 리소스도 삭제하려면 Keep associated AWS resources but delete project in AWS CodeStar(관련 AWS 리소스는 유지하고 AWS CodeStar에서 프로젝트 삭제) 확인란의 선택을 취소합니다.

TMT-serverless-28

(확대하려면 클릭)

TMT-serverless-28

AWS CodeStar를 사용하여 NodeJS 애플리케이션을 생성했습니다.

AWS CodeStar를 사용하여 단순한 서버리스 웹 애플리케이션을 생성해 보았으므로, 이제 다른 유용한 CodeStar 사용 방법을 알아보겠습니다.

IDE와 AWS CodeStar 통합

원하는 환경에서 코드를 작성 및 개발한 후 CodeStar로 푸시할 수 있습니다.
IDE와 AWS CodeStar 통합 »

AWS CodeStar 팀과 협력

다른 사용자에게 AWS CodeStar 프로젝트에 대한 액세스 권한을 부여하여 다른 사람과 협업을 진행합니다.
AWS CodeStar 팀에 다른 사람 추가 »

아니요