SlideShare a Scribd company logo
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
사례들로 알아보는 컨테이너,
언제 어떻게 쓰면 좋을까?
김성수
솔루션즈 아키텍트
AWS
허준
어카운트 매니저
AWS
이창명
CTO
선데이토즈
Agenda
• EKS Discussion
• Anipang4 Game Service on EKS
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Container in AWS
Amazon Elastic Container
Service for Kubernetes
Amazon EC2 Container
Registry
Amazon Elastic Container
Service
AWS Fargate
Stateless
Scale Out
Stateful
Scale Out
Lifetime
Stateful
Scale Up
EKS
전형적인 EKS 아키텍쳐의 모습
NodePort
• Exposes the service on each Node’s IP at a static port.
• Routes to a ClusterIP service, which is automatically created.
• from outside the cluster: <NodeIP>:<NodePort>
• 1 service per port
• Uses ports 30000-32767
AWS VPC CNI Plugin
ENI
Secondary IPs:
10.0.0.1
10.0.0.2
10.0.0.1
10.0.0.2
ENI
10.0.0.20
10.0.0.22
Secondary IPs:
10.0.0.20
10.0.0.22
ec2.associateaddress()
VPC Subnet – 10.0.0.0/24
Instance 1 Instance 2
VPC
EKS에서 네트워킹
CNI를 사용할때 사용 할수 있는 인스턴스당 사용 가능한 POD갯수
(Number of network interfaces for the instance type ×
(the number of IP addressess per network interface - 1)) + 2
c5d.large 29
c5d.2xlarge 58
c5d.4xlarge 234
c5d.9xlarge 234
c5d.12xlarge 234
c5d.18xlarge 737
c5d.24xlarge 737
c5d.metal 737
사용할 수 있는 IP대역
Primary CIDR range ➔ RFC 1918 addresses
➔ 10/8, 172.16/12, 192.168/16
Secondary CIDR ranges ➔ non-RFC 1918 address blocks
➔ 100.64.0.0/10 와 198.19.0.0/16 를 추가적으로 사용가능
Stateless
Scale Out
Stateful
Scale Out
Lifetime
Stateful
Scale Up
사용자의 추이
동접자수
DesiredCount
100
0
50
10
20
30
40
60
70
80
90
5
30
10
15
20
25
Target 동접자수 DesiredCount
동접자수
DesiredCount
100
0
50
10
20
30
40
60
70
80
90
5
30
10
15
20
25
Target 동접자수 DesiredCount
AWS Fargate : 오직 태스크에만 집중하세요!
간단하고, 쉬우며, 효율적인
서버리스 컨테이너!
=프로비저닝, 확장
또는 관리할 EC2
인스턴스가 없음
VPC, ELB, IAM,
CloudWatch
등과 통합된 ECS
Native API
CPU, 메모리
사용량에 따라 지불
Availability
Zone 1
Master Master
Availability
Zone 2
Availability
Zone 3
Master
Workers Workers Workers
Customer Account
AWS Managed
한눈에 살펴보는 EKS 아키텍쳐
Helm이란?
• Helm은 Kubernetes 애플리케이션 관리를 지원합니다.
• Helm 차트는 가장 복잡한 Kubernetes 애플리케이션을 정의, 설치 및
업그레이드하는 데 도움이됩니다.
• 차트를 쉽게 만들고, 버전을 만들고, 공유하고, 게시 할 수 있습니다.
• Helm 사용하면 더 이상 복사 및 붙여 넣기가 필요하지 않습니다.
https://github.com/kubernetes/helm
EKS 직접 알아보기
EKS Workshop link
https://www.eksworkshop.com/
Github roadmap link
https://github.com/aws/containers-roadmap/
Roadmap kanban link
https://github.com/aws/containers-roadmap/projects/1
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
:Running a Multiplayer game at scale
Current Deployment System Overview
Limitations
• Self-developed / managed
• Low Operational Efficiency
• Too Complicated for Monitoring
• Endless Maintenance Issues
Why?
• Micro Service
• Few Workers
• Light Startups
• Too early to Container
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
사례들로 알아보는 컨테이너, 언제 어떻게 쓰면 좋을까? – 김성수 AWS 솔루션즈 아키텍트, 허준 AWS 어카운트 매니저, 이창명 선데이토즈 CTO:: AWS Cloud Week - Industry Edition
Architectural Needs
• 실시간 클러스터 구성과 관리
• 확장성 대응
• 지속적 배포 , 롤 아웃 및 롤백
• 모니터링 일관성 유지
• 무중단 운영
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Kubernetes container Orchestration
• 설계의 설정 스키마 파일화
• 다양한 배포 방식 지원
• 많은 레퍼런스 자료
• Namespace
• AutoScaling
EKS Elastic KubernetesService on AWS
• 적용이 간단하고 편리함
• 서비스 디스커버리 자동화
• 지속적인 개발 & 배포 운영 비용 최소화
• ALB, Route53 등 AWS와 결합
Anipang4 Service Architecture
Anipang4 : Realtime Service
• StatefulSet 사용
• Deploy Pod들의 통신
• Pod들의 상태 유지
• ALB Ingress Controller
• LB, Target Group, Domain 등록 자동화
• Domain에 의한 서비스 별 노드 그룹 분리
Anipang4 : Realtime Deployment
• AWS CodePipeline
• CodeCommit에 Push
• Build후 ECR에 Image Push
• ECR -> EKS 배포 자동화 기능 없음
• Cli 이용한 스크립트로 직접 배포
• Helm을 통한 배포
• Blue / Green State 변경
Anipang4 Realtime Monitoring
• 서비스 초기
• CW에 API등록 후 서버 상태 모니터링
• Scale In/Out AWS CLI로 관리
• 모니터링
• 실시간 접속 수
• Node Health
• CPU / Memory / Network 등 System 상태
• 현재 Prometheus 도입
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
결정 고민
• 새로운 개념들
• StatefulSets ??
• Job ??
• Pod ??
• DaemonSet ??
• Node ??
• NodeGroup ??
• 매우 다양한 설계 방법들 배포 방식
• 유사한 사례가 없어 적합한 방법을 찾기까지의 험난한 과정
무중단 배포 & 운영 필요
• 게임 특성
• 계속하여 유저가 실시간 서버에 접속해 있어야 할 필요 없음
• 대전 플레이 한 사이클에 최대 4분 정도 플레이
• 기존 선데이토즈 리얼타임 게임 서비스 역시 무중단으로 4년 운영 경험
• Blue / Green 배포 구성 – Nginx Ingress
• 기존 유저 Blue 그룹에 남아 있다면
• Green Label Pod 에 새 이미지를 배포
• 신규 참여 유저들은 Green 그룹으로 이동하여 Match
• 기존 유저 들은 Blue 그룹에서 Match 종료 후 Green으로 이동
Service ( App ) Clustering
• 추가되는 Node, Pod들 간의 자동 연결에 대한 고민
• Kubernetes DNS Service Discovery
• Pod 추가 / 제거 -> CoreDNS
• 기존 Pod의 서비스 들이 인지하고 스스로 연결하도록 구성
레퍼런스의 부재
• 게임서비스에 K8S 적용 사례 없음
• 잘 설계된 구성인지 검증 의문
• 개발이 잘 되었지만 실제 라이브 환경에서도 신뢰할 수 있을지 의문
• 시나리오 테스트와 AWS Korea 지원으로 극복
EKS 아직도 Beta??
• 기본적인 안정성은 충분함
• 추가적인 Feature들이 나올 것으로 예상
• AWS의 일부 서비스와 더 긴밀하고 편한 연결들 지원 필요
• 설정과 관리가 쉬운 모니터링 툴도 제공 되길 희망
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Anipang4 Realtime Monitoring
• Gitops
• flux / helm-operator로 코드 배포 자동화
• 배포 내용 확인 및 프로세스 일관화
Game Server Monitoring
• Prometheus, Grafana
• pod, node resource 사용량 모니터링
Game Server AutoScaler
• Cluster AutoScaler
• Metric-Server로 resource 감시로 pod scale-in / out 수행
• Requested pod 수에 맞게 node 조절
Benefits
• 빠르게 발전하는 K8S
• Helm 을 비롯한 다양한 오픈소스들
▪ Flux , Prometheus ,. etc
• Ops의 비용 / 시간 절감
• Yaml manifests
활발한 K8S 커뮤니티
Benefits
• Self Monitoring , Healing
• 동접 유저와 트래픽 증가 시 유연하고 빠르게 확장
▪ Yaml 적용 만으로 몇 분 내에 가능
• 무중단 & 무사고 운영 중
안정성 & 확장성
Benefits
• 직접 Kubernetes 운영에 대한 부담 하락
• AWS 서비스 안정성
• 적극적인 AWS 기술 지원
EKS on AWS !!
Key Takeaways
• Difficulties
• 기존 인프라 위에 완전히 새로운 서비스 구성의 어려움
• 유사 사례 레퍼런스의 부재
• 안정성 확보에 대한 의심
• 운영에 대한 불안감
• Solution
• 시나리오 수립과 케이스 검증으로 안정성 확보
• 한정된 인적 & 물리적 리소스로 안정적인 운영 중
• 배포에 대한 부담 거의 없음
• 계속하여 기존 인프라 구성도 EKS 구성으로 변경 예정
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
감사합니다
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

