Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
정영준, AWS 솔루션즈 아키텍트 · 송주영, 삼성전자 선임연구원
Amazon ECS를...
본 강연에서 다룰 내용
• AWS의 컨테이너 환경
• ECS 를 활용한 컨테이너 환경의 장점
• 운영환경에서 컨테이너 활용을 위한 구조
• 삼성전자 고객 사례
• ECS 고급 활용을 위한 도구
• 맺음말
멀티 호스트 컨테이너 스케줄 전략은?
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Serve...
AWS 에서 제공되는 다양한 Docker 환경
• Amazon ECS
• CoreOS Tectonic (Kubernetes)
• Mesosphere DC/OS (Mesos)
• Docker Datacenter
AWS 에서 Docker 환경 구축하기
어떤 Docker 환경을 선택 하실건가요?Start!
You ==
Wizard?
Legacy
Apps?
Big
Data?
Cluster >
10000?
Love
Docker
CLI...
Amazon EC2 Container Service
모든 규모의
컨테이너 관리
유연한 컨테이너
배치 기능
AWS 에서
플랫폼으로 통합
Overview
ECS
관리를 위한 별도의
어플리케이션 이 필요 없음
매니지드 서비스
Overview
ECS
Overview
ECS
부하분산
모니터링접근제어
네트워킹로깅
자동확장
Deep integration
Amazon ECS
Docker
Task
Container Instance
Container
ECS Agent
ELB
Internet User /
Scheduler
Task
Container
Docker
Task
Container Inst...
ECS의 구성 요소
작업
인스턴스에서 실행되는 실제
컨테이너작업
작업 정의
작업에 대한 컨테이너 및 환경의
정의
클러스터
작업이 실행되는 EC2
인스턴스의 함대
매니저
클러스터 리소스 및 작업
상태 관리
스케줄러
클러스...
클러스터, 스케줄러, 작업
스케줄러
매니저클러스터
작업 정의
작업
에이전트
간단한 ECS 시연영상 – 3min
운영
효율화
신뢰성 향상
최적화된 자원 활용 운영 부담 최소화
성능 효율성 &
비용 최적화
ECS 통한
운영 효율화
작업 배치 구조
클러스터 제약조건
고객 제약조건
배치 전략
필터 적용
CPU, 메모리 및 포트 요구 사항 충족
위치, 인스턴스 유형, AMI 또는 사용자 정의
속성 제약에 대한 필터링
배치 전략...
배치 조건
이름 예시
AMI ID attribute:ecs.ami-id == ami-eca289fb
가용영역 attribute:ecs.availability-zone == us-east-1a
인스턴스 타입 attribu...
지원되는 배치전략
Binpacking Spread Affinity Distinct Instance
ECS 통한
운영 효율화
C4 R3 M4R3 R3
R3 R3 R3
M4 M4
M4 M4 M4
C4 C4
C4 C4 C4
연산집약 서비스 인메모리 서비스 I/O 위주 서비스
C4
ECS 클러스터
R3 M4R3 R3
R3 R3 R3
M4 M4
M4 M4 M4
C4 C4
C4 C4 C4
연산집약 서비스 인메모리 서비스I/O 위주 서비스
C4
ECS 클러스터
R3 R3 R3
R3 R3 R3
M4
M4
M4 M4
M4 M4
C4 C4
C4 C4 C4
연산집약 서비스 I/O 위주 서비스메모리 서비스
Spot Fleet
C4
C4
R3
R3
Using ECS
Companies
삼성전자 ECS 도입 사례
Galaxy S8 | S8+
Samsung KNOX / IOT
SAMSUNG KNOX
ECS for
Development
SAMSUNG KNOX
Background
Service3
Service2
Service1
Service5
HQ
Canada
India
USA
China
Vietnam
Service4
Developer
Techops
D...
SAMSUNG KNOX
Problems &
Requirements
§ Easy to manage
§ Reduce cost
§ Convenience / Simple
§ Automation
§ Many services
§ ...
Samsung KNOX - Container for developers (2015)
Bastion / EC2
#/bin/sh
#1 Mapping Port
#2 Create Container
#3 Create ELB
#4...
Samsung KNOX - Container for developers (2015)
Bastion / EC2
Shipping app!
Deployment by ansible-playbook
Ansible Script :...
SAMSUNG KNOX
Benefit!?
Benefit
§ Easy to manage : 30↑ instances -> Just one r3.2xlarge !
§ Cost : $1.5 -> $0.665
§ Automat...
KubernetesECS
Samsung KNOX – Orchestration (2016)
Mesos Swarm
Samsung KNOX - Container for developers (2017~)
ECS
OS
Bins/Libs Bins/Libs
App2App1
Create image from Dockerfile
Create EC...
SAMSUNG IOT
With
ECS for
Production
Samsung IOT - Container for production (2017~)
Download App
Create image from Dockerfile
Push to ECR
Register Task definit...
제어
다양한
Introducing
Blox
Introducing
개발자는 다음과 같은 기능이 필요합니다
오픈 소스
Blox
Introducing
공개
Blox
Introducing
Blox
EC2 인스턴스,
AWS의 컨테이너
또는 원하는 곳에서
로컬, 사내 구축 환경
어느곳에서나 실행가능
컨테이너 배포
ECS API 호출
상태 동기화
쿼리
Vision
The
Blox 제어권
Roadmap
The
Blox
http://blox.github.io
Open
Source
12 개 가용 영역의 3 개 영역에 100,000 개 인스턴스
서비스 민첩성을 위해 채택 된 마이크로 서비스
2016 년 컨테이너로 이동 시작
AWS를 사용하여 운영 부담을 최소화하는 회사
ECS 팀과 협력하여 Titu...
모니터링 디버깅
AWS X-Ray
• 완전 관리형 분산 애플리케이션 성능 추적 서비스
• 마이크로서비스 시작과 끝에 대한 디버깅 및 추적
ü 서비스에 대한 시각적 토폴로지 제공
ü 개별 요청에 대한 로그 추적
ü 성능 이슈 및 오류 발...
AWS X-Ray - 에이전트 설치 및 추적 기능
1. Amazon EC2
2. Amazon ECS (Docker)
3. AWS Node.JS (SDK)
데모: AWS X-Ray를 통한 성능 모니터링
Amazon ECS 체크 포인트
• 다양한 규모에서 손쉽게 확장 가능한 관리 형 서비스
• 손쉬운 오케스트레이션 및 자동화로 운영 효율 향상
• 기본 AWS 통합
• IAM 역할, ALB, VPC, Cloudwatch ...
본 강연이 끝난 후…
• 마이크로서비스를 위한 AWS 아키텍처 패턴 및 모범 사례 (윤석찬, 빙글 이상현)
• Amazon ECS 시작하기 - https://aws.amazon.com/ko/ecs/getting-star...
함께 해주셔서 감사합니다!
https://www.awssummit.kr
AWS Summit 모바일 앱을 통해 지금 세션 평가에
참여하시면, 행사후 기념품을 드립니다.
#AWSSummitKR 해시태그로 소셜 미디어에
여러분의 행사 소감을 올려주세요...
Amazon ECS를 통한 도커 기반 콘테이너 서비스 구축하기 - AWS Summit Seoul 2017
Amazon ECS를 통한 도커 기반 콘테이너 서비스 구축하기 - AWS Summit Seoul 2017
Amazon ECS를 통한 도커 기반 콘테이너 서비스 구축하기 - AWS Summit Seoul 2017
Amazon ECS를 통한 도커 기반 콘테이너 서비스 구축하기 - AWS Summit Seoul 2017
Amazon ECS를 통한 도커 기반 콘테이너 서비스 구축하기 - AWS Summit Seoul 2017
Upcoming SlideShare
Loading in …5
×

