aws innovate: aws container management using amazon ec2 container service and amazon ec2 container...

49
AWS ECS/ECR을 활용한 컨테이너 운영 김기완 , 솔루션즈 아키텍트, Amazon Web Services

Upload: amazon-web-services-korea

Post on 12-Apr-2017

416 views

Category:

Technology


4 download

TRANSCRIPT

Page 1: AWS Innovate:  AWS Container Management using Amazon EC2 Container Service and Amazon EC2 Container Registry - Kiwan Kim

AWS ECS/ECR을활용한컨테이너운영

김기완 , 솔루션즈아키텍트, Amazon Web Services

Page 2: AWS Innovate:  AWS Container Management using Amazon EC2 Container Service and Amazon EC2 Container Registry - Kiwan Kim

목차

•왜컨테이너인가?

•클러스터관리

• ECS의주요이점

•서비스운영

• EC2 컨테이너레지스트리

Page 3: AWS Innovate:  AWS Container Management using Amazon EC2 Container Service and Amazon EC2 Container Registry - Kiwan Kim

왜컨테이너인가?

Page 4: AWS Innovate:  AWS Container Management using Amazon EC2 Container Service and Amazon EC2 Container Registry - Kiwan Kim

목차

•왜컨테이너인가?

•클러스터관리

• ECS의주요이점

•서비스운영

• EC2 컨테이너레지스트리

Page 5: AWS Innovate:  AWS Container Management using Amazon EC2 Container Service and Amazon EC2 Container Registry - Kiwan Kim

컨테이너란?

•운영체제가상화

•프로세스격리

•이미지

•자동화Server

Guest OS

Bins/Libs Bins/Libs

App2App1

Page 6: AWS Innovate:  AWS Container Management using Amazon EC2 Container Service and Amazon EC2 Container Registry - Kiwan Kim

컨테이너의장점

•이식성

•유연성

•신속성

•효율성Server

Guest OS

Bins/Libs Bins/Libs

App2App1

Page 7: AWS Innovate:  AWS Container Management using Amazon EC2 Container Service and Amazon EC2 Container Registry - Kiwan Kim

서비스는마이크로서비스로진화

Monolithic Application

Order UI User UI Shipping UI

Order

ServiceUser

Service

Shipping

Service

Data

Access

Host 1

Service A

Service B

Host 2

Service B

Service D

Host 3

Service A

Service C

Host 4

Service B

Service C

Page 8: AWS Innovate:  AWS Container Management using Amazon EC2 Container Service and Amazon EC2 Container Registry - Kiwan Kim

컨테이너는마이크로서비스에최적

•모델링단순화

•어플리케이션, 프로그래밍언어의자유

•이미지가곧버전

•동일한이미지를테스트 & 배포

•상태를공유하지않는서버로리스크감소

Page 9: AWS Innovate:  AWS Container Management using Amazon EC2 Container Service and Amazon EC2 Container Registry - Kiwan Kim

스케줄링

Page 10: AWS Innovate:  AWS Container Management using Amazon EC2 Container Service and Amazon EC2 Container Registry - Kiwan Kim

Server

Guest OS

Bins/Libs Bins/Libs

App2App1

하나의자원을스케줄링

Page 11: AWS Innovate:  AWS Container Management using Amazon EC2 Container Service and Amazon EC2 Container Registry - Kiwan Kim

클러스터를스케줄링?

Server

Guest OS

Server

Guest OS

Server

Guest OS

Server

Guest OS

Server

Guest OS

Server

Guest OS

Server

Guest OS

Server

Guest OS

Server

Guest OS

Server

Guest OS

Server

Guest OS

Server

Guest OS

Server

Guest OS

Server

Guest OS

Server

Guest OS

Server

Guest OS

Server

Guest OS

Server

Guest OS

Server

Guest OS

Server

Guest OS

Server

Guest OS

Server

Guest OS

Server

Guest OS

Server

Guest OS

Server

Guest OS

Server

Guest OS

Server

Guest OS

Server

Guest OS

Server

Guest OS

Server

Guest OS

Server

Guest OS

Server

Guest OS

Server

Guest OS

Server

Guest OS

Server

Guest OS

Server

Guest OS

Server

Guest OS

Server

Guest OS

Server

Guest OS

Server

Guest OS

Server

Guest OS

Server

Guest OS

Server

Guest OS