More Related Content

PDF
Amazon EKS를 통한 빠르고 편리한 컨테이너 플랫폼 활용 – 이일구 AWS 솔루션즈 아키텍트:: AWS Cloud Week - Ind...
Amazon Web Services Korea
 
PDF
[AWS Builders] AWS와 함께하는 클라우드 컴퓨팅
Amazon Web Services Korea
 
PPTX
서버리스 애플리케이션 개발 워크플로우 자동화 (CI/CD) - 김필중:: AWS 현대적 애플리케이션 개발
Amazon Web Services Korea
 
PDF
고객의 플랫폼/서비스를 개선한 국내 사례 살펴보기 – 장준성 AWS 솔루션즈 아키텍트, 강산아 NDREAM 팀장, 송영호 야놀자 매니저, ...
Amazon Web Services Korea
 
PDF
클라이드 네이티브 기반 Twelve Factor 앱 개발 - 윤석찬, AWS 테크에반젤리스트 :: AWS Summit Online Kore...
Amazon Web Services Korea
 
PDF
컨테이너, AWS에서 날개를 달다 - 유재석, AWS 솔루션즈 아키텍트 :: AWS Game Master 온라인 세미나
Amazon Web Services Korea
 
PDF
클라우드 핀테크 규제 준수를 위한 AWS 서비스 – 김지민 AWS 스타트업 솔루션즈 아키텍트, 박범준 AWS 스타트업 어카운트 매니저:: ...
Amazon Web Services Korea
 
