Î Ð È ÈÄ Ï Ê ÉÇ Ä É À · 2020-04-27 · © 2020, Amazon Web Services, Inc. or its...
Transcript of Î Ð È ÈÄ Ï Ê ÉÇ Ä É À · 2020-04-27 · © 2020, Amazon Web Services, Inc. or its...
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
솔루션즈아키텍트
AWS Korea
안효빈
솔루션즈아키텍트
AWS Korea
유재석
최신컨테이너기술소개와가시성확보를위한컨테이너로깅/분석최적화
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
다양한컨테이너기반선택옵션제공
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
AWS에서컨테이너활용사
Docker
Host
AWS Cloud
AW
S 관리영역
고객관리영역
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
AWS에서컨테이너활용사
Amazon ECS
EC2 Container
Instances
Auto Scaling group
2015
ECS API
Docker
Host
AWS Cloud
AW
S 관리영역
고객관리영역
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
AWS에서컨테이너활용사
AWS Fargate
Amazon ECS
EC2 Container
Instances
Auto Scaling group
2017
ECS API
Docker
Host
AWS Cloud
AW
S 관리영역
고객관리영역
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
AWS에서컨테이너활용사
AWS Fargate
Amazon ECS
EC2 Container
Instances
Auto Scaling group
Worker
nodes
Auto Scaling groupDIY K8S
ECS API
K8s API
Docker
Host
AWS Cloud
AW
S 관리영역
고객관리영역
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
AWS에서컨테이너활용사
AWS Fargate
Amazon ECSAmazon EKS
EC2 Container
Instances
Auto Scaling group
Worker
nodes
Auto Scaling groupDIY K8S
2018
K8s API ECS API
K8s API
Docker
Host
AWS Cloud
AW
S 관리영역
고객관리영역
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
쿠버네티스컨트롤 플레인 관리
Phase 1
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
쿠버네티스컨트롤 플레인 관리
Phase 1
Phase 2
쿠버네티스데이터플레인관리
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
AWS에서컨테이너활용사
AWS Fargate
Amazon ECSAmazon EKS
EC2 Container
Instances
Auto Scaling group관리형
노드 그룹
Auto Scaling group
Worker
nodes
Auto Scaling groupDIY K8S
2019
K8s API ECS API
K8s API
Docker
Host
AWS Cloud
AW
S 관리영역
고객관리영역
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
AWS에서컨테이너활용사
AWS Fargate
Amazon ECSAmazon EKS
EC2 Container
Instances
K8s API ECS API
AWS Cloud
Auto Scaling group관리형노드그룹
Auto Scaling group
Worker
nodes
Auto Scaling groupDIY K8S
NEW
Docker
Host
K8s API
AW
S 관리영역
고객관리영역
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
고객들이기반 VM을관리할필요없이
컨테이너를사용할수있게하는컴퓨팅엔진
AWS Fargate
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
필요에따른조합
ECS EKS
EC2 Fargate EC2 Fargate
오케스트레이션
컴퓨팅레이어
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Fargate데이터플레인
Fargate VPC
EC2 인스턴스
물리서버
하이퍼바이저
게스트커널 & OS
Fargate 에이전트
컨테이너런타임
고객의컨테이너
EC2 Instance
Fargate task
eth0 Fargate ENI
eth1 고객 ENI
Your VPC
VPC 내다른자원들
EC2 측에서관리
User space
Fargate 측에서관리
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Fargate의장점
필요한만큼만 &
쉬운연동
컨테이너실행에필요한자원만큼만비용지불.
기존 AWS 네트워크, 보안과네이티브하게통합하여사용가능.
기존컨테이너그대로배포가능
기존의컨테이너변경불필요.
현재쿠버네티스, ECS 클러스터의서비스, 워크플로우그대로이용가능.
관리업무로인한오버헤드경감
까다로운컨테이너클러스터관리를 AWS에위임함으로써고객은어플리케이션에만집중가능.
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Amazon ECS 용어
ECS 클러스터 논리적네임스페이스
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Amazon ECS 용어
ECS 클러스터
ECS 작업
논리적네임스페이스
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Amazon ECS 용어
ECS 클러스터
ECS 작업
ECS 서비스
논리적네임스페이스
여러작업을관리
실패한작업을자동으로대체
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
ECS 클러스터
ECS 클러스터와 Amazon EC2 Auto Scaling 그룹
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
ECS 클러스터
ECS 클러스터와 Amazon EC2 Auto Scaling 그룹
EC2 Auto Scaling 그룹
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
ECS 클러스터
ECS 클러스터와 Amazon EC2 Auto Scaling 그룹
EC2 Auto Scaling 그룹
EC2 인스턴스
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
ECS 클러스터
ECS 클러스터와 Amazon EC2 Auto Scaling 그룹
EC2 Auto Scaling 그룹
EC2 인스턴스
ECS 작업
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
클러스터스케일링
EC2 Auto Scaling 그룹
EC2 인스턴스
ECS 작업
ECS 클러스터
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
클러스터스케일링
EC2 Auto Scaling 그룹
EC2 인스턴스
ECS 작업
ECS 클러스터
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
클러스터스케일링
EC2 Auto Scaling 그룹
EC2 인스턴스
ECS 작업
ECS 클러스터
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
클러스터스케일링
EC2 Auto Scaling 그룹
EC2 인스턴스
ECS 작업
ECS 클러스터
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
클러스터스케일링
EC2 Auto Scaling 그룹
EC2 인스턴스
ECS 작업
ECS 클러스터
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
클러스터스케일링
EC2 Auto Scaling 그룹
EC2 인스턴스
ECS 작업
ECS 클러스터
인프라스트럭쳐우선주의
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
어플리케이션우선
어플리케이션우선주의:• 어플리케이션은각자의요구사항이있습니다.
• 인프라스트럭처는어플리케이션의요구조건에응답합니다.
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Amazon ECS 용량공급자:미싱링크
ECS 클러스터
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Amazon ECS 용량공급자:미싱링크
ECS 클러스터
EC2 Auto Scaling Group
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Amazon ECS 용량공급자:미싱링크
ECS 클러스터
ECS 용량공급자
EC2 Auto Scaling Group
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Amazon ECS 용량공급자:미싱링크
ECS 클러스터
ECS 용량공급자
ECS 작업
EC2 Auto Scaling Group
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Amazon ECS 용량공급자:미싱링크
ECS 클러스터
ECS 용량공급자
EC2 인스턴스
ECS 작업
EC2 Auto Scaling Group
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Amazon ECS 용량공급자:미싱링크
ECS 클러스터
ECS 용량공급자
EC2 인스턴스
EC2 Auto Scaling Group
ECS 작업
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Amazon ECS 용량공급자: AWS Fargate
ECS 클러스터
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Amazon ECS 용량공급자: AWS Fargate
ECS 클러스터
ECS 용량공급자
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Amazon ECS 용량공급자: AWS Fargate
ECS 클러스터
ECS 용량공급자
ECS 작업
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
용량공급자를사용한작업수행전략
ECS 클러스터
ECS 용량공급자: CP1
ECS 용량공급자: CP2
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
용량공급자를사용한작업수행전략
ECS 클러스터
ECS 용량공급자: CP1
ECS 용량공급자: CP2
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
용량공급자를사용한작업수행전략
ECS 클러스터
ECS 용량공급자: CP1
ECS 용량공급자: CP2
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
여러용량공급자로분할: 온디멘드와스팟
로드
시간
3 3 3 3 3
4
8 8 8
# 복제수
6 6 6 6 6
8
16 16 16
50% 여유리소스준비:
2/3 온디멘드, 1/3 스팟
+50% 여유+5-10% 추가비용
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
용량공급자를사용하여가용영역균형맞추기
ECS 클러스터
ECS 용량공급자 : CP3
EC2 Auto Scaling 그룹 (AZ1)
ECS 용량공급자 : CP2
ECS 용량공급자: CP1
EC2 Auto Scaling 그룹 (AZ2)
EC2 Auto Scaling 그룹 (AZ3)
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
용량공급자를사용하여가용영역균형맞추기
ECS 클러스터
ECS 용량공급자 : CP3
EC2 Auto Scaling 그룹 (AZ1)
ECS 용량공급자 : CP2
ECS 용량공급자: CP1
EC2 Auto Scaling 그룹 (AZ2)
EC2 Auto Scaling 그룹 (AZ3)
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
가시성향상을위한컨테이너로깅/분석최적화
안효빈
솔루션즈아키텍트
AWS Korea
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
무엇인가?
시간간격에따라측정한데이터
필요한이유는?
트렌드, 데이터에기반한모델링,
예측등에활용
지표 (Metric)
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
무엇인가?
계속해서불규칙적으로발생하는개별이벤트에대한기록
필요한이유는?
긴급하고예측할수없었던문제의원인을분석하는데유용
로그 (Logs)
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
무엇인가?
분산환경에서요청의엔드투엔드흐름을나타내는이벤트
필요한이유는?
요청의구체적인구조와거쳐간경로를파악
추적 (Traces)
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
이것이목표!
관측 (Observability)
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
가시성을향상한다는것은?
Full Stack 가시성: 고객은스택의여러계층에대해서, 특히앱레벨에대한가시성을원합니다
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
컨테이너스택의모든계층에대한가시성F
ull
Sta
ck가시성 애플리케이션레벨
각서비스, 서비스간
컨테이너서비스레벨
서비스, 태스크, 파드
컴퓨트서비스레벨
클러스터, 인스턴스
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
가시성을향상한다는것은?
Full Stack 가시성: 고객은스택의여러계층에대해서, 특히앱레벨에대한가시성을원합니다
기존툴과의호환성: 고객은컨테이너서비스가현재운영중인시스템과잘동작하기를원합니다
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
기존툴과의호환성
기존툴과의호환성
AWS 관리형: Amazon
CloudWatch, AWS X-Ray 등
APN 파트너: Datadog, Splunk,
Sysdig 등
직접관리: Prometheus, Elastic
Stack 등
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
가시성을향상한다는것은?
Full Stack 가시성: 고객은스택의여러계층에대해서, 특히앱레벨에대한가시성을원합니다
기존툴과의호환성: 고객은컨테이너서비스가현재운영중인시스템과잘동작하기를원합니다
모든환경에대응: 고객은컴퓨트 (Amazon EC2 혹은 AWS Fargate) 또는오케스트레이터 (Amazon ECS 또는 Amazon EKS) 에관계없이동일한가시성의확보를원합니다
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
툴에관계없이어디서나실행할수있는유연성
컨테이너화된애플리케이션의배포, 스케줄링, 확장, 관리
컨테이너가실행되는곳
App 1
Amazon Elastic
Kubernetes Service
(Amazon EKS)
Amazon EC2 AWS Fargate
오케스트레이션
컴퓨트엔진
애플리케이션
Amazon Elastic
Container Service
(Amazon ECS)
App 2 App 3여러가지프로그래밍언어및프로토콜을사용하는다양한팀이빌드하고각각의서비스에배포
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
다양한컴퓨트환경과상관없이동일한툴사용모든컨테이너환경에대응
Amazon ECS
Amazon EKS
Amazon EC2 mode
AWS Fargate
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
모든환경을지원하는가시성확보F
ull
Sta
ck
가시성
애플리케이션
컨테이너서비스
컴퓨트
기존툴과의호환성
AWS-Managed APN Partner 직접관리
모든컨테이너환경에대응
Amazon ECS
Amazon EKS
Amazon EC2 mode
AWS Fargate
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
이강연에서주로다루는것은…F
ull
Sta
ck
가시성
애플리케이션
컨테이너서비스
컴퓨트
기존툴과의호환성
AWS-Managed APN Partner 직접관리
모든컨테이너환경에대응
Amazon ECS
Amazon EKS
Amazon EC2 mode
AWS Fargate
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
My App
AWS App Mesh?
My App
Search
My AppMy App
My App
Recommendations
Frontend
서비스간통신을관리하는서비스메시
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
AWS App Mesh?
Search
서비스간통신을관리하는서비스메시
ProxySearchProxy
SearchProxy
RecommendationsProxyRecommendationsProxy
RecommendationsProxyRecommendationsProxy
Frontend ProxyFrontend Proxy
Frontend ProxyFrontend Proxy
Frontend Proxy
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
AWS App Mesh?
Search
서비스간통신을관리하는서비스메시
ProxySearchProxy
SearchProxy
RecommendationsProxyRecommendationsProxy
RecommendationsProxyRecommendationsProxy
Frontend ProxyFrontend Proxy
Frontend ProxyFrontend Proxy
Frontend Proxy
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
AWS App Mesh?
Search
서비스간통신을관리하는서비스메시
ProxySearchProxy
SearchProxy
RecommendationsProxyRecommendationsProxy
RecommendationsProxyRecommendationsProxy
Frontend ProxyFrontend Proxy
Frontend ProxyFrontend Proxy
Frontend Proxy
Metrics, logs and tracing solution
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
AWS App Mesh?
Search
서비스간통신을관리하는서비스메시
ProxySearchProxy
SearchProxy
RecommendationsProxyRecommendationsProxy
RecommendationsProxyRecommendationsProxy
Frontend ProxyFrontend Proxy
Frontend ProxyFrontend Proxy
Frontend Proxy
Amazon
ECS
Amazon
EKS
Amazon
EC2
AWS App Mesh
Kubernetes on
AWS
AWS
Fargate
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
AWS App Mesh 는 Amazon CloudWatch와동작
Frontend Proxy
CloudWatch
Agent
AWS-ManagedCustomer-Managed
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
AWS App Mesh 는 APN Partner 솔루션과동작
Frontend Proxy
Statsd
Agent
APN Partner-ManagedCustomer-Managed
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
AWS App Mesh 는직접관리하는솔루션과동작
Frontend Proxy /stats/prometheus
Self-ManagedCustomer-Managed
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
AWS App Mesh의이점
팀간의일관성 장애격리및가시성 통신관리 세분화된배포제어
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
AWS App Mesh는애플리케이션레벨의가시성강화
Fu
ll S
tack
가시성
애플리케이션
컨테이너서비스
컴퓨트
기존툴과의호환성
AWS-Managed APN Partner 직접관리
모든컨테이너환경에대응
Amazon ECS
Amazon EKS
Amazon EC2 mode
AWS Fargate
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
기존툴과의호환성
어려움
• 광범위한분석및스토리지도구에대한지원필요
• 컴퓨팅의 Telemetry 시스템으로부터구성과수명주기를분리
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
기존툴과의호환성
어려움
• 광범위한분석및스토리지도구에대한지원필요
• 컴퓨팅의 Telemetry 시스템으로부터구성과수명주기를분리
솔루션
• Telemetry 시스템자체의독립적인구성및수명주기
• Fluentd 와호환되는 Fluent Bit 기반
• AWS 가 Fluent Bit 이미지의수명주기관리
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
FireLens: 하나의인터페이스,많은대상
하나의인터페이스, 많은대상
AWS 및 APN 파트너의 로그 분석 및스토리지도구에 기본적으로 로그 전송
비용최적화
콜드 스토리지에 로그를 전송하고 요청시에만분석 도구로 가져옴
로그수집파이프라인의분리
애플리케이션과 분리된 구성 파일을 통해로그 라우팅을 별도로 구성
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
FireLens: 파헤쳐보기
https://aws.amazon.com/blogs/containers/under-the-hood-firelens-for-amazon-ecs-tasks/
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
FireLens를통해거의모든타겟으로로그를전송F
ull
Sta
ck
가시성
애플리케이션
컨테이너서비스
컴퓨트
기존툴과의호환성
AWS 관리형 APN Partner 직접관리
모든컨테이너환경에대응
Amazon ECS
Amazon EKS
Amazon EC2 mode
AWS Fargate
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
모든컨테이너환경에대응
어려움
• 고객들의팀마다각자다른컨테이너플랫폼을선호
• 관리형서비스와직접관리서비스의혼용
• 여러환경에서실행되는서비스를모니터링하기위한일관된인터페이스필요
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
모든컨테이너환경에대응
어려움
• 고객들의팀마다각자다른컨테이너플랫폼을선호
• 관리형서비스와직접관리서비스의혼용
• 여러환경에서실행되는서비스를모니터링하기위한일관된인터페이스필요
솔루션
• ECS, EKS 및 AWS Fargate모두에서동작하는Container Insights 출시
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
CloudWatch Container Insights
Agent
Dashboards
Events
Logs
Metrics
컨테이너화된애플리케이션이나마이크로서비스에대한모니터링, 트러블슈팅및알람을위한완전관리형관측서비스
✓안정적이고안전한지표및로그수집
✓자동화된요약과분석
✓지표, 로그, 트레이스전반에대한가시성
✓사전생성된대시보드
Alarms
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Container Insights -사전정의된대시보드
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
CloudWatch Container Insights -성능로그
ECS, EKS, Fargate의성능로그이벤트
CloudWatch 에서비스별로다양한레벨의로그집계
CloudWatch 대시보드에서
지표와성능로그제공
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Container Insights 는트러블슈팅을위한대시보드제공F
ull
Sta
ck
가시성
애플리케이션
컨테이너서비스
컴퓨트
기존툴과의호환성
AWS-Managed APN Partner 직접관리
모든컨테이너환경에실행
Amazon ECS
Amazon EKS
Amazon EC2 mode
AWS Fargate
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
활용사례
• 인프라레벨에서디버깅
• 클러스터, 노드/인스턴스리소스사용량, 상태정보
• 예: 클러스터 CPU, 메모리사용량
• 컨테이너서비스레벨에서디버깅
• 서비스, 태스크/파드, 컨테이너레벨메트릭과로그
• 예: 서비스태스크수, 태스크/파드메모리사용량
• 애플리케이션레벨에서디버깅
• CloudWatch 애플리케이션로그
• App Mesh - Envoy 지표
• 예: 애플리케이션별정보를쿼리할수있는로그
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
감사합니다
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.