Server

Guest OS

Server

Guest OS

Server

Guest OS

Server

Guest OS

Server

Guest OS

Server

Guest OS

Server

Guest OS

Server

Guest OS

Server

Guest OS

Server

Guest OS

Server

Guest OS

Server

Guest OS

Server

Guest OS

Server

Guest OS

Server

Guest OS

Server

Guest OS

Server

Guest OS

Page 12: AWS Innovate:  AWS Container Management using Amazon EC2 Container Service and Amazon EC2 Container Registry - Kiwan Kim

클러스터관리

Page 13: AWS Innovate:  AWS Container Management using Amazon EC2 Container Service and Amazon EC2 Container Registry - Kiwan Kim

클러스터관리 : 자원관리

DockerTask

EC2 Instance

Container

Docker

Task

EC2 Instance

Container

Task

Container

Docker

EC2 Instance

Task

Container

AZ 1 AZ 2

Page 14: AWS Innovate:  AWS Container Management using Amazon EC2 Container Service and Amazon EC2 Container Registry - Kiwan Kim

클러스터관리: 스케줄링

DockerTask

EC2 Instance

Container

Docker

Task

EC2 Instance

Container

Task

Container

Docker

EC2 Instance

Task

Container

AZ 1 AZ 2

Page 15: AWS Innovate:  AWS Container Management using Amazon EC2 Container Service and Amazon EC2 Container Registry - Kiwan Kim

Amazon ECS : 자원관리

DockerTask

Container Instance

Container

Task

Container

Docker

Task

Container Instance

Container

Task

Container

DockerTask

Container Instance

Container

Task

Container

AZ 1 AZ 2

Cluster Management Engine

Page 16: AWS Innovate:  AWS Container Management using Amazon EC2 Container Service and Amazon EC2 Container Registry - Kiwan Kim

Amazon ECS : Agent 통신

DockerTask

Container Instance

Container

ECS Agent

Task

Container

Docker

Task

Container Instance

Container

ECS Agent

Task

Container

DockerTask

Container Instance

Container

ECS Agent

Task

Container

AZ 1 AZ 2

Cluster Management Engine

Agent Communication Service

Page 17: AWS Innovate:  AWS Container Management using Amazon EC2 Container Service and Amazon EC2 Container Registry - Kiwan Kim

Amazon ECS : Key/Value Store

DockerTask

Container Instance

Container

ECS Agent

ELB

Internet

ELB

Task

Container

Docker

Task

Container Instance

Container

ECS Agent

Task

Container

DockerTask

Container Instance

Container

ECS Agent

Task

Container

AZ 1 AZ 2

Key/Value Store

Cluster Management Engine

Agent Communication Service

Page 18: AWS Innovate:  AWS Container Management using Amazon EC2 Container Service and Amazon EC2 Container Registry - Kiwan Kim

Amazon ECS 내부

IDN-1 IDN IDN+1 IDN+2 IDN+3 IDN+4 IDN+5

IDN+6

IDN+5

WRITE

READ

Page 19: AWS Innovate:  AWS Container Management using Amazon EC2 Container Service and Amazon EC2 Container Registry - Kiwan Kim

Amazon ECS 내부

IDN-1 IDN IDN+1 IDN+2 IDN+3 IDN+4 IDN+5

IDN+6IDN+3

IDN+5IDN+2

WRITE WRITE

READREAD

Page 20: AWS Innovate:  AWS Container Management using Amazon EC2 Container Service and Amazon EC2 Container Registry - Kiwan Kim

Amazon ECS : API

DockerTask

Container Instance

Container

ECS Agent

ELB

Internet

ELB

User / Scheduler

API

Cluster Management Engine

Task

Container

Docker

Task

Container Instance

Container

ECS Agent

Task

Container

DockerTask

Container Instance

Container

ECS Agent

Task

Container

AZ 1 AZ 2

Key/Value Store

Agent Communication Service

Page 21: AWS Innovate:  AWS Container Management using Amazon EC2 Container Service and Amazon EC2 Container Registry - Kiwan Kim

Amazon ECS: 스케줄링

DockerTask

Container Instance

Container

ECS Agent

ELB

Internet

ELB

User / Scheduler

API

Cluster Management Engine

Task

Container

Docker

Task

Container Instance

Container

ECS Agent

Task

Container

DockerTask

Container Instance

Container