PDF
Amazon VPC와 ELB/Direct Connect/VPN 알아보기 - 김세준, AWS 솔루션즈 아키텍트
Amazon Web Services Korea
 
Amazon EKS를 통한 빠르고 편리한 컨테이너 플랫폼 활용 – 이일구 AWS 솔루션즈 아키텍트:: AWS Cloud Week - Ind...
Amazon Web Services Korea
 
[AWS Builders] AWS와 함께하는 클라우드 컴퓨팅
Amazon Web Services Korea
 
서버리스 애플리케이션 개발 워크플로우 자동화 (CI/CD) - 김필중:: AWS 현대적 애플리케이션 개발
Amazon Web Services Korea
 
고객의 플랫폼/서비스를 개선한 국내 사례 살펴보기 – 장준성 AWS 솔루션즈 아키텍트, 강산아 NDREAM 팀장, 송영호 야놀자 매니저, ...
Amazon Web Services Korea
 
클라이드 네이티브 기반 Twelve Factor 앱 개발 - 윤석찬, AWS 테크에반젤리스트 :: AWS Summit Online Kore...
Amazon Web Services Korea
 
컨테이너, AWS에서 날개를 달다 - 유재석, AWS 솔루션즈 아키텍트 :: AWS Game Master 온라인 세미나
Amazon Web Services Korea
 
클라우드 핀테크 규제 준수를 위한 AWS 서비스 – 김지민 AWS 스타트업 솔루션즈 아키텍트, 박범준 AWS 스타트업 어카운트 매니저:: ...
Amazon Web Services Korea
 
Amazon VPC와 ELB/Direct Connect/VPN 알아보기 - 김세준, AWS 솔루션즈 아키텍트
Amazon Web Services Korea
 

What's hot (20)

PDF
천만사용자를 위한 AWS 클라우드 아키텍처 진화하기 – 문종민, AWS솔루션즈 아키텍트:: AWS Summit Online Korea 2020
Amazon Web Services Korea
 
PDF
카오스 엔지니어링을 활용한 마이크로서비스 안정성 개선하기 - 정준우, AWS 솔루션즈 아키텍트:: AWS Summit Online Kor...
Amazon Web Services Korea
 
PDF
보안 사고 예방을 위한 주요 AWS 모범 사례 – 신은수, AWS 보안 담당 솔루션즈 아키텍트:: AWS 온라인 이벤트 – 클라우드 보안 특집
Amazon Web Services Korea
 
PDF
AWS의 확장: Outposts, Local Zones, Wavelength - 온정상, AWS솔루션즈 아키텍트:: AWS Summit ...
Amazon Web Services Korea
 
PDF
스마트 팩토리: AWS 사물인터넷과 인공지능을 활용한 스마트 팩토리 구축 – 최영준 AWS 솔루션즈 아키텍트, 정현아 AWS 솔루션즈 아키...
Amazon Web Services Korea
 
PDF
클라우드 보안의 슈퍼 히어로가 되기 위한 3가지 비밀 :: TrendMicro 양희선 :: AWS Summit Seoul 2016
Amazon Web Services Korea
 
PDF
AWS Builders Online Series | AWS와 함께하는 클라우드 컴퓨팅 - 강철, AWS 어카운트 매니저
Amazon Web Services Korea
 
PPTX
AWS로 게임 기반 다지기 - 김병수, 박진성 :: AWS Game Master 온라인 세미나 #3
Amazon Web Services Korea
 
PDF
[AWS Media Symposium 2019] 고객사례 | SBS Web Service Cloud Migration Process - 김...
Amazon Web Services Korea
 
PDF
[AWS Dev Day] 이머징 테크 | AWS 서버리스를 이용하여 IoT 수준의 메세지 폭풍을 처리하는 방법 - 김민성 AWS 솔루션즈 ...
Amazon Web Services Korea
 
PDF
[Games on AWS 2019] AWS 사용자를 위한 만랩 달성 트랙 | AWS 최적화 사용을 위해 운영자가 아닌 개발자들이 해야 할 ...
Amazon Web Services Korea
 
PDF
AWS 스토리지 서비스 소개 및 실습 - 김용기, AWS 솔루션즈 아키텍트
Amazon Web Services Korea
 
PDF
(Red hat) Ansible Overview-samuel-2018-0911(printed)
SAMUEL SJ Cheon
 
PDF
디자인 패턴과 고객 사례로 살펴보는 현대적 어플리케이션 개발 – 배영부, 강성일, AWS애플리케이션 아키텍트:: AWS Summit On...
Amazon Web Services Korea
 
