AWS 컨테이너 활용 사례 및 주요 도구 알아보기
정영준, AWS 솔루션즈 아키텍트
현대적 애플리케이션 개발을 위한
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved.
강연 중 질문하는 방법
Go to Webinar “Questions” 창에 자신이 질문한
내역이 표시됩니다. 기본적으로 모든 질문은
공개로 답변 됩니다만 본인만 답변을 받고
싶으면 (비공개)라고 하고 질문해 주시면 됩니다.
본 컨텐츠는 고객의 편의를 위해 AWS 서비스 설명을 위해 온라인 세미나용으로 별도로 제작, 제공된 것입니다. 만약
AWS 사이트와 컨텐츠 상에서 차이나 불일치가 있을 경우, AWS 사이트(aws.amazon.com)가 우선합니다. 또한 AWS
사이트 상에서 한글 번역문과 영어 원문에 차이나 불일치가 있을 경우(번역의 지체로 인한 경우 등 포함), 영어 원문이
우선합니다.
AWS는 본 컨텐츠에 포함되거나 컨텐츠를 통하여 고객에게 제공된 일체의 정보, 콘텐츠, 자료, 제품(소프트웨어 포함) 또는 서비스를 이용함으로 인하여 발생하는 여하한 종류의 손해에
대하여 어떠한 책임도 지지 아니하며, 이는 직접 손해, 간접 손해, 부수적 손해, 징벌적 손해 및 결과적 손해를 포함하되 이에 한정되지 아니합니다.
고지 사항(Disclaimer)
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
현대적 애플리케이션 구조란?
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved.
현대적 애플리케이션 개발 접근 방법
• 운영 환경 관리 간소화
• 코드 변경으로 인한 영향 최소화
• 작업 자동화
• 서비스 배포 속도 향상을 위한 도구 사용
• 리소스 및 애플리케이션에 대한 통찰력 확보
• 고객 및 비지니스 보호
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved.
현대적 애플리케이션 개발 접근 방법
• 운영 환경 관리 간소화 서버리스/컨테이너 활용
• 코드 변경으로 인한 영향 감소 마이크로 서비스 아키텍처 도입
• 작업 자동화 어플리케이션 모델링 & 코드로서 인프라스트럭처 도입
• 서비스 제공 가속화 지속적 통합/지속적 배포
• 리소스 및 애플리케이션에 대한 통찰력 확보 가시성 확보를 위한 도구
• 고객 및 비지니스 보호 종단간 보안 구성 & 준법감시,법규준수
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved.
현대적 애플리케이션 개발 접근 방법
• 운영 환경 관리 간소화 서버리스/컨테이너 활용
• 코드 변경으로 인한 영향 감소 마이크로 서비스 아키텍처 도입
• 작업 자동화 어플리케이션 모델링 & 코드로서 인프라스트럭처 도입
• 서비스 제공 가속화 지속적 통합/지속적 배포
• 리소스 및 애플리케이션에 대한 통찰력 확보 가시성 확보를 위한 도구
• 고객 및 비지니스 보호 종단간 보안 구성 & 준법감시,법규준수
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved.
현대적 애플리케이션 개발 접근 방법
서버리스 컨테이너
지속적으로 수행 되는 애플리케이션
OS 추상화
완전 관리 형 오케스트레이션
완전 관리 형 컨테이너 클러스터
서버리스 함수
이벤트 처리 중심 애플리케이션
많은 언어 런타임
데이터 소스 통합
서버 관리 불필요
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved.
현대적 애플리케이션 개발 접근 방법
• 운영 환경 관리 간소화 서버리스/컨테이너 활용
• 코드 변경으로 인한 영향 감소 마이크로 서비스 아키텍처 도입
• 작업 자동화 어플리케이션 모델링 & 코드로서 인프라스트럭처 도입
• 서비스 제공 가속화 지속적 통합/지속적 배포
• 리소스 및 애플리케이션에 대한 통찰력 확보 가시성 확보를 위한 도구
• 고객 및 비지니스 보호 종단간 보안 구성 & 준법감시,법규준수
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved.
릴리스 프로세스 단계
소스 빌드 테스트 운영
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved.
현대적 애플리케이션을 배포하는 3단계
지속적
통합
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved.
지속적인 통합 목표
소스 빌드 테스트 운영
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved.
지속적 통합 목표
1. 새 코드가 체크인되면 자동으로 새 릴리스를 시작
2. 일관되고 반복 가능한 환경에서 코드 작성 및 테스트
3. 지속적으로 배포 할 준비가 된 아티팩트를 생성
4. 빌드 실패시 피드백 루프 닫기
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved.
현대적 애플리케이션을 배포하는 3단계
지속적
배포
지속적
통합
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved.
지속적인 배포 목표
소스 빌드 테스트 운영
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved.
지속적인 배포 목표
1. 테스트를 위해 스테이징 환경에 새로운 변경 사항을 자동으로 배치
2. 고객에게 영향을주지 않고 안전하게 프로덕션에 배포
3. 고객에게 더 빠르게 제공 : 배포 빈도를 높이고 변경 리드 타임 및 변경
실패율을 줄임
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved.
현대적 애플리케이션을 배포하는 3단계
코드로서의
인프라
지속적
배포
지속적
통합
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved.
코드로서의 인프라의 목표
소스 빌드 테스트 운영
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved.
코드로서의 인프라의 목표
1. 인프라 변경을 반복 가능하고 예측 가능하게 만들기
2. 코드 변경과 동일한 도구를 사용하여 인프라 변경을 릴리스
3. 스테이징 환경에서 프로덕션 환경을 복제하여 지속적인 테스트
가능
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved.
코드로 인프라를 사용한 지속적인 테스트
아티펙트 확인
(빌드 단계)
• 단위 테스트
• 정적 분석
• 조롱 된 종속성 및 환경
• 취약점 이미지 스캔
환경 구성 확인
(테스트 단계)
• 실제 종속성 및 실제 환경에
대한 통합 테스트
• 부하 테스트
• 침투 테스트
• 환경에 대한 배포의 영향을
테스트하기위한 모니터링
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved.
코드로서 인프라 스트럭처의 배포
“마스터”
브랜치
템플릿 준비 변경 세트 작성
및 실행
변경 세트 작성
및 실행
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved.
현대적 애플리케이션을 배포하는 3단계
지속적
통합
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
현대적 애플리케이션의 마이크로 서비스
아키텍처 기반 기술 - 컨테이너
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Amazon Elastic Kubernetes Service
mycluster.eks.amazonaws.com
EKS workers
Kubectl
AZ 1 AZ 2 AZ 3
Your AWS account
VPC
가용성, 확장성 및 보안성이 뛰어난 Kubernetes 서비스
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
도커 이미지 관리하기
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved.
도커 이미지 생성
Dockerfile
Docker image
docker build
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
version: 0.2
phases:
pre_build:
commands:
- $(aws ecr get-login --no-include-email)
build:
commands:
- docker build --tag “${ECR}:${COMMIT}” -–tag “${ECR}:${TAG}” .
post_build:
commands:
- docker push "${ECR}:${COMMIT}”; docker push “${ECR}:${TAG}”
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Amazon EC2 Container Registry (ECR)
완전히 관리되는 개인 Docker Registry
Docker Registry HTTP API V2 지원
확장 가능하고 사용 가능한 내구성 아키텍처
유휴시 암호화, IAM으로 액세스 제어
이미지 수명주기 관리
다른 AWS 서비스와 통합
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved.
도커 지속적 통합 파이프라인
AWS Cloud
AWS CodeBuild Multi-Stage
Docker Build
3rd party Git repository
Git users
git push
webhook
Amazon EC2
Container Registry
AWS CodeCommit
git push
docker push
AWS CodeBuild
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
쿠버네티스를 활용한 개발 파이프라인
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved.
쿠버네티스 애플리케이션
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Amazon EKS – Helm / Package 관리
Helm은 Helm Charts 를 통해 K8s 앱을 관리
K8s 응용 Helm Charts
정의 – 템플릿 및 값 (여러 환경에 해당)
설치 – 새 릴리스 작성
업그레이드 – 새 릴리스 개정 작성 (이전 개정으로 롤백)
제작, 버전 관리, 공유 및 게시 – 관리 및 규제에 용이
Kubernetes 응용 프로그램의 릴리스 관리
CI / CD 또는 개발자 랩톱에서 실행
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved.
쿠버네티스를 위한 개발 도구
Helm CLI 명령
템플릿 – Helm 템플릿을 로컬로 렌더링하고 출력을 표시합니다
lint – Helm 차트가 올바른지 확인하기 위해 일련의 테스트를 실행합니다.
kubeval
https://github.com/garethr/kubeval
Kubernetes JSON 스키마에 대해 Kubernets YAML / JSON 파일의 유효성을 검증.
쿠베 테스트
https://github.com/garethr/kubetest
Kubernetes 구성을 위한 단위 테스트
Skylark (Python dialect) 구성 언어로 테스트 작성
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Helm chart 을 이용한 지속적 통합 파이프라인
AWS Cloud
AWS CodeBuild Helm Dev Tools
- helm lint
- kubeval
- kubetest
- package
3rd party Git repository
<Helm Chart>
Git users
git push
webhook
AWS CodeCommit
<Helm Chart>
git push
helm s3 push
AWS CodeBuild
Amazon Simple
Storage Service (S3)
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
EKS 지속적 배포 파이프라인
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved.
EKS 지속적 배포 파이프라인
AWS Cloud
AWS CodeBuild Amazon Elastic
Container Service
for Kubernetes
helm upgrade --install
AWS CodePipeline
AWS CodePipeline
helm test & helm rollback (on error)
Amazon EC2
Container Registry
Amazon Simple
Storage Service (S3)
source
source
Helm Repository
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
모든 도구를 통합한 현대적
애플리케이션을 위한 EKS 파이프라인
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved.
EKS 통합 배포 파이프라인
AWS
CodeBuild
Amazon Elastic
Container
Service for
Kubernetes
helm upgrade --install
AWS CodePipeline
AWS
CodePipeline
helm test & helm rollback (on error)
Amazon EC2
Container
Registry
Amazon Simple
Storage Service (S3)
source
source
Helm
Repository
AWS
CodeBuild
Helm Dev Tools
- helm lint
- kubeval
- kubetest
3rd party Git
repository
<Helm Chart>
Git users
git push
webhook
AWS
CodeCommit
<Helm Chart>
git push
helm s3 push
AWS CodeBuild
AWS
CodeBuild
Multi-Stage
Docker Build
3rd party Git
repository
Git users
git push
webhook
AWS CodeCommit
git push
docker push
AWS CodeBuild
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved.
현대적 애플리케이션 개발 접근 방법
AWS 컨테이너 서비스를 활용한
• 운영 환경 관리 간소화 서버리스/컨테이너 활용
• 코드 변경으로 인한 영향 감소 마이크로 서비스 아키텍처 도입
• 작업 자동화 어플리케이션 모델링 & 코드로서 인프라스트럭처 도입
• 서비스 제공 가속화 지속적 통합/지속적 배포
• 리소스 및 애플리케이션에 대한 통찰력 확보 가시성 확보를 위한 도구
• 고객 및 비지니스 보호 종단간 보안 구성 & 준법감시,법규준수
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved.
교육
Developing on AWS 과정에서는 AWS SDK를 사용하여 안전하고
확장 가능한 클라우드 애플리케이션을 개발하는 방법을 배웁니다.
또한 코드를 사용하여 AWS와 상호작용하는 방법을 살펴보고, 주요
개념, 모범 사례 및 문제 해결 팁을 설명합니다.
자격증
AWS Certified Developer – Associate
1년 이상의 실무 경험이 있는 개발자 대상
이 시험은 핵심 AWS 서비스의 사용 방법과 기본적인 AWS
아키텍처 모범 사례를 이해하고 있음을 입증해줍니다. 해당
자격증을 통해 AWS를 사용하여 클라우드 기반 애플리케이션을
능숙하게 개발, 배포 및 디버깅할 수 있음을 증명하실 수 있습니다.
AWS 교육 및 자격증을 통해
현대적 애플리케이션 개발에 첫 발을 내딛으세요
자격증
AWS Certified DevOps Engineer –
Professional
2년 이상의 실무 경험이 있는
DevOps 엔지니어 대상
이 시험은 AWS 환경을 프로비저닝하고
운영 및 관리할 수 있음을 입증해줍니다.
해당 자격증을 통해 AWS 플랫폼에서
높은 가용성, 뛰어난 확장성 및 자가
치유 기능이 있는 시스템을 구현할 수
있으며, 운영 프로세스를 자동화할 수
있는 도구를 설계 관리 및 유지할 수
있음을 증명하실 수 있습니다.
https://www.aws.training/ 에서 더 많은 정보를 확인해보세요!
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
aws-korea-marketing@amazon.com
twitter.com/AWSKorea
facebook.com/amazonwebservices.ko
youtube.com/user/AWSKorea
slideshare.net/awskorea
twitch.tv/aws
캠페인 온라인 세미나: 애플리케이션 현대화 및 개발 특집에
참석해주셔서 대단히 감사합니다.
저희가 준비한 내용, 어떻게 보셨나요?
더 나은 세미나를 위하여 설문을 꼭 작성해 주시기 바랍니다.