ECS Agent

Task

Container

AZ 1 AZ 2

Key/Value Store

Agent Communication Service

Page 22: AWS Innovate:  AWS Container Management using Amazon EC2 Container Service and Amazon EC2 Container Registry - Kiwan Kim

Amazon ECS: 스케줄링

Page 23: AWS Innovate:  AWS Container Management using Amazon EC2 Container Service and Amazon EC2 Container Registry - Kiwan Kim

Amazon ECS: Scheduling

Page 24: AWS Innovate:  AWS Container Management using Amazon EC2 Container Service and Amazon EC2 Container Registry - Kiwan Kim

Amazon ECS: Scheduling

Page 25: AWS Innovate:  AWS Container Management using Amazon EC2 Container Service and Amazon EC2 Container Registry - Kiwan Kim

Amazon ECS: Scheduling

Page 26: AWS Innovate:  AWS Container Management using Amazon EC2 Container Service and Amazon EC2 Container Registry - Kiwan Kim

ECS의이점

Page 27: AWS Innovate:  AWS Container Management using Amazon EC2 Container Service and Amazon EC2 Container Registry - Kiwan Kim

클러스터의스케일을손쉽게관리

•운영요소없음

•완전한상태관리

•제어및모니터링

•확장성

Page 28: AWS Innovate:  AWS Container Management using Amazon EC2 Container Service and Amazon EC2 Container Registry - Kiwan Kim

확장성

Page 29: AWS Innovate:  AWS Container Management using Amazon EC2 Container Service and Amazon EC2 Container Registry - Kiwan Kim

유연한컨테이너배치

•어플리케이션

•배치작업

•다양한스케줄러와연결

Page 30: AWS Innovate:  AWS Container Management using Amazon EC2 Container Service and Amazon EC2 Container Registry - Kiwan Kim

다른 AWS 서비스들과의통합

• Elastic Load Balancing

• Amazon Elastic Block Store

• Amazon Virtual Private Cloud

• Amazon CloudWatch

• AWS Identity and Access Management

• AWS CloudTrail

Page 31: AWS Innovate:  AWS Container Management using Amazon EC2 Container Service and Amazon EC2 Container Registry - Kiwan Kim

확장성

• Comprehensive APIs

•외부 scheduler 활용

• Open source agent 및 CLI

Page 32: AWS Innovate:  AWS Container Management using Amazon EC2 Container Service and Amazon EC2 Container Registry - Kiwan Kim

Amazon ECS

DockerTask

Container Instance

Amazon ECS

Container

ECS Agent

ELB

Internet

ELB

User / Scheduler

API

Cluster Management Engine

Task

Container

Docker

Task

Container Instance

Container

ECS Agent

Task

Container

DockerTask

Container Instance

Container

ECS Agent

Task

Container

AZ 1 AZ 2

Key/Value Store

Agent Communication Service

Page 33: AWS Innovate:  AWS Container Management using Amazon EC2 Container Service and Amazon EC2 Container Registry - Kiwan Kim

서비스운영

Page 34: AWS Innovate:  AWS Container Management using Amazon EC2 Container Service and Amazon EC2 Container Registry - Kiwan Kim

Task (작업) 정의

볼륨 (Volume)정의

컨테이너정의

Page 35: AWS Innovate:  AWS Container Management using Amazon EC2 Container Service and Amazon EC2 Container Registry - Kiwan Kim

주요구성요소 : 작업정의파일

Page 36: AWS Innovate:  AWS Container Management using Amazon EC2 Container Service and Amazon EC2 Container Registry - Kiwan Kim

주요구성요소 : 작업정의파일

Page 37: AWS Innovate:  AWS Container Management using Amazon EC2 Container Service and Amazon EC2 Container Registry - Kiwan Kim

작업

공유볼륨

컨테이너

스케줄컨테이너인스턴스

볼륨정의

컨테이너정의

Page 38: AWS Innovate:  AWS Container Management using Amazon EC2 Container Service and Amazon EC2 Container Registry - Kiwan Kim

일의단위

관련있는컨테이너들의묶음

컨테이너인스턴스에서구동됨

작업

Page 39: AWS Innovate:  AWS Container Management using Amazon EC2 Container Service and Amazon EC2 Container Registry - Kiwan Kim

서비스생성하기

장시간운영되는어플리케이션및서비스에적합

