버전 비교

  • 이 줄이 추가되었습니다.
  • 이 줄이 삭제되었습니다.
  • 서식이 변경되었습니다.

...

펼치기
title목록 펼쳐서 보기...


패널
borderColor#6699ff
bgColor#ffffff
titleColorwhite
titleBGColor#6699ff
borderStylesolid
title목차


목차 영역

목차
maxLevel3
outlinetrue
stylenone
separatorpipe




펼치기
title버전 정보 업데이트

2021-04-12

  • 실습 UI 업데이트
  • Nodejs 버전 8.0 → 14.x로 전환

2019-09-26

  • 서버리스 기반 간단하게 테스트 해볼 수 있는 CI/CD 배포 파이프라인 구축 실습

...

  1. Lambda 코드를 수정하여 새로운 버전의 API를 만들어 보겠습니다. Cloud9에서 index.js 파일을 열고 기존 "Hello, AWS!"를 " Hello, DevOps! "로 변경합니다. Ctrl + S 를 눌러 저장합니다.

SAM 템플릿 수정

  1. 아래와 같이 Canary 배포를 위한 코드를 넣고 Ctrl +s 를 눌러 저장합니다. 5분간 10퍼센트의 트래픽만 변경된 버전으로 흐릅니다.

    코드 블럭
    languageyml
    themeRDark
    titleCanary 배포를 위한 SAM 템플릿 수정
    linenumberstrue
    AWSTemplateFormatVersion: '2010-09-09'
    Transform: AWS::Serverless-2016-10-31
    Description: AWS DevOps 301 Demo Application
    
    Resources:
      ApiAppFunction:
        Type: AWS::Serverless::Function
        Properties:
          Handler: index.handler
          Runtime: nodejs14.x
          Timeout: 5
          AutoPublishAlias: live
          DeploymentPreference: 
            Enabled: true
            Type: Canary10Percent5Minutes
          Events:
            RootHandler:
              Type: Api
              Properties:
                Path: /
                Method: GET

    Image Added

변경된 코드 체크인

  1. 아래와 같이 변경된 코드를 체크인 합니다.

    코드 블럭
    languagebash
    themeDJango
    title변경된 코드 체크인
    git add .
    git commit -am "Canary deploy"
    git push origin master

    Image Added


CodePipeline에서 배포 상황 확인

코드가 체크인 되면 CodePipeline은 자동으로 CI/CD 작업을 수행합니다.
Image Added

배포가 진행되는 동안 ExecuteChangeSet은 대기를 하게 됩니다. 이때, Canary 배포가 진행중이므로 아래로 내려가서 트래픽이 바뀌는지 테스트를 진행합니다.

Image AddedImage Removed

CodeDeploy 서비스에서 확인

Canary 배포 확인

  1. Canary 배포가 정상적으로 되는지 확인합니다. 배포가 진행중이면 클릭합니다.

...

  1. Image Added

  2. 배포가 진행중인 것을 확인할 수 있습니다.

...

  1. Image Added


테스트

  1. Cloud9에서 정상적으로 API가 동작하는지 살펴 봅니다. 아래와 같은 명령을 수행합니다. API 주소는 본인이 배포된 URL로 변경합니다.

    코드 블럭
    for ((i=1;i<=100;i++)); do curl "https://xxxxxxxx.execute-api.ap-northeast-1.amazonaws.com/Prod"; echo ; sleep 0.1; done

...

  1. Image Added

  2. 5분이 지나면, 배포가 모두 완료되고 트래픽은 새로운 버전으로 100% 전환됩니다.

...

  1. Image Added

...

  1. Image Added

  2. CodeDeploy가 배포되는 중에 Stop and roll back deployment 버튼을 클릭하여 배포가 중단되도록 테스트 해 보세요.


CleanUp

Code 서비스를 이용한 서버리스 서비스 CICD 배포 프로세스를 만들 수 있게 되었습니다.

...