PDF
AWS 관리형 서비스를 활용하여 Kubernetes 를 위한 Devops 환경 구축하기 - 김광영, AWS솔루션즈 아키텍트:: AWS S...
Amazon Web Services Korea
 
PDF
[AWSome Day온라인 컨퍼런스] 강의 3: 클라우드 구축하기 - 정도현, AWS 테크니컬 트레이너
Amazon Web Services Korea
 
PDF
데이터베이스 운영, 서버리스로 걱정 끝! - 윤석찬, AWS 테크에반젤리스트 - AWS Builders Online Series
Amazon Web Services Korea
 
PDF
20150115 AWS BlackBelt - Amazon VPC (Korea)
Amazon Web Services Korea
 
PDF
실전! AWS 하이브리드 네트워킹 (AWS Direct Connect 및 VPN 데모 세션) - 강동환, AWS 솔루션즈 아키텍트:: A...
Amazon Web Services Korea
 
PPTX
AWS Partner Techshift - Well Architected Framework (이경수 솔루션즈 아키텍트)
Amazon Web Services Korea
 
천만사용자를 위한 AWS 클라우드 아키텍처 진화하기 – 문종민, AWS솔루션즈 아키텍트:: AWS Summit Online Korea 2020
Amazon Web Services Korea
 
카오스 엔지니어링을 활용한 마이크로서비스 안정성 개선하기 - 정준우, AWS 솔루션즈 아키텍트:: AWS Summit Online Kor...
Amazon Web Services Korea
 
보안 사고 예방을 위한 주요 AWS 모범 사례 – 신은수, AWS 보안 담당 솔루션즈 아키텍트:: AWS 온라인 이벤트 – 클라우드 보안 특집
Amazon Web Services Korea
 
AWS의 확장: Outposts, Local Zones, Wavelength - 온정상, AWS솔루션즈 아키텍트:: AWS Summit ...
Amazon Web Services Korea
 
스마트 팩토리: AWS 사물인터넷과 인공지능을 활용한 스마트 팩토리 구축 – 최영준 AWS 솔루션즈 아키텍트, 정현아 AWS 솔루션즈 아키...
Amazon Web Services Korea
 
클라우드 보안의 슈퍼 히어로가 되기 위한 3가지 비밀 :: TrendMicro 양희선 :: AWS Summit Seoul 2016
Amazon Web Services Korea
 
AWS Builders Online Series | AWS와 함께하는 클라우드 컴퓨팅 - 강철, AWS 어카운트 매니저
Amazon Web Services Korea
 
AWS로 게임 기반 다지기 - 김병수, 박진성 :: AWS Game Master 온라인 세미나 #3
Amazon Web Services Korea
 
[AWS Media Symposium 2019] 고객사례 | SBS Web Service Cloud Migration Process - 김...
Amazon Web Services Korea
 
[AWS Dev Day] 이머징 테크 | AWS 서버리스를 이용하여 IoT 수준의 메세지 폭풍을 처리하는 방법 - 김민성 AWS 솔루션즈 ...
Amazon Web Services Korea
 
[Games on AWS 2019] AWS 사용자를 위한 만랩 달성 트랙 | AWS 최적화 사용을 위해 운영자가 아닌 개발자들이 해야 할 ...
Amazon Web Services Korea
 
AWS 스토리지 서비스 소개 및 실습 - 김용기, AWS 솔루션즈 아키텍트
Amazon Web Services Korea
 
(Red hat) Ansible Overview-samuel-2018-0911(printed)
SAMUEL SJ Cheon
 
디자인 패턴과 고객 사례로 살펴보는 현대적 어플리케이션 개발 – 배영부, 강성일, AWS애플리케이션 아키텍트:: AWS Summit On...
Amazon Web Services Korea
 
AWS 관리형 서비스를 활용하여 Kubernetes 를 위한 Devops 환경 구축하기 - 김광영, AWS솔루션즈 아키텍트:: AWS S...
Amazon Web Services Korea
 
[AWSome Day온라인 컨퍼런스] 강의 3: 클라우드 구축하기 - 정도현, AWS 테크니컬 트레이너
Amazon Web Services Korea
 
데이터베이스 운영, 서버리스로 걱정 끝! - 윤석찬, AWS 테크에반젤리스트 - AWS Builders Online Series
Amazon Web Services Korea
 
20150115 AWS BlackBelt - Amazon VPC (Korea)
Amazon Web Services Korea
 
실전! AWS 하이브리드 네트워킹 (AWS Direct Connect 및 VPN 데모 세션) - 강동환, AWS 솔루션즈 아키텍트:: A...
Amazon Web Services Korea
 
AWS Partner Techshift - Well Architected Framework (이경수 솔루션즈 아키텍트)
Amazon Web Services Korea
 
Ad

Similar to 사례들로 알아보는 컨테이너, 언제 어떻게 쓰면 좋을까? – 김성수 AWS 솔루션즈 아키텍트, 허준 AWS 어카운트 매니저, 이창명 선데이토즈 CTO:: AWS Cloud Week - Industry Edition (20)