Page 40: AWS Innovate:  AWS Container Management using Amazon EC2 Container Service and Amazon EC2 Container Registry - Kiwan Kim

서비스생성

• 컨테이너들에대한트래픽로드밸런싱

• 컨테이너장애에대한자동복구

• 서비스디스커버

Elastic Load Balancing

공유데이터볼륨

컨테이너

공유데이터볼륨

컨테이너

공유데이터볼륨

컨테이너

Page 41: AWS Innovate:  AWS Container Management using Amazon EC2 Container Service and Amazon EC2 Container Registry - Kiwan Kim

서비스스케일링

• 스케일업

• 스케일다운

Elastic Load Balancing

공유데이터볼륨

컨테이너

공유데이터볼륨

컨테이너

공유데이터볼륨

컨테이너

공유데이터볼륨

컨테이너

Page 42: AWS Innovate:  AWS Container Management using Amazon EC2 Container Service and Amazon EC2 Container Registry - Kiwan Kim

서비스업데이트

• 새로운버전배포

• 커넥션드레이닝

공유데이터볼륨

컨테이너

공유데이터볼륨

컨테이너

공유데이터볼륨

컨테이너

new new new

Elastic Load Balancing

공유데이터볼륨

컨테이너

공유데이터볼륨

컨테이너

공유데이터볼륨

컨테이너

old old old

Page 43: AWS Innovate:  AWS Container Management using Amazon EC2 Container Service and Amazon EC2 Container Registry - Kiwan Kim

서비스업데이트

• 새로운버전배포

• 커넥션드레이닝

공유데이터볼륨

컨테이너

공유데이터볼륨

컨테이너

공유데이터볼륨

컨테이너

new new new

Elastic Load Balancing

공유데이터볼륨

컨테이너

공유데이터볼륨

컨테이너

공유데이터볼륨

컨테이너

old old old

Page 44: AWS Innovate:  AWS Container Management using Amazon EC2 Container Service and Amazon EC2 Container Registry - Kiwan Kim

서비스업데이트

• 새로운버전배포

• 커넥션드레이닝

Elastic Load Balancing

공유데이터볼륨

컨테이너

공유데이터볼륨

컨테이너

공유데이터볼륨

컨테이너

new new new

Page 45: AWS Innovate:  AWS Container Management using Amazon EC2 Container Service and Amazon EC2 Container Registry - Kiwan Kim

EC2 컨테이너레지스트리

Page 46: AWS Innovate:  AWS Container Management using Amazon EC2 Container Service and Amazon EC2 Container Registry - Kiwan Kim

• Docker Hub

• Docker Registry

• Docker Trusted Registry

• Amazon EC2 Container Registry(ECR)

완전관리형서비스

Amazon ECS 통합

Docker호환

고가용성및내구성

팀협업

간단한워크플로우

접근 제어

암호화

모니터링

3rd 파티 통합

도커레지스트리구성옵션

Page 47: AWS Innovate:  AWS Container Management using Amazon EC2 Container Service and Amazon EC2 Container Registry - Kiwan Kim

•보안• IAM 자원기반정책• 전송및저장시이미지의암호화

•이미지의손쉬운관리및배포• ECS서비스와긴밀한통합• 단독서비스사용가능• Docker툴세트와통합• 관리콘솔 & AWS CLI

•신뢰성 & 성능• S3 저장소• 지역단위엔드포인트• 수백단위동시 pulls 처리

EC2 Container Registry 장점

Page 48: AWS Innovate:  AWS Container Management using Amazon EC2 Container Service and Amazon EC2 Container Registry - Kiwan Kim

Online Labs & Training

Gain confidence and hands-on experience with AWS.

Watch free Instructional Videos and explore Self-Paced Labs

Instructor Led Classes

Learn how to design, deploy and operate highly available, cost-

effective and secure applications on AWS in courses led by qualified

AWS instructors

Validate your technical expertise with AWS and use practice exams to help you

prepare for AWS Certification

AWS Certification

More info at http://aws.amazon.com/training

Page 49: AWS Innovate:  AWS Container Management using Amazon EC2 Container Service and Amazon EC2 Container Registry - Kiwan Kim

Thank You for Attending AWS Innovate

We hope you found it interesting! Do provide us with your feedback for the session and complete the feedback form.

Let us know your thoughts of today’s event and how we can improve the event experience for you in the future.