[애플리케이션 현대화 및 개발] 현대적 애플리케이션 개발을 위한 AWS 컨테이너 활용사례 및 주요 도구 알아보기 - 정영준, AWS 솔루션즈 아키텍트

  • 1.
    AWS 컨테이너 활용사례 및 주요 도구 알아보기 정영준, AWS 솔루션즈 아키텍트 현대적 애플리케이션 개발을 위한
  • 2.
    © 2019 AmazonWeb Services, Inc. or its Affiliates. All rights reserved. 강연 중 질문하는 방법 Go to Webinar “Questions” 창에 자신이 질문한 내역이 표시됩니다. 기본적으로 모든 질문은 공개로 답변 됩니다만 본인만 답변을 받고 싶으면 (비공개)라고 하고 질문해 주시면 됩니다. 본 컨텐츠는 고객의 편의를 위해 AWS 서비스 설명을 위해 온라인 세미나용으로 별도로 제작, 제공된 것입니다. 만약 AWS 사이트와 컨텐츠 상에서 차이나 불일치가 있을 경우, AWS 사이트(aws.amazon.com)가 우선합니다. 또한 AWS 사이트 상에서 한글 번역문과 영어 원문에 차이나 불일치가 있을 경우(번역의 지체로 인한 경우 등 포함), 영어 원문이 우선합니다. AWS는 본 컨텐츠에 포함되거나 컨텐츠를 통하여 고객에게 제공된 일체의 정보, 콘텐츠, 자료, 제품(소프트웨어 포함) 또는 서비스를 이용함으로 인하여 발생하는 여하한 종류의 손해에 대하여 어떠한 책임도 지지 아니하며, 이는 직접 손해, 간접 손해, 부수적 손해, 징벌적 손해 및 결과적 손해를 포함하되 이에 한정되지 아니합니다. 고지 사항(Disclaimer)
  • 3.
    © 2019, AmazonWeb Services, Inc. or its affiliates. All rights reserved. 현대적 애플리케이션 구조란?
  • 4.
    © 2019 AmazonWeb Services, Inc. or its Affiliates. All rights reserved. 현대적 애플리케이션 개발 접근 방법 • 운영 환경 관리 간소화 • 코드 변경으로 인한 영향 최소화 • 작업 자동화 • 서비스 배포 속도 향상을 위한 도구 사용 • 리소스 및 애플리케이션에 대한 통찰력 확보 • 고객 및 비지니스 보호
  • 5.
    © 2019 AmazonWeb Services, Inc. or its Affiliates. All rights reserved. 현대적 애플리케이션 개발 접근 방법 • 운영 환경 관리 간소화 서버리스/컨테이너 활용 • 코드 변경으로 인한 영향 감소 마이크로 서비스 아키텍처 도입 • 작업 자동화 어플리케이션 모델링 & 코드로서 인프라스트럭처 도입 • 서비스 제공 가속화 지속적 통합/지속적 배포 • 리소스 및 애플리케이션에 대한 통찰력 확보 가시성 확보를 위한 도구 • 고객 및 비지니스 보호 종단간 보안 구성 & 준법감시,법규준수
  • 6.
    © 2019 AmazonWeb Services, Inc. or its Affiliates. All rights reserved. 현대적 애플리케이션 개발 접근 방법 • 운영 환경 관리 간소화 서버리스/컨테이너 활용 • 코드 변경으로 인한 영향 감소 마이크로 서비스 아키텍처 도입 • 작업 자동화 어플리케이션 모델링 & 코드로서 인프라스트럭처 도입 • 서비스 제공 가속화 지속적 통합/지속적 배포 • 리소스 및 애플리케이션에 대한 통찰력 확보 가시성 확보를 위한 도구 • 고객 및 비지니스 보호 종단간 보안 구성 & 준법감시,법규준수
  • 7.
    © 2019 AmazonWeb Services, Inc. or its Affiliates. All rights reserved. 현대적 애플리케이션 개발 접근 방법 서버리스 컨테이너 지속적으로 수행 되는 애플리케이션 OS 추상화 완전 관리 형 오케스트레이션 완전 관리 형 컨테이너 클러스터 서버리스 함수 이벤트 처리 중심 애플리케이션 많은 언어 런타임 데이터 소스 통합 서버 관리 불필요
  • 8.
    © 2019 AmazonWeb Services, Inc. or its Affiliates. All rights reserved. 현대적 애플리케이션 개발 접근 방법 • 운영 환경 관리 간소화 서버리스/컨테이너 활용 • 코드 변경으로 인한 영향 감소 마이크로 서비스 아키텍처 도입 • 작업 자동화 어플리케이션 모델링 & 코드로서 인프라스트럭처 도입 • 서비스 제공 가속화 지속적 통합/지속적 배포 • 리소스 및 애플리케이션에 대한 통찰력 확보 가시성 확보를 위한 도구 • 고객 및 비지니스 보호 종단간 보안 구성 & 준법감시,법규준수
  • 9.
    © 2019 AmazonWeb Services, Inc. or its Affiliates. All rights reserved. 릴리스 프로세스 단계 소스 빌드 테스트 운영
  • 10.
    © 2019 AmazonWeb Services, Inc. or its Affiliates. All rights reserved. 현대적 애플리케이션을 배포하는 3단계 지속적 통합
  • 11.
    © 2019 AmazonWeb Services, Inc. or its Affiliates. All rights reserved. 지속적인 통합 목표 소스 빌드 테스트 운영
  • 12.
    © 2019 AmazonWeb Services, Inc. or its Affiliates. All rights reserved. 지속적 통합 목표 1. 새 코드가 체크인되면 자동으로 새 릴리스를 시작 2. 일관되고 반복 가능한 환경에서 코드 작성 및 테스트 3. 지속적으로 배포 할 준비가 된 아티팩트를 생성 4. 빌드 실패시 피드백 루프 닫기
  • 13.
    © 2019 AmazonWeb Services, Inc. or its Affiliates. All rights reserved. 현대적 애플리케이션을 배포하는 3단계 지속적 배포 지속적 통합
  • 14.
    © 2019 AmazonWeb Services, Inc. or its Affiliates. All rights reserved. 지속적인 배포 목표 소스 빌드 테스트 운영
  • 15.
    © 2019 AmazonWeb Services, Inc. or its Affiliates. All rights reserved. 지속적인 배포 목표 1. 테스트를 위해 스테이징 환경에 새로운 변경 사항을 자동으로 배치 2. 고객에게 영향을주지 않고 안전하게 프로덕션에 배포 3. 고객에게 더 빠르게 제공 : 배포 빈도를 높이고 변경 리드 타임 및 변경 실패율을 줄임
  • 16.
    © 2019 AmazonWeb Services, Inc. or its Affiliates. All rights reserved. 현대적 애플리케이션을 배포하는 3단계 코드로서의 인프라 지속적 배포 지속적 통합
  • 17.
    © 2019 AmazonWeb Services, Inc. or its Affiliates. All rights reserved. 코드로서의 인프라의 목표 소스 빌드 테스트 운영
  • 18.
    © 2019 AmazonWeb Services, Inc. or its Affiliates. All rights reserved. 코드로서의 인프라의 목표 1. 인프라 변경을 반복 가능하고 예측 가능하게 만들기 2. 코드 변경과 동일한 도구를 사용하여 인프라 변경을 릴리스 3. 스테이징 환경에서 프로덕션 환경을 복제하여 지속적인 테스트 가능
  • 19.
    © 2019 AmazonWeb Services, Inc. or its Affiliates. All rights reserved. 코드로 인프라를 사용한 지속적인 테스트 아티펙트 확인 (빌드 단계) • 단위 테스트 • 정적 분석 • 조롱 된 종속성 및 환경 • 취약점 이미지 스캔 환경 구성 확인 (테스트 단계) • 실제 종속성 및 실제 환경에 대한 통합 테스트 • 부하 테스트 • 침투 테스트 • 환경에 대한 배포의 영향을 테스트하기위한 모니터링
  • 20.
    © 2019 AmazonWeb Services, Inc. or its Affiliates. All rights reserved. 코드로서 인프라 스트럭처의 배포 “마스터” 브랜치 템플릿 준비 변경 세트 작성 및 실행 변경 세트 작성 및 실행
  • 21.
    © 2019 AmazonWeb Services, Inc. or its Affiliates. All rights reserved. 현대적 애플리케이션을 배포하는 3단계 지속적 통합
  • 22.
    © 2019, AmazonWeb Services, Inc. or its affiliates. All rights reserved. 현대적 애플리케이션의 마이크로 서비스 아키텍처 기반 기술 - 컨테이너
  • 23.
    © 2019, AmazonWeb Services, Inc. or its affiliates. All rights reserved.
  • 24.
    © 2019 AmazonWeb Services, Inc. or its Affiliates. All rights reserved. Amazon Elastic Kubernetes Service mycluster.eks.amazonaws.com EKS workers Kubectl AZ 1 AZ 2 AZ 3 Your AWS account VPC 가용성, 확장성 및 보안성이 뛰어난 Kubernetes 서비스
  • 25.
    © 2019, AmazonWeb Services, Inc. or its affiliates. All rights reserved. 도커 이미지 관리하기
  • 26.
    © 2019 AmazonWeb Services, Inc. or its Affiliates. All rights reserved. 도커 이미지 생성 Dockerfile Docker image docker build
  • 27.
    © 2019, AmazonWeb Services, Inc. or its affiliates. All rights reserved. version: 0.2 phases: pre_build: commands: - $(aws ecr get-login --no-include-email) build: commands: - docker build --tag “${ECR}:${COMMIT}” -–tag “${ECR}:${TAG}” . post_build: commands: - docker push "${ECR}:${COMMIT}”; docker push “${ECR}:${TAG}”
  • 28.
    © 2019 AmazonWeb Services, Inc. or its Affiliates. All rights reserved. Amazon EC2 Container Registry (ECR) 완전히 관리되는 개인 Docker Registry Docker Registry HTTP API V2 지원 확장 가능하고 사용 가능한 내구성 아키텍처 유휴시 암호화, IAM으로 액세스 제어 이미지 수명주기 관리 다른 AWS 서비스와 통합
  • 29.
    © 2019 AmazonWeb Services, Inc. or its Affiliates. All rights reserved. 도커 지속적 통합 파이프라인 AWS Cloud AWS CodeBuild Multi-Stage Docker Build 3rd party Git repository Git users git push webhook Amazon EC2 Container Registry AWS CodeCommit git push docker push AWS CodeBuild
  • 30.
    © 2019, AmazonWeb Services, Inc. or its affiliates. All rights reserved. 쿠버네티스를 활용한 개발 파이프라인
  • 31.
    © 2019 AmazonWeb Services, Inc. or its Affiliates. All rights reserved. 쿠버네티스 애플리케이션
  • 32.
    © 2019 AmazonWeb Services, Inc. or its Affiliates. All rights reserved. Amazon EKS – Helm / Package 관리 Helm은 Helm Charts 를 통해 K8s 앱을 관리 K8s 응용 Helm Charts 정의 – 템플릿 및 값 (여러 환경에 해당) 설치 – 새 릴리스 작성 업그레이드 – 새 릴리스 개정 작성 (이전 개정으로 롤백) 제작, 버전 관리, 공유 및 게시 – 관리 및 규제에 용이 Kubernetes 응용 프로그램의 릴리스 관리 CI / CD 또는 개발자 랩톱에서 실행
  • 33.
    © 2019 AmazonWeb Services, Inc. or its Affiliates. All rights reserved. 쿠버네티스를 위한 개발 도구 Helm CLI 명령 템플릿 – Helm 템플릿을 로컬로 렌더링하고 출력을 표시합니다 lint – Helm 차트가 올바른지 확인하기 위해 일련의 테스트를 실행합니다. kubeval https://github.com/garethr/kubeval Kubernetes JSON 스키마에 대해 Kubernets YAML / JSON 파일의 유효성을 검증. 쿠베 테스트 https://github.com/garethr/kubetest Kubernetes 구성을 위한 단위 테스트 Skylark (Python dialect) 구성 언어로 테스트 작성
  • 34.
    © 2019 AmazonWeb Services, Inc. or its Affiliates. All rights reserved. Helm chart 을 이용한 지속적 통합 파이프라인 AWS Cloud AWS CodeBuild Helm Dev Tools - helm lint - kubeval - kubetest - package 3rd party Git repository <Helm Chart> Git users git push webhook AWS CodeCommit <Helm Chart> git push helm s3 push AWS CodeBuild Amazon Simple Storage Service (S3)
  • 35.
    © 2019, AmazonWeb Services, Inc. or its affiliates. All rights reserved. EKS 지속적 배포 파이프라인
  • 36.
    © 2019 AmazonWeb Services, Inc. or its Affiliates. All rights reserved. EKS 지속적 배포 파이프라인 AWS Cloud AWS CodeBuild Amazon Elastic Container Service for Kubernetes helm upgrade --install AWS CodePipeline AWS CodePipeline helm test & helm rollback (on error) Amazon EC2 Container Registry Amazon Simple Storage Service (S3) source source Helm Repository
  • 37.
    © 2019, AmazonWeb Services, Inc. or its affiliates. All rights reserved. 모든 도구를 통합한 현대적 애플리케이션을 위한 EKS 파이프라인
  • 38.
    © 2019 AmazonWeb Services, Inc. or its Affiliates. All rights reserved. EKS 통합 배포 파이프라인 AWS CodeBuild Amazon Elastic Container Service for Kubernetes helm upgrade --install AWS CodePipeline AWS CodePipeline helm test & helm rollback (on error) Amazon EC2 Container Registry Amazon Simple Storage Service (S3) source source Helm Repository AWS CodeBuild Helm Dev Tools - helm lint - kubeval - kubetest 3rd party Git repository <Helm Chart> Git users git push webhook AWS CodeCommit <Helm Chart> git push helm s3 push AWS CodeBuild AWS CodeBuild Multi-Stage Docker Build 3rd party Git repository Git users git push webhook AWS CodeCommit git push docker push AWS CodeBuild
  • 39.
    © 2019 AmazonWeb Services, Inc. or its Affiliates. All rights reserved. 현대적 애플리케이션 개발 접근 방법 AWS 컨테이너 서비스를 활용한 • 운영 환경 관리 간소화 서버리스/컨테이너 활용 • 코드 변경으로 인한 영향 감소 마이크로 서비스 아키텍처 도입 • 작업 자동화 어플리케이션 모델링 & 코드로서 인프라스트럭처 도입 • 서비스 제공 가속화 지속적 통합/지속적 배포 • 리소스 및 애플리케이션에 대한 통찰력 확보 가시성 확보를 위한 도구 • 고객 및 비지니스 보호 종단간 보안 구성 & 준법감시,법규준수
  • 40.
    © 2019 AmazonWeb Services, Inc. or its Affiliates. All rights reserved. 교육 Developing on AWS 과정에서는 AWS SDK를 사용하여 안전하고 확장 가능한 클라우드 애플리케이션을 개발하는 방법을 배웁니다. 또한 코드를 사용하여 AWS와 상호작용하는 방법을 살펴보고, 주요 개념, 모범 사례 및 문제 해결 팁을 설명합니다. 자격증 AWS Certified Developer – Associate 1년 이상의 실무 경험이 있는 개발자 대상 이 시험은 핵심 AWS 서비스의 사용 방법과 기본적인 AWS 아키텍처 모범 사례를 이해하고 있음을 입증해줍니다. 해당 자격증을 통해 AWS를 사용하여 클라우드 기반 애플리케이션을 능숙하게 개발, 배포 및 디버깅할 수 있음을 증명하실 수 있습니다. AWS 교육 및 자격증을 통해 현대적 애플리케이션 개발에 첫 발을 내딛으세요 자격증 AWS Certified DevOps Engineer – Professional 2년 이상의 실무 경험이 있는 DevOps 엔지니어 대상 이 시험은 AWS 환경을 프로비저닝하고 운영 및 관리할 수 있음을 입증해줍니다. 해당 자격증을 통해 AWS 플랫폼에서 높은 가용성, 뛰어난 확장성 및 자가 치유 기능이 있는 시스템을 구현할 수 있으며, 운영 프로세스를 자동화할 수 있는 도구를 설계 관리 및 유지할 수 있음을 증명하실 수 있습니다. https://www.aws.training/ 에서 더 많은 정보를 확인해보세요!
  • 41.
    © 2019, AmazonWeb Services, Inc. or its affiliates. All rights reserved. aws-korea-marketing@amazon.com twitter.com/AWSKorea facebook.com/amazonwebservices.ko youtube.com/user/AWSKorea slideshare.net/awskorea twitch.tv/aws 캠페인 온라인 세미나: 애플리케이션 현대화 및 개발 특집에 참석해주셔서 대단히 감사합니다. 저희가 준비한 내용, 어떻게 보셨나요? 더 나은 세미나를 위하여 설문을 꼭 작성해 주시기 바랍니다.