PDF
오픈스택 기반 클라우드 서비스 구축 방안 및 사례
SONG INSEOB
 
PDF
[오픈테크넷서밋2022] 국내 PaaS(Kubernetes) Best Practice 및 DevOps 환경 구축 사례.pdf
Open Source Consulting
 
PDF
국내 미디어 고객사의 AWS 활용 사례 - POOQ서비스 그리고 마이크로서비스 아키텍처, 콘텐츠연합플랫폼 - 박명순부장, 콘텐츠연합플랫폼 ...
Amazon Web Services Korea
 
PPTX
1711 azure-live
세준 김
 
PDF
[2017 AWS Startup Day] 서버리스 마이크로서비스로 일당백 개발조직 만들기
Amazon Web Services Korea
 
PDF
Private PaaS with Docker, spring cloud and mesos
uEngine Solutions
 
PDF
게임 서비스에 딱 맞는 AWS 신규 서비스들로 게임 아키텍처 개선하기 - 김병수 솔루션즈 아키텍트, AWS :: AWS Summit Seo...
Amazon Web Services Korea
 
PDF
[Games on AWS 2019] AWS 사용자를 위한 만랩 달성 트랙 | 코드 기반으로 인프라 운영하기 - 박성훈 NEOWIZ 팀장,...
Amazon Web Services Korea
 
PDF
Open infradays 2019_msa_k8s
Hyoungjun Kim
 
PDF
간단한 게임을 쉽고 저렴하게 서비스해보자! ::: AWS Game Master 온라인 시리즈 #1
Amazon Web Services Korea
 
PDF
designing, implementing and delivering microservices with event storming, spr...
uEngine Solutions
 
PDF
아마존 클라우드와 함께한 1개월, 쿠키런 사례중심 (KGC 2013)
Brian Hong
 
PPTX
Aws serverless services
Daniel Jung
 
PDF
KGC 2013 DevSisters
Amazon Web Services Korea
 
PDF
On-Premise 기반서비스 클라우드 전환기 -DevSecOps 도입을통한 유연한 서비스 개발 및 운영::박준상::AWS Summit S...
Amazon Web Services Korea
 
PDF
On-Premise 기반서비스 클라우드 전환기 -DevSecOps 도입을통한 유연한 서비스 개발 및 운영::박준상::AWS Summit S...
Amazon Web Services Korea
 
PDF
Terraform을 기반한 AWS 기반 대규모 마이크로서비스 인프라 운영 노하우 - 이용욱, 삼성전자 :: AWS Summit Seoul ...
Amazon Web Services Korea
 
PPTX
Open standard open cloud engine (3)
uEngine Solutions
 
PDF
[2017 Windows on AWS] AWS를 활용한 그룹웨어 구축 방안
Amazon Web Services Korea
 
PDF
세션3_데보션테크데이_gitopsinfra_v1.1.pdf
Jaesuk Ahn
 
오픈스택 기반 클라우드 서비스 구축 방안 및 사례
SONG INSEOB
 
[오픈테크넷서밋2022] 국내 PaaS(Kubernetes) Best Practice 및 DevOps 환경 구축 사례.pdf
Open Source Consulting
 
국내 미디어 고객사의 AWS 활용 사례 - POOQ서비스 그리고 마이크로서비스 아키텍처, 콘텐츠연합플랫폼 - 박명순부장, 콘텐츠연합플랫폼 ...
Amazon Web Services Korea
 
1711 azure-live
세준 김
 
[2017 AWS Startup Day] 서버리스 마이크로서비스로 일당백 개발조직 만들기
Amazon Web Services Korea
 
Private PaaS with Docker, spring cloud and mesos
uEngine Solutions
 
게임 서비스에 딱 맞는 AWS 신규 서비스들로 게임 아키텍처 개선하기 - 김병수 솔루션즈 아키텍트, AWS :: AWS Summit Seo...
Amazon Web Services Korea
 
[Games on AWS 2019] AWS 사용자를 위한 만랩 달성 트랙 | 코드 기반으로 인프라 운영하기 - 박성훈 NEOWIZ 팀장,...
Amazon Web Services Korea
 
Open infradays 2019_msa_k8s
Hyoungjun Kim
 
간단한 게임을 쉽고 저렴하게 서비스해보자! ::: AWS Game Master 온라인 시리즈 #1
Amazon Web Services Korea
 
designing, implementing and delivering microservices with event storming, spr...
uEngine Solutions
 
아마존 클라우드와 함께한 1개월, 쿠키런 사례중심 (KGC 2013)
Brian Hong
 
Aws serverless services
Daniel Jung
 
KGC 2013 DevSisters
Amazon Web Services Korea
 
On-Premise 기반서비스 클라우드 전환기 -DevSecOps 도입을통한 유연한 서비스 개발 및 운영::박준상::AWS Summit S...
Amazon Web Services Korea
 
On-Premise 기반서비스 클라우드 전환기 -DevSecOps 도입을통한 유연한 서비스 개발 및 운영::박준상::AWS Summit S...
Amazon Web Services Korea
 
Terraform을 기반한 AWS 기반 대규모 마이크로서비스 인프라 운영 노하우 - 이용욱, 삼성전자 :: AWS Summit Seoul ...
Amazon Web Services Korea
 