Amazon ECS를 통한 도커 기반 콘테이너 서비스 구축하기 - AWS Summit Seoul 2017

1,565 views

Published on

Published in: Technology

Amazon ECS를 통한 도커 기반 콘테이너 서비스 구축하기 - AWS Summit Seoul 2017

  1. 1. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 정영준, AWS 솔루션즈 아키텍트 · 송주영, 삼성전자 선임연구원 Amazon ECS를 통한 Docker 기반 컨테이너 서비스 구축하기 의 ECS 를 이용한 Docker 활용기
  2. 2. 본 강연에서 다룰 내용 • AWS의 컨테이너 환경 • ECS 를 활용한 컨테이너 환경의 장점 • 운영환경에서 컨테이너 활용을 위한 구조 • 삼성전자 고객 사례 • ECS 고급 활용을 위한 도구 • 맺음말
  3. 3. 멀티 호스트 컨테이너 스케줄 전략은? 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
  4. 4. AWS 에서 제공되는 다양한 Docker 환경 • Amazon ECS • CoreOS Tectonic (Kubernetes) • Mesosphere DC/OS (Mesos) • Docker Datacenter
  5. 5. AWS 에서 Docker 환경 구축하기 어떤 Docker 환경을 선택 하실건가요?Start! You == Wizard? Legacy Apps? Big Data? Cluster > 10000? Love Docker CLI? Cluster > 1000? Cluster > 200? Huge IT team? No Yes No Yes Inspiration: http://adrianotto.com/wp- content/uploads/2016/02/c hoose-adventure- 1024x574.png No Yes Yes YesNoYesNoYes Yes
  6. 6. Amazon EC2 Container Service 모든 규모의 컨테이너 관리 유연한 컨테이너 배치 기능 AWS 에서 플랫폼으로 통합
  7. 7. Overview ECS 관리를 위한 별도의 어플리케이션 이 필요 없음
  8. 8. 매니지드 서비스 Overview ECS
  9. 9. Overview ECS 부하분산 모니터링접근제어 네트워킹로깅 자동확장 Deep integration Amazon ECS
  10. 10. Docker Task Container Instance Container ECS Agent ELB Internet User / Scheduler Task Container Docker Task Container Instance Container ECS Agent Task Container AZ 1 ELB Docker Task Container Instance Container ECS Agent Task Container AZ 2 Amazon ECS API Cluster Management Engine Key/Value Store Agent Communication Service Amazon ECS
  11. 11. ECS의 구성 요소 작업 인스턴스에서 실행되는 실제 컨테이너작업 작업 정의 작업에 대한 컨테이너 및 환경의 정의 클러스터 작업이 실행되는 EC2 인스턴스의 함대 매니저 클러스터 리소스 및 작업 상태 관리 스케줄러 클러스터 상태를 고려한 작업 배치 에이전트 EC2 인스턴스 및 매니저와 통신
  12. 12. 클러스터, 스케줄러, 작업 스케줄러 매니저클러스터 작업 정의 작업 에이전트
  13. 13. 간단한 ECS 시연영상 – 3min
  14. 14. 운영 효율화
  15. 15. 신뢰성 향상
  16. 16. 최적화된 자원 활용 운영 부담 최소화 성능 효율성 & 비용 최적화
  17. 17. ECS 통한 운영 효율화 작업 배치 구조 클러스터 제약조건 고객 제약조건 배치 전략 필터 적용 CPU, 메모리 및 포트 요구 사항 충족 위치, 인스턴스 유형, AMI 또는 사용자 정의 속성 제약에 대한 필터링 배치 전략을 충족하는 인스턴스 식별 배치 할 최종 컨테이너 인스턴스 선택
  18. 18. 배치 조건 이름 예시 AMI ID attribute:ecs.ami-id == ami-eca289fb 가용영역 attribute:ecs.availability-zone == us-east-1a 인스턴스 타입 attribute:ecs.instance-type == t2.small 고유 인스턴스 type=“distinctInstances” 커스텀 attribute:stack == prod ECS 통한 운영 효율화
  19. 19. 지원되는 배치전략 Binpacking Spread Affinity Distinct Instance ECS 통한 운영 효율화
  20. 20. C4 R3 M4R3 R3 R3 R3 R3 M4 M4 M4 M4 M4 C4 C4 C4 C4 C4 연산집약 서비스 인메모리 서비스 I/O 위주 서비스
  21. 21. C4 ECS 클러스터 R3 M4R3 R3 R3 R3 R3 M4 M4 M4 M4 M4 C4 C4 C4 C4 C4 연산집약 서비스 인메모리 서비스I/O 위주 서비스
  22. 22. C4 ECS 클러스터 R3 R3 R3 R3 R3 R3 M4 M4 M4 M4 M4 M4 C4 C4 C4 C4 C4 연산집약 서비스 I/O 위주 서비스메모리 서비스 Spot Fleet C4 C4 R3 R3
  23. 23. Using ECS Companies
  24. 24. 삼성전자 ECS 도입 사례
  25. 25. Galaxy S8 | S8+
  26. 26. Samsung KNOX / IOT
  27. 27. SAMSUNG KNOX ECS for Development
  28. 28. SAMSUNG KNOX Background Service3 Service2 Service1 Service5 HQ Canada India USA China Vietnam Service4 Developer Techops Devops
  29. 29. SAMSUNG KNOX Problems & Requirements § Easy to manage § Reduce cost § Convenience / Simple § Automation § Many services § Many people (teams) § Unpredictable § Communication § Rules & Convention Problems Requirements
  30. 30. Samsung KNOX - Container for developers (2015) Bastion / EC2 #/bin/sh #1 Mapping Port #2 Create Container #3 Create ELB #4 Create Route53 addr #5 From Standard docker image Create resources Parameter - service name - DNS ( SSL ) - Maker Local Jenkins EC2 Docker Container# Container# Container# Container#
  31. 31. Samsung KNOX - Container for developers (2015) Bastion / EC2 Shipping app! Deployment by ansible-playbook Ansible Script : standard-deployment.yml Parameter: 1) 1) Hosts 2) src_app_name 2) 3) dest_app_name 4) file_path 5) etc Local Jenkins EC2 Docker Container# Container# Container# Container# Monitoring Netdata
  32. 32. SAMSUNG KNOX Benefit!? Benefit § Easy to manage : 30↑ instances -> Just one r3.2xlarge ! § Cost : $1.5 -> $0.665 § Automation : 1 trigger , standard § Performance : 1~2 bursting core -> 4 core But!! • Single failure point • Unexpected resources • Unexpected usage • Expandability & Flexibility • Managing
  33. 33. KubernetesECS Samsung KNOX – Orchestration (2016) Mesos Swarm
  34. 34. Samsung KNOX - Container for developers (2017~) ECS OS Bins/Libs Bins/Libs App2App1 Create image from Dockerfile Create ECR Create listener + TG Register Task definition Run task ECS + ECR + ALB + t2.xlarge! Local Jenkins Host-based ALB Bastion / EC2 ECS OS Bins/Libs Bins/Libs App2App1 ECS OS Bins/Libs Bins/Libs App2App1 ECS OS Bins/Libs Bins/Libs App2App1
  35. 35. SAMSUNG IOT With ECS for Production
  36. 36. Samsung IOT - Container for production (2017~) Download App Create image from Dockerfile Push to ECR Register Task definition Jenkins / EC2 Account #2 Account #3 Gitlab / EC2Account #1 Terraform + ECS + ECR + ALB Local Jenkins ALB Policy ECS Slave On AWS Console Update service! Account #nTerraform Infrastructure as a code ECS OS Bins/Libs Bins/Libs App2App1 ECS OS Bins/Libs Bins/Libs App2App1 ECS OS Bins/Libs Bins/Libs App2App1 ECS OS Bins/Libs Bins/Libs App2App1
  37. 37. 제어 다양한
  38. 38. Introducing
  39. 39. Blox Introducing 개발자는 다음과 같은 기능이 필요합니다
  40. 40. 오픈 소스 Blox Introducing
  41. 41. 공개 Blox Introducing
  42. 42. Blox EC2 인스턴스, AWS의 컨테이너 또는 원하는 곳에서 로컬, 사내 구축 환경 어느곳에서나 실행가능 컨테이너 배포 ECS API 호출 상태 동기화 쿼리
  43. 43. Vision The Blox 제어권
  44. 44. Roadmap The Blox
  45. 45. http://blox.github.io Open Source
  46. 46. 12 개 가용 영역의 3 개 영역에 100,000 개 인스턴스 서비스 민첩성을 위해 채택 된 마이크로 서비스 2016 년 컨테이너로 이동 시작 AWS를 사용하여 운영 부담을 최소화하는 회사 ECS 팀과 협력하여 Titus(Netflix container 환경)를 ECS에 통합 ECS를 활용하여 모든 컨테이너 워크로드를 호스팅 하려고 계획 중
  47. 47. 모니터링 디버깅
  48. 48. AWS X-Ray • 완전 관리형 분산 애플리케이션 성능 추적 서비스 • 마이크로서비스 시작과 끝에 대한 디버깅 및 추적 ü 서비스에 대한 시각적 토폴로지 제공 ü 개별 요청에 대한 로그 추적 ü 성능 이슈 및 오류 발생 원인에 대한 확인 및 문제 해결 호출에 대한 전체 과정 파악 사용자 요청이 애플리케이션을 통과하는 전체 과정을 추적 애플리케이션 성능 개선 지연 시간이 늘어나는 위치를 빠르게 확인한 후 성능이 저하되는 특정 서비스 및 경로에 대한 문제 해결 가능 애플리케이션 문제 식별 트레이스 데이터 태깅 및 필터링을 통해 어느 위치에서 무엇이 성능 문제를 유발하는지 정확히 파악
  49. 49. AWS X-Ray - 에이전트 설치 및 추적 기능 1. Amazon EC2 2. Amazon ECS (Docker) 3. AWS Node.JS (SDK)
  50. 50. 데모: AWS X-Ray를 통한 성능 모니터링
  51. 51. Amazon ECS 체크 포인트 • 다양한 규모에서 손쉽게 확장 가능한 관리 형 서비스 • 손쉬운 오케스트레이션 및 자동화로 운영 효율 향상 • 기본 AWS 통합 • IAM 역할, ALB, VPC, Cloudwatch 로그, 오토스케일, ECR 활용, CodeCommit, CodePipeline, CodeDeploy, X-ray, StepFunction, Etc • Blox 를 통한 ECS 운영 커스터 마이징 • X-Ray, StepFunction 을 통한 모니터링 디버깅 옵션
  52. 52. 본 강연이 끝난 후… • 마이크로서비스를 위한 AWS 아키텍처 패턴 및 모범 사례 (윤석찬, 빙글 이상현) • Amazon ECS 시작하기 - https://aws.amazon.com/ko/ecs/getting-started/ • Amazon ECS 레퍼런스 아키텍처 - https://aws.amazon.com/ko/blogs/compute/service-discovery-an-amazon-ecs- reference-architecture/ • Amazon ECS 자세히 들여다 보기 - http://www.allthingsdistributed.com/2015/07/under-the-hood-of-the-amazon-ec2- container-service.html • Amazon ECS 로 마이크로서비스 구축 하기 - https://www.slideshare.net/AmazonWebServices/aws-reinvent-2016-running- microservices-on-amazon-ecs-con309 • Netflix and Containers (Titus - https://www.slideshare.net/aspyker/netflix-and- containers-titus) • X-Ray 관련 발표 - https://www.youtube.com/watch?v=75MRve4nv8s
  53. 53. 함께 해주셔서 감사합니다!
  54. 54. https://www.awssummit.kr AWS Summit 모바일 앱을 통해 지금 세션 평가에 참여하시면, 행사후 기념품을 드립니다. #AWSSummitKR 해시태그로 소셜 미디어에 여러분의 행사 소감을 올려주세요. 발표 자료 및 녹화 동영상은 AWS Korea 공식 소셜 채널로 공유될 예정입니다. 여러분의 피드백을 기다립니다!

×