Open standard open cloud engine (3)
uEngine Solutions
 
[2017 Windows on AWS] AWS를 활용한 그룹웨어 구축 방안
Amazon Web Services Korea
 
세션3_데보션테크데이_gitopsinfra_v1.1.pdf
Jaesuk Ahn
 
Ad

More from Amazon Web Services Korea (20)

PDF
[D3T1S01] Gen AI를 위한 Amazon Aurora 활용 사례 방법
Amazon Web Services Korea
 
PDF
[D3T1S06] Neptune Analytics with Vector Similarity Search
Amazon Web Services Korea
 
PDF
[D3T1S03] Amazon DynamoDB design puzzlers
Amazon Web Services Korea
 
PDF
[D3T1S04] Aurora PostgreSQL performance monitoring and troubleshooting by use...
Amazon Web Services Korea
 
PDF
[D3T1S07] AWS S3 - 클라우드 환경에서 데이터베이스 보호하기
Amazon Web Services Korea
 
PDF
[D3T1S05] Aurora 혼합 구성 아키텍처를 사용하여 예상치 못한 트래픽 급증 대응하기
Amazon Web Services Korea
 
PDF
[D3T1S02] Aurora Limitless Database Introduction
Amazon Web Services Korea
 
PDF
[D3T2S01] Amazon Aurora MySQL 메이저 버전 업그레이드 및 Amazon B/G Deployments 실습
Amazon Web Services Korea
 
PDF
[D3T2S03] Data&AI Roadshow 2024 - Amazon DocumentDB 실습
Amazon Web Services Korea
 
PDF
AWS Modern Infra with Storage Roadshow 2023 - Day 2
Amazon Web Services Korea
 
PDF
AWS Modern Infra with Storage Roadshow 2023 - Day 1
Amazon Web Services Korea
 
PDF
사례로 알아보는 Database Migration Service : 데이터베이스 및 데이터 이관, 통합, 분리, 분석의 도구 - 발표자: ...
Amazon Web Services Korea
 
PDF
Amazon DocumentDB - Architecture 및 Best Practice (Level 200) - 발표자: 장동훈, Sr. ...
Amazon Web Services Korea
 
PDF
Amazon Elasticache - Fully managed, Redis & Memcached Compatible Service (Lev...
Amazon Web Services Korea
 
PDF
Internal Architecture of Amazon Aurora (Level 400) - 발표자: 정달영, APAC RDS Speci...
Amazon Web Services Korea
 
PDF
[Keynote] 슬기로운 AWS 데이터베이스 선택하기 - 발표자: 강민석, Korea Database SA Manager, WWSO, A...
Amazon Web Services Korea
 
PDF
Demystify Streaming on AWS - 발표자: 이종혁, Sr Analytics Specialist, WWSO, AWS :::...
Amazon Web Services Korea
 
PDF
Amazon EMR - Enhancements on Cost/Performance, Serverless - 발표자: 김기영, Sr Anal...
Amazon Web Services Korea
 
PDF
Amazon OpenSearch - Use Cases, Security/Observability, Serverless and Enhance...
Amazon Web Services Korea
 
PDF
Enabling Agility with Data Governance - 발표자: 김성연, Analytics Specialist, WWSO,...
Amazon Web Services Korea
 
[D3T1S01] Gen AI를 위한 Amazon Aurora 활용 사례 방법
Amazon Web Services Korea
 
[D3T1S06] Neptune Analytics with Vector Similarity Search
Amazon Web Services Korea
 
[D3T1S03] Amazon DynamoDB design puzzlers
Amazon Web Services Korea
 
[D3T1S04] Aurora PostgreSQL performance monitoring and troubleshooting by use...
Amazon Web Services Korea
 
[D3T1S07] AWS S3 - 클라우드 환경에서 데이터베이스 보호하기
Amazon Web Services Korea
 
[D3T1S05] Aurora 혼합 구성 아키텍처를 사용하여 예상치 못한 트래픽 급증 대응하기
Amazon Web Services Korea
 
[D3T1S02] Aurora Limitless Database Introduction
Amazon Web Services Korea
 
[D3T2S01] Amazon Aurora MySQL 메이저 버전 업그레이드 및 Amazon B/G Deployments 실습
Amazon Web Services Korea
 
[D3T2S03] Data&AI Roadshow 2024 - Amazon DocumentDB 실습
Amazon Web Services Korea
 
AWS Modern Infra with Storage Roadshow 2023 - Day 2
Amazon Web Services Korea
 
AWS Modern Infra with Storage Roadshow 2023 - Day 1
Amazon Web Services Korea
 
사례로 알아보는 Database Migration Service : 데이터베이스 및 데이터 이관, 통합, 분리, 분석의 도구 - 발표자: ...
Amazon Web Services Korea
 
Amazon DocumentDB - Architecture 및 Best Practice (Level 200) - 발표자: 장동훈, Sr. ...
Amazon Web Services Korea
 
Amazon Elasticache - Fully managed, Redis & Memcached Compatible Service (Lev...
Amazon Web Services Korea
 
Internal Architecture of Amazon Aurora (Level 400) - 발표자: 정달영, APAC RDS Speci...
Amazon Web Services Korea
 
[Keynote] 슬기로운 AWS 데이터베이스 선택하기 - 발표자: 강민석, Korea Database SA Manager, WWSO, A...
Amazon Web Services Korea
 
Demystify Streaming on AWS - 발표자: 이종혁, Sr Analytics Specialist, WWSO, AWS :::...
Amazon Web Services Korea
 
Amazon EMR - Enhancements on Cost/Performance, Serverless - 발표자: 김기영, Sr Anal...
Amazon Web Services Korea
 
Amazon OpenSearch - Use Cases, Security/Observability, Serverless and Enhance...
Amazon Web Services Korea
 
Enabling Agility with Data Governance - 발표자: 김성연, Analytics Specialist, WWSO,...
Amazon Web Services Korea
 

사례들로 알아보는 컨테이너, 언제 어떻게 쓰면 좋을까? – 김성수 AWS 솔루션즈 아키텍트, 허준 AWS 어카운트 매니저, 이창명 선데이토즈 CTO:: AWS Cloud Week - Industry Edition

  • 1. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 사례들로 알아보는 컨테이너, 언제 어떻게 쓰면 좋을까? 김성수 솔루션즈 아키텍트 AWS 허준 어카운트 매니저 AWS 이창명 CTO 선데이토즈
  • 2. Agenda • EKS Discussion • Anipang4 Game Service on EKS
  • 3. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
  • 4. Container in AWS Amazon Elastic Container Service for Kubernetes Amazon EC2 Container Registry Amazon Elastic Container Service AWS Fargate
  • 7. NodePort • Exposes the service on each Node’s IP at a static port. • Routes to a ClusterIP service, which is automatically created. • from outside the cluster: <NodeIP>:<NodePort> • 1 service per port • Uses ports 30000-32767
  • 8. AWS VPC CNI Plugin ENI Secondary IPs: 10.0.0.1 10.0.0.2 10.0.0.1 10.0.0.2 ENI 10.0.0.20 10.0.0.22 Secondary IPs: 10.0.0.20 10.0.0.22 ec2.associateaddress() VPC Subnet – 10.0.0.0/24 Instance 1 Instance 2 VPC
  • 9. EKS에서 네트워킹 CNI를 사용할때 사용 할수 있는 인스턴스당 사용 가능한 POD갯수 (Number of network interfaces for the instance type × (the number of IP addressess per network interface - 1)) + 2 c5d.large 29 c5d.2xlarge 58 c5d.4xlarge 234 c5d.9xlarge 234 c5d.12xlarge 234 c5d.18xlarge 737 c5d.24xlarge 737 c5d.metal 737
  • 10. 사용할 수 있는 IP대역 Primary CIDR range ➔ RFC 1918 addresses ➔ 10/8, 172.16/12, 192.168/16 Secondary CIDR ranges ➔ non-RFC 1918 address blocks ➔ 100.64.0.0/10 와 198.19.0.0/16 를 추가적으로 사용가능
  • 12. 사용자의 추이 동접자수 DesiredCount 100 0 50 10 20 30 40 60 70 80 90 5 30 10 15 20 25 Target 동접자수 DesiredCount 동접자수 DesiredCount 100 0 50 10 20 30 40 60 70 80 90 5 30 10 15 20 25 Target 동접자수 DesiredCount
  • 13. AWS Fargate : 오직 태스크에만 집중하세요! 간단하고, 쉬우며, 효율적인 서버리스 컨테이너! =프로비저닝, 확장 또는 관리할 EC2 인스턴스가 없음 VPC, ELB, IAM, CloudWatch 등과 통합된 ECS Native API CPU, 메모리 사용량에 따라 지불
  • 14. Availability Zone 1 Master Master Availability Zone 2 Availability Zone 3 Master Workers Workers Workers Customer Account AWS Managed 한눈에 살펴보는 EKS 아키텍쳐
  • 15. Helm이란? • Helm은 Kubernetes 애플리케이션 관리를 지원합니다. • Helm 차트는 가장 복잡한 Kubernetes 애플리케이션을 정의, 설치 및 업그레이드하는 데 도움이됩니다. • 차트를 쉽게 만들고, 버전을 만들고, 공유하고, 게시 할 수 있습니다. • Helm 사용하면 더 이상 복사 및 붙여 넣기가 필요하지 않습니다. https://github.com/kubernetes/helm
  • 16. EKS 직접 알아보기 EKS Workshop link https://www.eksworkshop.com/ Github roadmap link https://github.com/aws/containers-roadmap/ Roadmap kanban link https://github.com/aws/containers-roadmap/projects/1
  • 17. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. :Running a Multiplayer game at scale
  • 19. Limitations • Self-developed / managed • Low Operational Efficiency • Too Complicated for Monitoring • Endless Maintenance Issues
  • 20. Why? • Micro Service • Few Workers • Light Startups • Too early to Container
  • 21. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
  • 23. Architectural Needs • 실시간 클러스터 구성과 관리 • 확장성 대응 • 지속적 배포 , 롤 아웃 및 롤백 • 모니터링 일관성 유지 • 무중단 운영
  • 24. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
  • 25. Kubernetes container Orchestration • 설계의 설정 스키마 파일화 • 다양한 배포 방식 지원 • 많은 레퍼런스 자료 • Namespace • AutoScaling
  • 26. EKS Elastic KubernetesService on AWS • 적용이 간단하고 편리함 • 서비스 디스커버리 자동화 • 지속적인 개발 & 배포 운영 비용 최소화 • ALB, Route53 등 AWS와 결합
  • 28. Anipang4 : Realtime Service • StatefulSet 사용 • Deploy Pod들의 통신 • Pod들의 상태 유지 • ALB Ingress Controller • LB, Target Group, Domain 등록 자동화 • Domain에 의한 서비스 별 노드 그룹 분리
  • 29. Anipang4 : Realtime Deployment • AWS CodePipeline • CodeCommit에 Push • Build후 ECR에 Image Push • ECR -> EKS 배포 자동화 기능 없음 • Cli 이용한 스크립트로 직접 배포 • Helm을 통한 배포 • Blue / Green State 변경
  • 30. Anipang4 Realtime Monitoring • 서비스 초기 • CW에 API등록 후 서버 상태 모니터링 • Scale In/Out AWS CLI로 관리 • 모니터링 • 실시간 접속 수 • Node Health • CPU / Memory / Network 등 System 상태 • 현재 Prometheus 도입
  • 31. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
  • 32. 결정 고민 • 새로운 개념들 • StatefulSets ?? • Job ?? • Pod ?? • DaemonSet ?? • Node ?? • NodeGroup ?? • 매우 다양한 설계 방법들 배포 방식 • 유사한 사례가 없어 적합한 방법을 찾기까지의 험난한 과정
  • 33. 무중단 배포 & 운영 필요 • 게임 특성 • 계속하여 유저가 실시간 서버에 접속해 있어야 할 필요 없음 • 대전 플레이 한 사이클에 최대 4분 정도 플레이 • 기존 선데이토즈 리얼타임 게임 서비스 역시 무중단으로 4년 운영 경험 • Blue / Green 배포 구성 – Nginx Ingress • 기존 유저 Blue 그룹에 남아 있다면 • Green Label Pod 에 새 이미지를 배포 • 신규 참여 유저들은 Green 그룹으로 이동하여 Match • 기존 유저 들은 Blue 그룹에서 Match 종료 후 Green으로 이동
  • 34. Service ( App ) Clustering • 추가되는 Node, Pod들 간의 자동 연결에 대한 고민 • Kubernetes DNS Service Discovery • Pod 추가 / 제거 -> CoreDNS • 기존 Pod의 서비스 들이 인지하고 스스로 연결하도록 구성
  • 35. 레퍼런스의 부재 • 게임서비스에 K8S 적용 사례 없음 • 잘 설계된 구성인지 검증 의문 • 개발이 잘 되었지만 실제 라이브 환경에서도 신뢰할 수 있을지 의문 • 시나리오 테스트와 AWS Korea 지원으로 극복
  • 36. EKS 아직도 Beta?? • 기본적인 안정성은 충분함 • 추가적인 Feature들이 나올 것으로 예상 • AWS의 일부 서비스와 더 긴밀하고 편한 연결들 지원 필요 • 설정과 관리가 쉬운 모니터링 툴도 제공 되길 희망
  • 37. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
  • 38. Anipang4 Realtime Monitoring • Gitops • flux / helm-operator로 코드 배포 자동화 • 배포 내용 확인 및 프로세스 일관화
  • 39. Game Server Monitoring • Prometheus, Grafana • pod, node resource 사용량 모니터링
  • 40. Game Server AutoScaler • Cluster AutoScaler • Metric-Server로 resource 감시로 pod scale-in / out 수행 • Requested pod 수에 맞게 node 조절
  • 41. Benefits • 빠르게 발전하는 K8S • Helm 을 비롯한 다양한 오픈소스들 ▪ Flux , Prometheus ,. etc • Ops의 비용 / 시간 절감 • Yaml manifests 활발한 K8S 커뮤니티
  • 42. Benefits • Self Monitoring , Healing • 동접 유저와 트래픽 증가 시 유연하고 빠르게 확장 ▪ Yaml 적용 만으로 몇 분 내에 가능 • 무중단 & 무사고 운영 중 안정성 & 확장성
  • 43. Benefits • 직접 Kubernetes 운영에 대한 부담 하락 • AWS 서비스 안정성 • 적극적인 AWS 기술 지원 EKS on AWS !!
  • 44. Key Takeaways • Difficulties • 기존 인프라 위에 완전히 새로운 서비스 구성의 어려움 • 유사 사례 레퍼런스의 부재 • 안정성 확보에 대한 의심 • 운영에 대한 불안감 • Solution • 시나리오 수립과 케이스 검증으로 안정성 확보 • 한정된 인적 & 물리적 리소스로 안정적인 운영 중 • 배포에 대한 부담 거의 없음 • 계속하여 기존 인프라 구성도 EKS 구성으로 변경 예정
  • 45. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
  • 46. 감사합니다 © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.