SlideShare a Scribd company logo
1 of 73
Download to read offline
GAMES ON AWS 2022
© 2022, Amazon Web Services, Inc. or its affiliates.
© 2022, Amazon Web Services, Inc. or its affiliates.
김정헌
PUBG DevOps 팀장
크래프톤
PUBG: BATTLEGROUNDS
G A M E S O N A W S 2 0 2 2 - T R A C K 0 3
라이브 서비스의 Amazon EKS 전환 사례 공유
GAMES ON AWS 2022
© 2022, Amazon Web Services, Inc. or its affiliates.
© 2022, Amazon Web Services, Inc. or its affiliates.
▪ 본 발표 자료는 2019년부터 현재까지의 내용을 포함하고 있습니다.
▪ Kubernetes 클러스터를 운영하며 경험했던 사례를 바탕으로 향후 Amazon EKS를 통해
Kubernetes 도입을 계획하고 있는 게임인 여러분께 도움을 드리려는 목적으로
구성되었습니다.
▪ 따라서, 다소 시일이 지난 과거의 사례가 일부 포함 되었을 수도 있는 점 양해 부탁드립니다.
시작하기에 앞서..
GAMES ON AWS 2022
© 2022, Amazon Web Services, Inc. or its affiliates.
© 2022, Amazon Web Services, Inc. or its affiliates.
Agenda
1. PUBG & PUBG의 서버 아키텍처 소개
2. PUBG 아웃게임 서버 Amazon EKS 전환기
3. PUBG 인게임 서버 Amazon EKS 전환기
GAMES ON AWS 2022
© 2022, Amazon Web Services, Inc. or its affiliates.
© 2022, Amazon Web Services, Inc. or its affiliates. 4
1. PUBG: Battlegrounds &
PUBG 서버 아키텍처 소개
GAMES ON AWS 2022
© 2022, Amazon Web Services, Inc. or its affiliates.
PUBG: Battlegrounds
100명 중 최후의 1인이 되기 위해 경쟁하는 FPS/TPS 배틀로얄 생존게임
5
Winner Winner Chicken Dinner
GAMES ON AWS 2022
© 2022, Amazon Web Services, Inc. or its affiliates.
PUBG의 아웃게임 vs. 인게임: 유저의 관점에서…
6
▪ 로비 환경
▪ 인 게임 진입을 위한 매치메이킹
▪ 상점, 인벤토리 등 캐릭터 커스터마이징
▪ 인 게임 환경
▪ 파밍, 건플레이, 생존, 우승...
아웃게임 (= MainShard) 인게임 (= GameShard)
GAMES ON AWS 2022
© 2022, Amazon Web Services, Inc. or its affiliates. 7
GAMES ON AWS 2022
© 2022, Amazon Web Services, Inc. or its affiliates. 8
GAMES ON AWS 2022
© 2022, Amazon Web Services, Inc. or its affiliates.
PUBG의 아웃게임 vs. 인게임: 엔지니어의 관점에서…
9
▪ Single Region
▪ Microservice Server
▪ .NET Core WebServer
▪ HTTP + WebSocket
▪ Multiple Regions
▪ Session Server (+Manager Service)
▪ Unreal Dedicated Server
▪ UDP + WebSocket
MainShard (= 아웃게임)
영속적인 데이터 보존 및 처리에 중점
GameShard (= 인게임)
안정적인 게임 플레이 환경 제공에 중점
GAMES ON AWS 2022
© 2022, Amazon Web Services, Inc. or its affiliates. 10
AWS Cloud
MainShard (Single Region)
MainShard VPC (us-east-1)
ETCD Cluster
Other Services
User Proxy Service GameShard
Proxy Service
AWS Managed
Services
PUBG MicroServices
GameShard (Multi Region)
UserProxy CloudFront Endpoint를 이용한 HTTP(S) 통신
GameShard VPC (us-east-1, ap-northeast-2, etc.)
GameShard Autoscaling Group
GameShard Node
GameSession
GroupService
GameSession
Service
Dedicated
Server
GameSession
Service
Dedicated
Server
GameShard Node의 Public IP:Port를 이용한 UDP 통신
Users
GAMES ON AWS 2022
© 2022, Amazon Web Services, Inc. or its affiliates.
© 2022, Amazon Web Services, Inc. or its affiliates. 11
2. PUBG 아웃게임 서버 Amazon EKS 전환기
GAMES ON AWS 2022
© 2022, Amazon Web Services, Inc. or its affiliates.
레거시 아웃게임 아키텍처
12
MainShard (Single Region)
MainShard VPC (us-east-1)
ETCD Cluster
Other Services
User Proxy Service GameShard
Proxy Service
AWS Managed
Services
PUBG MicroServices
Users
MainShard 구성을 위한 컴포넌트
▪ Service 별 Autoscaling Group + CodeDeploy
▪ Service Discovery를 위한 ETCD
▪ AWS Managed Service
o DynamoDB
o ElastiCache (Redis)
o S3
o SQS
o Kinesis
o OpenSearch Service
▪ 인터넷으로 노출된 서비스를 위한 LB + CF
GAMES ON AWS 2022
© 2022, Amazon Web Services, Inc. or its affiliates.
Kubernetes 로 전환하게 된 계기
➔ DevOps팀의 인프라 관리 부하 절감 필요성
인프라 생성 및 관리 부담
신규 QA 환경 구성 요청 증가
작은 서버 배포 증가
▪ 각 서비스 별 AutoScalingGroup+
CodeDeploy개별 구성
▪ 신규 서비스 추가 시 지속적인인프라
작업 필요
▪ 기존 QA환경: 고정 대수 운영
▪ 신규 개발 피처 증가로 QA환경 요구 증가
▪ 신규 QA환경 생성시 DevOps 지원 필요
▪ PUBG 메인 서비스 외 자잘한 서버
배포 증가 (서버 운영 툴, CS 툴,
모니터링툴)
▪ ECS사용, case-by-case로대응
모든 인프라 작업에
DevOps팀 작업 동반
13
GAMES ON AWS 2022
© 2022, Amazon Web Services, Inc. or its affiliates.
Why Amazon EKS?
Amazon EKS
수 많은 글로벌 레퍼런스 - 22년 10월 현재, 전 세계 컨테이너 워크로드의 2/3 AWS 에서 운영 중
IAM, VPC 등 AWS 인프라와의 연동 설정이 용이
Fully Managed Kubernetes Control Plane 으로 번거로운
운영/관리 작업을 부하를 줄여줌
EKS는 성능/가용성/확장성/보안 측면에서 뛰어난 Kubernetes
환경을 제공
14
GAMES ON AWS 2022
© 2022, Amazon Web Services, Inc. or its affiliates.
Internal Microservice 전환하기
전환 시작 시점, 30여개 이상의 Microservice 존재
15
AgentClientService
AgentServerService
AntiCheatService
AuthenticationService
AutoScalingService
BattlePassProcessingService
BattlePassService
BromonService
CustomGame2LobbyService
CustomGame2Service
CustomGameService
CustomLeagueService
EventService
GameSessionGroupService
GameSessionLobbyService
InternalProxyService
InventoryService
LanpartyService
LeaderboardProcessingService
LeaderboardRequestService
LeaderboardService
LogProcessingService
MerchandiserService
MiscService
OuterService
PaymentService
PromotionCodeService
RatingService
RecordService
ReportFeedbackService
StatisticService
TransactionService
UserPlayingGameDataService
UserProxyService
XTokenService
➔ 각각의 Service에 대하여 점진적으로 마이그레이션을 할 수 있는 방법 필요
GAMES ON AWS 2022
© 2022, Amazon Web Services, Inc. or its affiliates.
Service Discovery
I N T E R N A L M I C R O S E R V I C E 전 환 하 기
16
Services ETCD Cluster
주기적으로 IP, Service Name등 위치정보 동기화
모든 Service / Host의 주소 정보를 Watch
Other Services
Host의 주소로 직접 요청
GAMES ON AWS 2022
© 2022, Amazon Web Services, Inc. or its affiliates. 17
Services in EC2 ETCD Cluster Services in K8s
고유한 Private IP를 이용한 Pod to EC2 통신
Service Discovery
I N T E R N A L M I C R O S E R V I C E 전 환 하 기
GAMES ON AWS 2022
© 2022, Amazon Web Services, Inc. or its affiliates.
Service Discovery: Minor Issues
18
1/n
1/n
1/n
A
B
B
B
n개의 Service Host
I N T E R N A L M I C R O S E R V I C E 전 환 하 기
GAMES ON AWS 2022
© 2022, Amazon Web Services, Inc. or its affiliates. 19
80%
20%
Service Discovery: Minor Issues
I N T E R N A L M I C R O S E R V I C E 전 환 하 기
GAMES ON AWS 2022
© 2022, Amazon Web Services, Inc. or its affiliates.
Service Pod
20
c5.2xlarge
~ c5.8xlarge
resources:
requests:
cpu: '8' # ~'32'
memory: 16Gi # ~ 64Gi
Service Discovery: Minor Issues
I N T E R N A L M I C R O S E R V I C E 전 환 하 기
GAMES ON AWS 2022
© 2022, Amazon Web Services, Inc. or its affiliates.
Internet Facing Microservice 전환하기
21
Users
CloudFront Application
LoadBalancer
Internet Facing
Services
Partner APIs
GAMES ON AWS 2022
© 2022, Amazon Web Services, Inc. or its affiliates.
CloudFront 뒤 다수의 LB에 부하 분산하기
I N T E R N E T F A C I N G M I C R O S E R V I C E 전 환 하 기
22
CloudFront
ALB
Services in EC2
ALB
(K8s Ingress)
Services in K8s
Users
GAMES ON AWS 2022
© 2022, Amazon Web Services, Inc. or its affiliates. 23
ALB
Services in EC2
ALB
(K8s Ingress)
Services in K8s
Users
CloudFront
CloudFront
service.pubg.io
service_v2.pubg.io
CloudFront 뒤 다수의 LB에 부하 분산하기
I N T E R N E T F A C I N G M I C R O S E R V I C E 전 환 하 기
GAMES ON AWS 2022
© 2022, Amazon Web Services, Inc. or its affiliates. 24
CloudFront
ALB
Services in EC2
ALB
(K8s Ingress)
Services in K8s
Users
service.pubg.io
service_internal.pubg.io
weighted routing
CloudFront 뒤 다수의 LB에 부하 분산하기
I N T E R N E T F A C I N G M I C R O S E R V I C E 전 환 하 기
GAMES ON AWS 2022
© 2022, Amazon Web Services, Inc. or its affiliates.
의도한대로 분산될 수 없는 구조
25
I N T E R N E T F A C I N G M I C R O S E R V I C E 전 환 하 기
CloudFront
Users
50%
50%
service_internal.pubg.io
GAMES ON AWS 2022
© 2022, Amazon Web Services, Inc. or its affiliates.
Best Practice
26
CloudFront
ALB
Services in EC2
ALB
(K8s Ingress)
Services in K8s
Proxy
0. 기존 Origin
2. 전환 후 Origin
1. 전환 과정 중 Origin
I N T E R N E T F A C I N G M I C R O S E R V I C E 전 환 하 기
GAMES ON AWS 2022
© 2022, Amazon Web Services, Inc. or its affiliates.
갑자기 응답하지 않는 서비스들
27
GAMES ON AWS 2022
© 2022, Amazon Web Services, Inc. or its affiliates.
Invocation Hang: 원인
1. Thread 과다 증식으로 인한 오버헤드
▪ Thread 과다 증식으로 인하여 Context Switch 부하 급증
▪ Context Switch에 CPU가 과도하게 소모되어 정상적인 요청 처리 어려움
2. DNS Query Timeout
▪ DNS Query Timeout으로 인하여 서버간 API 통신 지연 발생
▪ 대기중인 Request 과도한 증가와 1번 원인과 연관된 설정으로 인해 Thread 급증
28
GAMES ON AWS 2022
© 2022, Amazon Web Services, Inc. or its affiliates.
Thread 관련 튜닝 설정 배경
StackExchange.Redis 의 Thread 관리 이슈(Sync-over-async)로 아래 설정 적용
▪ Default Min Task Worker: 64 * core
▪ Default Min I/O Worker: 4 * core
▪ 각 Service별 커스텀 설정 적용
(Default Min Worker: Task Thread, I/O Thread가 각각 n개까지 빠르게 늘어날 수 있도록 하는 설정)
29
GAMES ON AWS 2022
© 2022, Amazon Web Services, Inc. or its affiliates.
CPU Manager
Pod에게 독점적으로 사용에 가능한 CPU를 할당해줄 수 있는 기능
30
GAMES ON AWS 2022
© 2022, Amazon Web Services, Inc. or its affiliates.
CPU Pool
CPU Pool을 분할하여 Pod에 고정적인 CPU 코어를 할당함으로써 Context Switch로 인해 발생하는 부하 감소
31
EC2 (8 vCPUs)
Shared Pool Dedicated Pool for PodA
Dedicated Pool for PodB
GAMES ON AWS 2022
© 2022, Amazon Web Services, Inc. or its affiliates.
QoS for Pod
▪ 적어도 하나의 Container에 CPU 혹은
Memory의 Request or Limit이 있는 경우
▪ Guaranteed를 만족하지 않는 경우
32
Burstable
▪ Pod의 모든 컨테이너 내에 CPU
Limit /Request 값이 존재하고
▪ Pod의 모든 컨테이너의 CPU
Limit /Request 값이 같고
▪ Pod의 모든 컨테이너에 Memory
Limit /Request 값이 존재하고
▪ Pod의 모든 컨테이너에 Memory
Limit /Request 의 값이 같은 경우
Guaranteed
▪ Resource의 제한이 없는 경우
BestEffort
Guaranteed Pod인 경우에만 독점 CPU 할당
GAMES ON AWS 2022
© 2022, Amazon Web Services, Inc. or its affiliates.
DNS Query Hang
간헐적으로 발생하는 Network Timeout
➔ 원인 파악 결과 : DNS Query가 간헐적으로 Timeout이 발생
33
$ time nslookup aws.amazon.com
;; connection timed out; no servers could be reached
real 0m15.019s
user 0m0.005s
sys 0m0.010s
$ time nslookup aws.amazon.com
Server: 10.100.0.10
Address: 10.100.0.10#53
Non-authoritative answer:
aws.amazon.com canonical name = tp.8e49140c2-
frontier.amazon.com.
tp.8e49140c2-frontier.amazon.com canonical
name = dr49lng3n1n2s.cloudfront.net.
Name: dr49lng3n1n2s.cloudfront.net
Address: 99.84.211.76
real 0m0.026s
user 0m0.007s
sys 0m0.004s
GAMES ON AWS 2022
© 2022, Amazon Web Services, Inc. or its affiliates.
DNS Query Hang: VPC DNS Query Limit
34
VPC
EKS Worker Node
VPC DNS
Resolver
EKS Worker Node
CoreDNS Pod
Service Pod
RateLimit:
1024 query/s*eni
ENI
CoreDNS
Service IP:Port
초과 패킷 Drop
➔ Timeout
GAMES ON AWS 2022
© 2022, Amazon Web Services, Inc. or its affiliates.
DNS Query Hang: Kubernetes resolv.conf
K8s 내부 Pod의 기본 resolv.conf 값
35
# /etc/resolv.conf
nameserver 10.96.0.10
search {namespace}.svc.cluster.local svc.cluster.local cluster.local
options ndots:5
▪ nameserver:KubeDNSServiceIP
▪ search:ndots 개수 미만의 dot을 포함하는 DNSRecord를 쿼리하는 경우 search를 순서대로붙여보며 query 시도
▪ optionsndots:5 : dot이 5개 미만인 경우 search를 붙여 쿼리
GAMES ON AWS 2022
© 2022, Amazon Web Services, Inc. or its affiliates.
DNS Query Hang: Kubernetes resolv.conf
다음의 설정에서 aws.amazon.com을 쿼리하는 경우
36
# /etc/resolv.conf
nameserver 10.96.0.10
search default.svc.cluster.local svc.cluster.local cluster.local
options ndots:5
aws.amazon.com.default.svc.cluster.local ➔ NXDOMAIN
aws.amazon.com.svc.cluster.local ➔ NXDOMAIN
aws.amazon.com.cluster.local ➔ NXDOMAIN
aws.amazon.com ➔ NOERROR (SUCCESS)
이렇게 4번의 쿼리 발생
GAMES ON AWS 2022
© 2022, Amazon Web Services, Inc. or its affiliates.
Tricks with ndots
37
develop namespace
release namespace
pubg-system namespace
redis service
nslookup redis
➔ redis.develop.svc.cluster.local
redis service
nslookup redis
➔ redis.release.svc.cluster.local
redis.develop
redis.release
일반적으로 {service_name}, {service_name}.{namespace} 로 내부 Service 쿼리
➔ ndots: 2 설정이 권장됨
GAMES ON AWS 2022
© 2022, Amazon Web Services, Inc. or its affiliates.
DNS Query Hang: CoreDNS Autoscaler
38
EC2 EC2 EC2
coredns-autoscaler
Node / Pod개수에 비례하여
CoreDNS replicas 조정
podAntiAffinity로 하나의 Node에서 2개 이상의 CodeDNS가 뜨지 못하도록 보장
GAMES ON AWS 2022
© 2022, Amazon Web Services, Inc. or its affiliates.
DNS Query Hang: Cache
▪ CoreDNS에 Cache 설정을 추가하여,
동일한 Record에 대한 질의가 AWS VPC DNS Server로 올라가지 않도록 함
▪ 기본값으로도 충분할 수 있으나, 서비스 종류가 늘어나는 경우 cache entry가 부족할 수 있음
 EKS 생성 시 기본적으로 생성되는 CoreDNS에 mem limits이 걸려있기 때문에 cache를 늘릴 때
CoreDNS가 OOM 나지 않도록 주의
▪ prefetch를 통해 자주 쿼리하는 Record를 미리 Cache하는 것도 좋음
39
GAMES ON AWS 2022
© 2022, Amazon Web Services, Inc. or its affiliates.
Mainshard - Amazon EKS 전환에 따른 혜택
1. QA 환경 관리 부담 개선
2. 인프라 생성 관리 부담 개선
▪ PUBG Production Service 인프라 관리 개선
▪ 자잘한 미니 서버 관리 개선
40
GAMES ON AWS 2022
© 2022, Amazon Web Services, Inc. or its affiliates.
과거: QA 환경 세팅을 위해서는 DevOps의 도움 필요
41
M A I N S H A R D - A M A Z O N E K S 전 환 에 따 른 혜 택
Manual Terraform Apply
QA 환경
~ 20 min
DevOps
GAMES ON AWS 2022
© 2022, Amazon Web Services, Inc. or its affiliates.
현재: 누구나 생성하고 테스트 가능한 QA 환경
42
✓ QA
✓ PM
✓ Designer
✓ Developer
QA Deploy Website
(Web UI)
Apply K8s YAML
QA 환경
~ 5min
Reconcile QA Env
M A I N S H A R D - A M A Z O N E K S 전 환 에 따 른 혜 택
GAMES ON AWS 2022
© 2022, Amazon Web Services, Inc. or its affiliates. 43
최소한의 관리로 평균 100여개 이상의 환경이 동작 중
현재: 누구나 생성하고 테스트 가능한 QA 환경
M A I N S H A R D - A M A Z O N E K S 전 환 에 따 른 혜 택
GAMES ON AWS 2022
© 2022, Amazon Web Services, Inc. or its affiliates. 44
Production 인프라
관리 개선
자잘한 미니 서버
관리 개선
▪ Deployment + Service 생성만으로
대부분의 신규 서비스 배포 가능
▪ Deployment 수정을 통해 Image
Version/ Resource/환경변수 등 배포
관련 다양한 수정 쉽게 적용 가능
▪ YAML이 Declarative하기 때문에
gitops 적용으로 변경 추적 용이
▪ sidecar container/daemomset pod
을 이용하여 Pod/Node 단위 Addon
추가 용이
▪ 서버 운영 툴, CS 툴, 모니터링
툴 등 여러 도구를
DaemonSet / Deployment
형태로 배포
▪ 대부분 Deployment +
Service + Ingress 배포만으
로 구성 가능
인프라 생성 관리 부담 개선
GAMES ON AWS 2022
© 2022, Amazon Web Services, Inc. or its affiliates.
© 2022, Amazon Web Services, Inc. or its affiliates. 45
3. PUBG 인게임 서버 Amazon EKS 전환기
GAMES ON AWS 2022
© 2022, Amazon Web Services, Inc. or its affiliates.
레거시 게임샤드 아키텍처
46
GameShard (Multi Region)
GameShard VPC (us-east-1, ap-northeast-2, etc.)
GameShard Autoscaling Group
GameShard Node
GameSession
GroupService
GameSession
Service
Dedicated
Server
GameSession
Service
Dedicated
Server
GameShard
ProxyService
CloudFront
Log S3 Bucket
GameSessionGroupService
▪ 노드별로 단 1개의 Process만 동작
▪ 하나의 환경 (QA 환경 등)에 종속
▪ GameSessionService - Dedicated Server Set 관리
GameSessionService
▪ Dedicated Server의 Lifecycle 관리
▪ Dedicated Server에서 발생하는 로그 / API 요청
프록시
DedicatedServer
▪ 유저들이 접속해 게임을 플레이하는 Unreal 서버
➔ CloudFormation으로 한번에 배포 및 관리
Users
GAMES ON AWS 2022
© 2022, Amazon Web Services, Inc. or its affiliates. 47
QA 환경 비용 이슈
✓ GameShard 서버 코드 구조상 하나의 Host를 여러
QA 환경이 공유하도록 변경하기 매우 어려웠음
▪ 생성 및 삭제가 오래 걸리기 때문에 필요한 시점에
동적으로 생성 삭제하기 쉽지 않았음
✓ 매칭이 되지 않는 경우 팀에 이슈 리포트
✓ 사용 후 지우는 것을 잊어버림
▪ CloudFormation Stack 구성에 변경이 있는 경우
변경 적용까지 공수와 시간 다수 소요
✓ Template수정➔신규Stack생성및GameServer패치➔
신규Stack라이브서비스투입➔기존StackDrain 및제거
✓ 신규 Stack 생성 및 GameServer 패치: 15분~
✓ 기준 Stack Drain 및 제거: 40분~
▪ 하나의 EC2 Host에서 여러 세션이 돌아가는 상황에서
세션간 리소스가 제대로 격리되어 있지 않았기에
하나의 서버 부하가 다른 서버에도 영향을 미침
Amazon EKS 로 전환하게 된 계기
인프라 관리 이슈
GAMES ON AWS 2022
© 2022, Amazon Web Services, Inc. or its affiliates.
Kubernetes에서 GameServer Pod 다루기
48
▪ HTTP(=TCP) 통신
▪ Load Balancer / Service Layer 존재
▪ (거의 대부분) Stateless Server
▪ Scale-in / out을 제외하면 Pod 재생성 X
▪ UDP (+ TCP) 통신
▪ Host IP : Port를 직접 사용하여 통신
▪ Stateful Server
▪ 하나의 Session이 끝나면 Pod 종료 후 재 생성
PUBG’s MainShard Pod (= WebServer) PUBG’s GameShard Pod (= GameServer)
➔ Agones라는 도구를 사용하여 GameServer Pod 관리
GAMES ON AWS 2022
© 2022, Amazon Web Services, Inc. or its affiliates.
GameShard Architecture w/Agones
49
Kubernetes Cluster
EC2 with Public IP EC2
Agones Controller
GameServer Pod A
GameServer Pod B
node_ip:7100
node_ip:7200
pod_a:7777
pod_b:7777
DediServer
container
DediServer
container
Agones Sidecar
container
Agones Sidecar
container
GameServer
Manager Service
Create
GameServer Pod
hostPort NAT
GAMES ON AWS 2022
© 2022, Amazon Web Services, Inc. or its affiliates.
Dedicated Server Image
일반적인 이미지와 다른 매우 큰 이미지 크기 (~10GiB Image)
조직적 이슈로 Image Layer 최적화 하기 어려운 폴더 구조
➔ 이미지 일부를 Layer로 분할해 Node에 미리 넣어두기도 어려움
50
GAMES ON AWS 2022
© 2022, Amazon Web Services, Inc. or its affiliates.
신규 Pod 실행 시간 문제
Pod 생성 후 Ready 까지: 7~15분 이상 
51
 Pod 생성 후 Ready 까지: 1분 미만
기존 Node에서
Pod 실행 시
신규 Node에서
Pod 실행 시
GAMES ON AWS 2022
© 2022, Amazon Web Services, Inc. or its affiliates.
신규 Node에서 Pod이 실행되기까지
52
Unscheduled Pods
GameServer Pod
GameServer Pod
GameServer Pod
GameServer Pod
New EC2 Node
EC2 Node
Cluster Autoscaler
GameServer Node Pool
1. Trigger ASG Scale-out
3. Schedule Pods
DaemonSet Pods
2. Bootstrap Node
GAMES ON AWS 2022
© 2022, Amazon Web Services, Inc. or its affiliates.
신규 Pod 실행 시간 문제 원인 파악
각 구간별 소요 시간
1. ASG Scale-out ~ 신규 Node가 클러스터에 등록 : 1~2분
2. Node Bootstrapping: 30초~ 1분
3. Pod Scheduled ~ Pod Ready: 10~15분 이상
53
Pod Scheduled ~ Ready 속도 문제 파악
➔결과적으로 Image Pull 속도 문제
➔Image Pull 속도 최적화 필요
GAMES ON AWS 2022
© 2022, Amazon Web Services, Inc. or its affiliates.
Custom Container Registry 세팅
Harbor 라는 Open-source Container Registry를 이용하여 ECR Proxy 구성
54
1. Pull Image
2. Get Image from ECR
3. Store Cache to S3
4. Retrieve Manifest
5. Get Cache Image from S3 via CF
EKS Node
Harbor
S3
CloudFront
ECR
GAMES ON AWS 2022
© 2022, Amazon Web Services, Inc. or its affiliates.
Image Pull 가속 결과
CF 가속 및 Caching을 이용하여 Pod Scheduled ~ Pod Ready 시간 단축
15분 이상 ➔ 7분
55
GAMES ON AWS 2022
© 2022, Amazon Web Services, Inc. or its affiliates.
Kubelet flag: --serialized-image-pull=false
56
15분 이상 ➔ 7분 ➔ 3분
▪ Kubelet이 여러 container image를 pull 할 때 순차적으로 pull을 할지 결정하는 flag
➔ 모든 이미지를 새로 당겨야 하는 상황이면 Image Pull이 직렬화 되는 것 = Container 실행도 직렬화 되는 것
▪ false로 설정하는 경우 여러 컨테이너 이미지를 동시에 당길 수 있게 됨
➔ Node Bootstrap & Dedicated Server Pod 준비시간 단축
▪ 추가로 Pod이 Scheduled되기 전부터 이미지를 Pull하는 DaemonSet을 구성
➔ Node Bootstrap 완료 전 부터 이미지 Pull 가능
GAMES ON AWS 2022
© 2022, Amazon Web Services, Inc. or its affiliates.
갑작스런 네트워크 지연 감지
57
Server → Client Packet 0pps (=전체 유실)
네트워크 지연 감지 = 일정 시간동안 Server -> Client Packet을 전송 받지 못한 경우
GAMES ON AWS 2022
© 2022, Amazon Web Services, Inc. or its affiliates.
Server Hang ?
문제 시점의 로그를 확인 해 본 결과 네트워크 이슈 발생 시간대 서버는 정상적으로 동작
➔ 로그를 통해 서버 입장에서도 제대로 패킷을 받지 못한 것으로 확인함
➔ Host의 Network Issue를 의심
58
GAMES ON AWS 2022
© 2022, Amazon Web Services, Inc. or its affiliates.
Host Network Debugging
59
tcpdump, kernel iptables log, conntrack table event 등을 통해 디버깅
➔ Conntrack이 다시 생성되는 event와 동시에 간헐적으로 네트워크 지연 감지가 발생하는것을 확인
➔다양한 테스트를 통해 GameServer Pod이 생성될 때 전체 UDP Conntrack이 Flush 되는 것 확인
GAMES ON AWS 2022
© 2022, Amazon Web Services, Inc. or its affiliates.
UDP Conntrack?
▪ 트래픽의 빠른 NAT를 위해 NAT Rule을 반영하여 기록된 connection 정보
Host IP:Port로 들어온 트래픽이 Pod IP:Port로 NAT된 Connection 정보가 기록됨
60
# 정상 Conntrack
udp 17 119 src=1.2.3.4 dst=10.100.0.200 sport=50000 dport=7000 src=172.16.0.100 dst=1.2.3.4 sport=7777 dport=50000 [ASSURED] mark=0 use=1
Client
(1.2.3.4:50000)
EC2 (10.100.0.200)
GameServer Pod
(172.16.0.100)
NAT 10.100.0.200:7000
➔ 172.16.0.100:7777
:7777
:7000
1.2.3.4:50000 → 10.100.0.200:7000 UDP 요청
➔ 172.16.0.100:7777 → 1.2.3.4:50000 응답 기대
NAT node_ip:node_port
➔ pod_ip:pod_port
GAMES ON AWS 2022
© 2022, Amazon Web Services, Inc. or its affiliates.
문제: 비정상 Conntrack 생성
Conntrack이 재생성되는 과정에서 정상적이지 않은 두 Conntrack으로 분리되어 생성됨
61
# 정상 Conntrack
udp 17 119 src=1.2.3.4 dst=10.100.0.200 sport=50000 dport=7000 src=172.16.0.100 dst=1.2.3.4 sport=7777 dport=50000 [ASSURED] mark=0 use=1
# 비정상 Conntrack
udp 17 29 src=1.2.3.4 dst=10.100.0.200 sport=50000 dport=7000 [UNREPLIED] src=172.16.0.100 dst=1.2.3.4 sport=7777 dport=60000 mark=0 use=1
udp 17 29 src=172.16.0.100 dst=1.2.3.4 sport=7777 dport=50000 [UNREPLIED] src=1.2.3.4 dst=10.100.0.200 sport=50000 dport=7777 mark=0 use=1
src=1.2.3.4:50000 dst=10.100.0.200:7000 UDP 요청
➔ src=172.16.0.100:7777 dst=1.2.3.4:50000 응답 기대
src=1.2.3.4:50000 dst=10.100.0.200:7000 UDP 요청
➔ src=172.16.0.100:7777 dst=1.2.3.4:60000 응답 기대
src=172.16.0.100:7777 dst=1.2.3.4:50000 UDP 요청
➔ src=1.2.3.4:50000 dst=10.100.0.200:7777 응답 기대
“Server → Client / Client → Server 모두 포트가 꼬임 ➔ 트래픽 유실”
GAMES ON AWS 2022
© 2022, Amazon Web Services, Inc. or its affiliates.
누가 Conntrack을 Flush 하는가?
CNI: Container Network Interface의 port-mapping plugin
Host의 Port로 들어오는 트래픽을 Pod 으로 전달하기 위한 iptables nat Rule을 관리하는 도구
▪ GameServer Pod 동작의 핵심 컴포넌트
▪ AWS VPC CNI에 의해 버전 관리
62
Client
(1.2.3.4:50000)
EC2 (10.100.0.200)
GameServer Pod
(172.16.0.100)
NAT 10.100.0.200:7000
➔ 172.16.0.100:7777
:7777
:7000
GAMES ON AWS 2022
© 2022, Amazon Web Services, Inc. or its affiliates.
그러면 왜 Conntrack을 Flush 하는가?
63
Host IP: 10.100.10.1
Port: 7000
udp://10.100.10.1:7000
Old Pod
New Pod
NAT by stale conntrack
Release 0.9.0: Delete stale UDP conntrack entries when adding new Portmaps to containers (#553).
GAMES ON AWS 2022
© 2022, Amazon Web Services, Inc. or its affiliates.
Plugin Bug…
64
지워야 하는 conntrack의 filter 를 구성하는 과정 순서 차이로 필터 세팅이 제대로 되지 않음
➔ 특정 포트의 conntrack을 지우는 것이 아니라 전체 포트의 conntrack을 제거
Release 1.1.0: portmap: fix bug that new udp connection deletes all existing conntrack entries (#705)
GAMES ON AWS 2022
© 2022, Amazon Web Services, Inc. or its affiliates.
Portmap Plugin 동작 방식 및 수정
hostport pod 생성 시 portmap plugin cli을 실행시켜 NAT Rule이 설정되는 구조
➔ v0.9.0(=AWS VPC CNI 사용 버전)기준으로 bugfix binary image를 생성하고 DeamonSet으로 배포하여 교체
➔ CNI Plugin v1.1.0버전 이상을 사용하는 CNI인 경우 별도의 작업 불필요
65
Release 1.1.0: portmap: fix bug that new udp connection deletes all existing conntrack entries (#705)
GAMES ON AWS 2022
© 2022, Amazon Web Services, Inc. or its affiliates.
GameShard – Amazon EKS 전환에 따른 혜택
66
1. QA 환경 비용 절감 및 관리 개선
2. Production 배포 관리 측면
GAMES ON AWS 2022
© 2022, Amazon Web Services, Inc. or its affiliates.
QA 환경 비용 절감 및 관리 개선
▪ QA 환경별 최소 자원 할당 m5.4xlarge 1대 → Single Pod (약 2vCPU)
▪ 여러 QA 환경의 GameShard를 리전별 하나의 클러스터로 운영 가능
67
GameShard Worker Node
GameServer Pod
GameServer Pod GameServer Pod
GameServer Pod
QA: Feature_A
QA: Feature_B
QA: Release_2210
QA: Release_2211
GAMES ON AWS 2022
© 2022, Amazon Web Services, Inc. or its affiliates.
Production 배포 관리: 즉각적인 Rolling Update
Instance Type 변경 및 버전 변경 등이 있을 때 Rolling Update 방식으로 업데이트 되기 때문
에 기존에 진행되던 게임 정상 종료 보장
▪ 변경 적용 즉시 Rolling Update 진행
68
GameShard Worker Node
GameServer Pod
(Playing)
GameServer Pod
(Playing)
GameServer Pod
(Playing)
GameServer Pod
(Playing)
GameServer Pod
(Buffer)
GameServer Pod
(Buffer)
GameServer Pod
(Buffer)
GameServer Pod
(Buffer)
GameServer Pod
(Buffer)
GameServer Pod
(Buffer)
GameServer Pod
(Buffer)
GameServer Pod
(Buffer)
GAMES ON AWS 2022
© 2022, Amazon Web Services, Inc. or its affiliates.
Production 배포 관리: 즉각적인 Rolling Update
Resource Limit을 활용하여 하나의 게임서버가 Node 전체의 리소스를 점유하는 상황을 방지
▪ 하나의 서버 부하가 동일 노드의 다른 서버에 미치는 영향을 줄일 수 있음
69
GameShard Worker Node
GameServer Pod
GameServer Pod GameServer Pod
GameServer Pod
GAMES ON AWS 2022
© 2022, Amazon Web Services, Inc. or its affiliates. 70
AWS Cloud
MainShard (Single Region)
MainShard VPC (us-east-1)
PUBG
MicroServices
AWS Managed
Services
GameShard (Multi Region)
UserProxy CloudFront Endpoint를 이용한 HTTP(S) 통신
GameShard VPC (us-east-1, ap-northeast-2, etc.)
GameShard Kubernetes Cluster
GameShard Node의 Public IP:Port를 이용한 UDP 통신
Users
MainShard Kubernetes Cluster
FleetManager
Service
UserProxy Services GameShard
Proxy Service
Other Servers
GameServer Pod
GameSession
Service Container
Agones Sidecar
Dedicated Server
Agones Sidecar
Other Services
GAMES ON AWS 2022
© 2022, Amazon Web Services, Inc. or its affiliates.
Summary
전 환 과 정 에 서 느 낀 점
71
2. Kubernetes 또한 다른 도구들과 마찬가지로 Silver Bullet은 될 수 없으며,
상황에 맞게 잘 고민하고 튜닝해서 사용해야 한다.
1. Kubernetes는 Workload의 관리를 굉장히 편하게 해준 도구이지만,
Under the hood에서는 생각보다 훨씬 더 많은 것들이 돌아가고 있다.
3. Managed Kubernetes Service인 EKS를 사용했기 때문에, 많은 우여곡절을
겪는 와중에도 Control Plane 관리 및 장애대응에 대한 부담을 많이 덜 수 있었다.
GAMES ON AWS 2022
© 2022, Amazon Web Services, Inc. or its affiliates.
© 2022, Amazon Web Services, Inc. or its affiliates.
We are Hiring!
G A M E S O N A W S 2 0 2 2
Q&A
GAMES ON AWS 2022
© 2022, Amazon Web Services, Inc. or its affiliates.
Thank you!
© 2022, Amazon Web Services, Inc. or its affiliates.
김정헌
mnthe@pubg.com
크래프톤

More Related Content

What's hot

AWS for Games - 게임만을 위한 AWS 서비스 길라잡이 (레벨 200) - 진교선, 솔루션즈 아키텍트, AWS ::: Game...
AWS for Games - 게임만을 위한 AWS 서비스 길라잡이 (레벨 200) - 진교선, 솔루션즈 아키텍트, AWS :::  Game...AWS for Games - 게임만을 위한 AWS 서비스 길라잡이 (레벨 200) - 진교선, 솔루션즈 아키텍트, AWS :::  Game...
AWS for Games - 게임만을 위한 AWS 서비스 길라잡이 (레벨 200) - 진교선, 솔루션즈 아키텍트, AWS ::: Game...Amazon Web Services Korea
 
게임의 성공을 위한 Scalable 한 데이터 플랫폼 사례 공유 - 오승용, 데이터 플랫폼 리더, 데브시스터즈 ::: Games on AW...
게임의 성공을 위한 Scalable 한 데이터 플랫폼 사례 공유 - 오승용, 데이터 플랫폼 리더, 데브시스터즈 ::: Games on AW...게임의 성공을 위한 Scalable 한 데이터 플랫폼 사례 공유 - 오승용, 데이터 플랫폼 리더, 데브시스터즈 ::: Games on AW...
게임의 성공을 위한 Scalable 한 데이터 플랫폼 사례 공유 - 오승용, 데이터 플랫폼 리더, 데브시스터즈 ::: Games on AW...Amazon Web Services Korea
 
아마존의 관리형 게임 플랫폼 활용하기: GameLift (Deep Dive) :: 구승모 솔루션즈 아키텍트 :: Gaming on AWS ...
아마존의 관리형 게임 플랫폼 활용하기: GameLift (Deep Dive) :: 구승모 솔루션즈 아키텍트 :: Gaming on AWS ...아마존의 관리형 게임 플랫폼 활용하기: GameLift (Deep Dive) :: 구승모 솔루션즈 아키텍트 :: Gaming on AWS ...
아마존의 관리형 게임 플랫폼 활용하기: GameLift (Deep Dive) :: 구승모 솔루션즈 아키텍트 :: Gaming on AWS ...Amazon Web Services Korea
 
쿠키런 1년, 서버개발 분투기
쿠키런 1년, 서버개발 분투기쿠키런 1년, 서버개발 분투기
쿠키런 1년, 서버개발 분투기Brian Hong
 
IDC 서버 몽땅 AWS로 이전하기 위한 5가지 방법 - 윤석찬 (AWS 테크에반젤리스트)
IDC 서버 몽땅 AWS로 이전하기 위한 5가지 방법 - 윤석찬 (AWS 테크에반젤리스트) IDC 서버 몽땅 AWS로 이전하기 위한 5가지 방법 - 윤석찬 (AWS 테크에반젤리스트)
IDC 서버 몽땅 AWS로 이전하기 위한 5가지 방법 - 윤석찬 (AWS 테크에반젤리스트) Amazon Web Services Korea
 
AWS로 게임 런칭 준비하기 ::: 장준성, 채민관, AWS Game Master 온라인 시리즈 #4
AWS로 게임 런칭 준비하기 ::: 장준성, 채민관, AWS Game Master 온라인 시리즈 #4AWS로 게임 런칭 준비하기 ::: 장준성, 채민관, AWS Game Master 온라인 시리즈 #4
AWS로 게임 런칭 준비하기 ::: 장준성, 채민관, AWS Game Master 온라인 시리즈 #4Amazon Web Services Korea
 
AWS를 활용해서 글로벌 게임 런칭하기 - 박진성 AWS 솔루션즈 아키텍트 :: AWS Summit Seoul 2021
AWS를 활용해서 글로벌 게임 런칭하기 - 박진성 AWS 솔루션즈 아키텍트 :: AWS Summit Seoul 2021AWS를 활용해서 글로벌 게임 런칭하기 - 박진성 AWS 솔루션즈 아키텍트 :: AWS Summit Seoul 2021
AWS를 활용해서 글로벌 게임 런칭하기 - 박진성 AWS 솔루션즈 아키텍트 :: AWS Summit Seoul 2021Amazon Web Services Korea
 
AWS로 게임 기반 다지기 - 김병수, 박진성 :: AWS Game Master 온라인 세미나 #3
AWS로 게임 기반 다지기 - 김병수, 박진성 :: AWS Game Master 온라인 세미나 #3 AWS로 게임 기반 다지기 - 김병수, 박진성 :: AWS Game Master 온라인 세미나 #3
AWS로 게임 기반 다지기 - 김병수, 박진성 :: AWS Game Master 온라인 세미나 #3 Amazon Web Services Korea
 
게임서비스를 위한 ElastiCache 활용 전략 :: 구승모 솔루션즈 아키텍트 :: Gaming on AWS 2016
게임서비스를 위한 ElastiCache 활용 전략 :: 구승모 솔루션즈 아키텍트 :: Gaming on AWS 2016게임서비스를 위한 ElastiCache 활용 전략 :: 구승모 솔루션즈 아키텍트 :: Gaming on AWS 2016
게임서비스를 위한 ElastiCache 활용 전략 :: 구승모 솔루션즈 아키텍트 :: Gaming on AWS 2016Amazon Web Services Korea
 
〈야생의 땅: 듀랑고〉 서버 아키텍처 Vol. 3
〈야생의 땅: 듀랑고〉 서버 아키텍처 Vol. 3〈야생의 땅: 듀랑고〉 서버 아키텍처 Vol. 3
〈야생의 땅: 듀랑고〉 서버 아키텍처 Vol. 3Heungsub Lee
 
7. 게임 스트리밍 서비스를 위한 아키텍처 - 언리얼 엔진을 중심으로! [레벨 300] - 발표자: 하흥수, 솔루션즈 아키텍트, AWS :...
7.	게임 스트리밍 서비스를 위한 아키텍처 - 언리얼 엔진을 중심으로! [레벨 300] - 발표자: 하흥수, 솔루션즈 아키텍트, AWS :...7.	게임 스트리밍 서비스를 위한 아키텍처 - 언리얼 엔진을 중심으로! [레벨 300] - 발표자: 하흥수, 솔루션즈 아키텍트, AWS :...
7. 게임 스트리밍 서비스를 위한 아키텍처 - 언리얼 엔진을 중심으로! [레벨 300] - 발표자: 하흥수, 솔루션즈 아키텍트, AWS :...Amazon Web Services Korea
 
Amazon DocumentDB vs MongoDB 의 내부 아키텍쳐 와 장단점 비교
Amazon DocumentDB vs MongoDB 의 내부 아키텍쳐 와 장단점 비교Amazon DocumentDB vs MongoDB 의 내부 아키텍쳐 와 장단점 비교
Amazon DocumentDB vs MongoDB 의 내부 아키텍쳐 와 장단점 비교Amazon Web Services Korea
 
높은 가용성과 성능 향상을 위한 ElastiCache 활용 팁 - 임근택, SendBird :: AWS Summit Seoul 2019
높은 가용성과 성능 향상을 위한 ElastiCache 활용 팁 - 임근택, SendBird :: AWS Summit Seoul 2019 높은 가용성과 성능 향상을 위한 ElastiCache 활용 팁 - 임근택, SendBird :: AWS Summit Seoul 2019
높은 가용성과 성능 향상을 위한 ElastiCache 활용 팁 - 임근택, SendBird :: AWS Summit Seoul 2019 Amazon Web Services Korea
 
Amazon ECS/ECR을 활용하여 마이크로서비스 구성하기 - 김기완 (AWS 솔루션즈아키텍트)
Amazon ECS/ECR을 활용하여 마이크로서비스 구성하기 - 김기완 (AWS 솔루션즈아키텍트)Amazon ECS/ECR을 활용하여 마이크로서비스 구성하기 - 김기완 (AWS 솔루션즈아키텍트)
Amazon ECS/ECR을 활용하여 마이크로서비스 구성하기 - 김기완 (AWS 솔루션즈아키텍트)Amazon Web Services Korea
 
[야생의 땅: 듀랑고] 서버 아키텍처 - SPOF 없는 분산 MMORPG 서버
[야생의 땅: 듀랑고] 서버 아키텍처 - SPOF 없는 분산 MMORPG 서버[야생의 땅: 듀랑고] 서버 아키텍처 - SPOF 없는 분산 MMORPG 서버
[야생의 땅: 듀랑고] 서버 아키텍처 - SPOF 없는 분산 MMORPG 서버Heungsub Lee
 
AWS와 함께 한 쿠키런 서버 Re-architecting 사례 (Gaming on AWS)
AWS와 함께 한 쿠키런 서버 Re-architecting 사례 (Gaming on AWS)AWS와 함께 한 쿠키런 서버 Re-architecting 사례 (Gaming on AWS)
AWS와 함께 한 쿠키런 서버 Re-architecting 사례 (Gaming on AWS)Brian Hong
 
Amazon EKS로 간단한 웹 애플리케이션 구축하기 - 김주영 (AWS) :: AWS Community Day Online 2021
Amazon EKS로 간단한 웹 애플리케이션 구축하기 - 김주영 (AWS) :: AWS Community Day Online 2021Amazon EKS로 간단한 웹 애플리케이션 구축하기 - 김주영 (AWS) :: AWS Community Day Online 2021
Amazon EKS로 간단한 웹 애플리케이션 구축하기 - 김주영 (AWS) :: AWS Community Day Online 2021AWSKRUG - AWS한국사용자모임
 
AWS Summit Seoul 2015 -CloudFront와 Route53 기반 콘텐츠 배포 전략 (GS네오텍-박정수)
AWS Summit Seoul 2015 -CloudFront와 Route53 기반 콘텐츠 배포 전략 (GS네오텍-박정수)AWS Summit Seoul 2015 -CloudFront와 Route53 기반 콘텐츠 배포 전략 (GS네오텍-박정수)
AWS Summit Seoul 2015 -CloudFront와 Route53 기반 콘텐츠 배포 전략 (GS네오텍-박정수)Amazon Web Services Korea
 
쿠버네티스를 이용한 기능 브랜치별 테스트 서버 만들기 (GitOps CI/CD)
쿠버네티스를 이용한 기능 브랜치별 테스트 서버 만들기 (GitOps CI/CD)쿠버네티스를 이용한 기능 브랜치별 테스트 서버 만들기 (GitOps CI/CD)
쿠버네티스를 이용한 기능 브랜치별 테스트 서버 만들기 (GitOps CI/CD)충섭 김
 

What's hot (20)

AWS for Games - 게임만을 위한 AWS 서비스 길라잡이 (레벨 200) - 진교선, 솔루션즈 아키텍트, AWS ::: Game...
AWS for Games - 게임만을 위한 AWS 서비스 길라잡이 (레벨 200) - 진교선, 솔루션즈 아키텍트, AWS :::  Game...AWS for Games - 게임만을 위한 AWS 서비스 길라잡이 (레벨 200) - 진교선, 솔루션즈 아키텍트, AWS :::  Game...
AWS for Games - 게임만을 위한 AWS 서비스 길라잡이 (레벨 200) - 진교선, 솔루션즈 아키텍트, AWS ::: Game...
 
게임의 성공을 위한 Scalable 한 데이터 플랫폼 사례 공유 - 오승용, 데이터 플랫폼 리더, 데브시스터즈 ::: Games on AW...
게임의 성공을 위한 Scalable 한 데이터 플랫폼 사례 공유 - 오승용, 데이터 플랫폼 리더, 데브시스터즈 ::: Games on AW...게임의 성공을 위한 Scalable 한 데이터 플랫폼 사례 공유 - 오승용, 데이터 플랫폼 리더, 데브시스터즈 ::: Games on AW...
게임의 성공을 위한 Scalable 한 데이터 플랫폼 사례 공유 - 오승용, 데이터 플랫폼 리더, 데브시스터즈 ::: Games on AW...
 
아마존의 관리형 게임 플랫폼 활용하기: GameLift (Deep Dive) :: 구승모 솔루션즈 아키텍트 :: Gaming on AWS ...
아마존의 관리형 게임 플랫폼 활용하기: GameLift (Deep Dive) :: 구승모 솔루션즈 아키텍트 :: Gaming on AWS ...아마존의 관리형 게임 플랫폼 활용하기: GameLift (Deep Dive) :: 구승모 솔루션즈 아키텍트 :: Gaming on AWS ...
아마존의 관리형 게임 플랫폼 활용하기: GameLift (Deep Dive) :: 구승모 솔루션즈 아키텍트 :: Gaming on AWS ...
 
쿠키런 1년, 서버개발 분투기
쿠키런 1년, 서버개발 분투기쿠키런 1년, 서버개발 분투기
쿠키런 1년, 서버개발 분투기
 
IDC 서버 몽땅 AWS로 이전하기 위한 5가지 방법 - 윤석찬 (AWS 테크에반젤리스트)
IDC 서버 몽땅 AWS로 이전하기 위한 5가지 방법 - 윤석찬 (AWS 테크에반젤리스트) IDC 서버 몽땅 AWS로 이전하기 위한 5가지 방법 - 윤석찬 (AWS 테크에반젤리스트)
IDC 서버 몽땅 AWS로 이전하기 위한 5가지 방법 - 윤석찬 (AWS 테크에반젤리스트)
 
AWS로 게임 런칭 준비하기 ::: 장준성, 채민관, AWS Game Master 온라인 시리즈 #4
AWS로 게임 런칭 준비하기 ::: 장준성, 채민관, AWS Game Master 온라인 시리즈 #4AWS로 게임 런칭 준비하기 ::: 장준성, 채민관, AWS Game Master 온라인 시리즈 #4
AWS로 게임 런칭 준비하기 ::: 장준성, 채민관, AWS Game Master 온라인 시리즈 #4
 
AWS를 활용해서 글로벌 게임 런칭하기 - 박진성 AWS 솔루션즈 아키텍트 :: AWS Summit Seoul 2021
AWS를 활용해서 글로벌 게임 런칭하기 - 박진성 AWS 솔루션즈 아키텍트 :: AWS Summit Seoul 2021AWS를 활용해서 글로벌 게임 런칭하기 - 박진성 AWS 솔루션즈 아키텍트 :: AWS Summit Seoul 2021
AWS를 활용해서 글로벌 게임 런칭하기 - 박진성 AWS 솔루션즈 아키텍트 :: AWS Summit Seoul 2021
 
AWS로 게임 기반 다지기 - 김병수, 박진성 :: AWS Game Master 온라인 세미나 #3
AWS로 게임 기반 다지기 - 김병수, 박진성 :: AWS Game Master 온라인 세미나 #3 AWS로 게임 기반 다지기 - 김병수, 박진성 :: AWS Game Master 온라인 세미나 #3
AWS로 게임 기반 다지기 - 김병수, 박진성 :: AWS Game Master 온라인 세미나 #3
 
게임서비스를 위한 ElastiCache 활용 전략 :: 구승모 솔루션즈 아키텍트 :: Gaming on AWS 2016
게임서비스를 위한 ElastiCache 활용 전략 :: 구승모 솔루션즈 아키텍트 :: Gaming on AWS 2016게임서비스를 위한 ElastiCache 활용 전략 :: 구승모 솔루션즈 아키텍트 :: Gaming on AWS 2016
게임서비스를 위한 ElastiCache 활용 전략 :: 구승모 솔루션즈 아키텍트 :: Gaming on AWS 2016
 
〈야생의 땅: 듀랑고〉 서버 아키텍처 Vol. 3
〈야생의 땅: 듀랑고〉 서버 아키텍처 Vol. 3〈야생의 땅: 듀랑고〉 서버 아키텍처 Vol. 3
〈야생의 땅: 듀랑고〉 서버 아키텍처 Vol. 3
 
Black Belt Online Seminar AWS Amazon S3
Black Belt Online Seminar AWS Amazon S3Black Belt Online Seminar AWS Amazon S3
Black Belt Online Seminar AWS Amazon S3
 
7. 게임 스트리밍 서비스를 위한 아키텍처 - 언리얼 엔진을 중심으로! [레벨 300] - 발표자: 하흥수, 솔루션즈 아키텍트, AWS :...
7.	게임 스트리밍 서비스를 위한 아키텍처 - 언리얼 엔진을 중심으로! [레벨 300] - 발표자: 하흥수, 솔루션즈 아키텍트, AWS :...7.	게임 스트리밍 서비스를 위한 아키텍처 - 언리얼 엔진을 중심으로! [레벨 300] - 발표자: 하흥수, 솔루션즈 아키텍트, AWS :...
7. 게임 스트리밍 서비스를 위한 아키텍처 - 언리얼 엔진을 중심으로! [레벨 300] - 발표자: 하흥수, 솔루션즈 아키텍트, AWS :...
 
Amazon DocumentDB vs MongoDB 의 내부 아키텍쳐 와 장단점 비교
Amazon DocumentDB vs MongoDB 의 내부 아키텍쳐 와 장단점 비교Amazon DocumentDB vs MongoDB 의 내부 아키텍쳐 와 장단점 비교
Amazon DocumentDB vs MongoDB 의 내부 아키텍쳐 와 장단점 비교
 
높은 가용성과 성능 향상을 위한 ElastiCache 활용 팁 - 임근택, SendBird :: AWS Summit Seoul 2019
높은 가용성과 성능 향상을 위한 ElastiCache 활용 팁 - 임근택, SendBird :: AWS Summit Seoul 2019 높은 가용성과 성능 향상을 위한 ElastiCache 활용 팁 - 임근택, SendBird :: AWS Summit Seoul 2019
높은 가용성과 성능 향상을 위한 ElastiCache 활용 팁 - 임근택, SendBird :: AWS Summit Seoul 2019
 
Amazon ECS/ECR을 활용하여 마이크로서비스 구성하기 - 김기완 (AWS 솔루션즈아키텍트)
Amazon ECS/ECR을 활용하여 마이크로서비스 구성하기 - 김기완 (AWS 솔루션즈아키텍트)Amazon ECS/ECR을 활용하여 마이크로서비스 구성하기 - 김기완 (AWS 솔루션즈아키텍트)
Amazon ECS/ECR을 활용하여 마이크로서비스 구성하기 - 김기완 (AWS 솔루션즈아키텍트)
 
[야생의 땅: 듀랑고] 서버 아키텍처 - SPOF 없는 분산 MMORPG 서버
[야생의 땅: 듀랑고] 서버 아키텍처 - SPOF 없는 분산 MMORPG 서버[야생의 땅: 듀랑고] 서버 아키텍처 - SPOF 없는 분산 MMORPG 서버
[야생의 땅: 듀랑고] 서버 아키텍처 - SPOF 없는 분산 MMORPG 서버
 
AWS와 함께 한 쿠키런 서버 Re-architecting 사례 (Gaming on AWS)
AWS와 함께 한 쿠키런 서버 Re-architecting 사례 (Gaming on AWS)AWS와 함께 한 쿠키런 서버 Re-architecting 사례 (Gaming on AWS)
AWS와 함께 한 쿠키런 서버 Re-architecting 사례 (Gaming on AWS)
 
Amazon EKS로 간단한 웹 애플리케이션 구축하기 - 김주영 (AWS) :: AWS Community Day Online 2021
Amazon EKS로 간단한 웹 애플리케이션 구축하기 - 김주영 (AWS) :: AWS Community Day Online 2021Amazon EKS로 간단한 웹 애플리케이션 구축하기 - 김주영 (AWS) :: AWS Community Day Online 2021
Amazon EKS로 간단한 웹 애플리케이션 구축하기 - 김주영 (AWS) :: AWS Community Day Online 2021
 
AWS Summit Seoul 2015 -CloudFront와 Route53 기반 콘텐츠 배포 전략 (GS네오텍-박정수)
AWS Summit Seoul 2015 -CloudFront와 Route53 기반 콘텐츠 배포 전략 (GS네오텍-박정수)AWS Summit Seoul 2015 -CloudFront와 Route53 기반 콘텐츠 배포 전략 (GS네오텍-박정수)
AWS Summit Seoul 2015 -CloudFront와 Route53 기반 콘텐츠 배포 전략 (GS네오텍-박정수)
 
쿠버네티스를 이용한 기능 브랜치별 테스트 서버 만들기 (GitOps CI/CD)
쿠버네티스를 이용한 기능 브랜치별 테스트 서버 만들기 (GitOps CI/CD)쿠버네티스를 이용한 기능 브랜치별 테스트 서버 만들기 (GitOps CI/CD)
쿠버네티스를 이용한 기능 브랜치별 테스트 서버 만들기 (GitOps CI/CD)
 

Similar to PUBG: Battlegrounds 라이브 서비스 EKS 전환 사례 공유 [크래프톤 - 레벨 300] - 발표자: 김정헌, PUBG DevOps 팀장, 크래프톤 ::: Games on AWS 2022

웹 3.0 시대에서의 블록체인, 메타버스 및 대체불가 토큰(NFT) on AWS 사례 공유 [레벨 200] - 발표자: 이이구, CTO, ...
웹 3.0 시대에서의 블록체인, 메타버스 및 대체불가 토큰(NFT) on AWS 사례 공유 [레벨 200] - 발표자: 이이구, CTO, ...웹 3.0 시대에서의 블록체인, 메타버스 및 대체불가 토큰(NFT) on AWS 사례 공유 [레벨 200] - 발표자: 이이구, CTO, ...
웹 3.0 시대에서의 블록체인, 메타버스 및 대체불가 토큰(NFT) on AWS 사례 공유 [레벨 200] - 발표자: 이이구, CTO, ...Amazon Web Services Korea
 
amazon eks network some of count help tip
amazon eks network some of count help tipamazon eks network some of count help tip
amazon eks network some of count help tipHeeJung Chae
 
AWS CDK를 활용한 게임 데이터 파이프라인 구축 방안 [레벨 200] - 발표자: Douglas Lima, 데브옵스 컨설턴트, AWS ...
AWS CDK를 활용한 게임 데이터 파이프라인 구축 방안 [레벨 200] - 발표자: Douglas Lima, 데브옵스 컨설턴트, AWS ...AWS CDK를 활용한 게임 데이터 파이프라인 구축 방안 [레벨 200] - 발표자: Douglas Lima, 데브옵스 컨설턴트, AWS ...
AWS CDK를 활용한 게임 데이터 파이프라인 구축 방안 [레벨 200] - 발표자: Douglas Lima, 데브옵스 컨설턴트, AWS ...Amazon Web Services Korea
 
간단한 게임을 쉽고 저렴하게 서비스해보자! ::: AWS Game Master 온라인 시리즈 #1
간단한 게임을 쉽고 저렴하게 서비스해보자! ::: AWS Game Master 온라인 시리즈 #1간단한 게임을 쉽고 저렴하게 서비스해보자! ::: AWS Game Master 온라인 시리즈 #1
간단한 게임을 쉽고 저렴하게 서비스해보자! ::: AWS Game Master 온라인 시리즈 #1Amazon Web Services Korea
 
[AWS Builders] AWS 네트워크 서비스 소개 및 사용 방법 - 김기현, AWS 솔루션즈 아키텍트
[AWS Builders] AWS 네트워크 서비스 소개 및 사용 방법 - 김기현, AWS 솔루션즈 아키텍트[AWS Builders] AWS 네트워크 서비스 소개 및 사용 방법 - 김기현, AWS 솔루션즈 아키텍트
[AWS Builders] AWS 네트워크 서비스 소개 및 사용 방법 - 김기현, AWS 솔루션즈 아키텍트Amazon Web Services Korea
 
아키텍처 현대화 분야 신규 서비스 - 주성식, AWS 솔루션즈 아키텍트 :: AWS re:Invent re:Cap 2021
아키텍처 현대화 분야 신규 서비스 - 주성식, AWS 솔루션즈 아키텍트 :: AWS re:Invent re:Cap 2021아키텍처 현대화 분야 신규 서비스 - 주성식, AWS 솔루션즈 아키텍트 :: AWS re:Invent re:Cap 2021
아키텍처 현대화 분야 신규 서비스 - 주성식, AWS 솔루션즈 아키텍트 :: AWS re:Invent re:Cap 2021Amazon Web Services Korea
 
Datadog을 활용한 Elastic Kubernetes Service(EKS)에서의 마이크로서비스 통합 가시성 - 정영석 시니어 세일즈 ...
Datadog을 활용한 Elastic Kubernetes Service(EKS)에서의 마이크로서비스 통합 가시성 - 정영석 시니어 세일즈 ...Datadog을 활용한 Elastic Kubernetes Service(EKS)에서의 마이크로서비스 통합 가시성 - 정영석 시니어 세일즈 ...
Datadog을 활용한 Elastic Kubernetes Service(EKS)에서의 마이크로서비스 통합 가시성 - 정영석 시니어 세일즈 ...Amazon Web Services Korea
 
Microsoft Workloads도 AWS가 제격!-박주연, AWS MSFT Specialist SA / 서경구, AWS Speciali...
Microsoft Workloads도 AWS가 제격!-박주연, AWS MSFT Specialist SA / 서경구, AWS Speciali...Microsoft Workloads도 AWS가 제격!-박주연, AWS MSFT Specialist SA / 서경구, AWS Speciali...
Microsoft Workloads도 AWS가 제격!-박주연, AWS MSFT Specialist SA / 서경구, AWS Speciali...Amazon Web Services Korea
 
게임 서비스에 딱 맞는 AWS 신규 서비스들로 게임 아키텍처 개선하기 - 김병수 솔루션즈 아키텍트, AWS :: AWS Summit Seo...
게임 서비스에 딱 맞는 AWS 신규 서비스들로 게임 아키텍처 개선하기 - 김병수 솔루션즈 아키텍트, AWS :: AWS Summit Seo...게임 서비스에 딱 맞는 AWS 신규 서비스들로 게임 아키텍처 개선하기 - 김병수 솔루션즈 아키텍트, AWS :: AWS Summit Seo...
게임 서비스에 딱 맞는 AWS 신규 서비스들로 게임 아키텍처 개선하기 - 김병수 솔루션즈 아키텍트, AWS :: AWS Summit Seo...Amazon Web Services Korea
 
네트워크 및 엣지 컴퓨팅 분야 신규 서비스 - 최우형, AWS 솔루션즈 아키텍트 :: AWS re:Invent re:Cap 2021
네트워크 및 엣지 컴퓨팅 분야 신규 서비스 - 최우형, AWS 솔루션즈 아키텍트 :: AWS re:Invent re:Cap 2021네트워크 및 엣지 컴퓨팅 분야 신규 서비스 - 최우형, AWS 솔루션즈 아키텍트 :: AWS re:Invent re:Cap 2021
네트워크 및 엣지 컴퓨팅 분야 신규 서비스 - 최우형, AWS 솔루션즈 아키텍트 :: AWS re:Invent re:Cap 2021Amazon Web Services Korea
 
[Games on AWS 2019] AWS 입문자를 위한 초단기 레벨업 트랙 | AWS 레벨업 하기! : 네트워크 - 권신중 AWS 솔루션...
[Games on AWS 2019] AWS 입문자를 위한 초단기 레벨업 트랙 | AWS 레벨업 하기! : 네트워크 - 권신중 AWS 솔루션...[Games on AWS 2019] AWS 입문자를 위한 초단기 레벨업 트랙 | AWS 레벨업 하기! : 네트워크 - 권신중 AWS 솔루션...
[Games on AWS 2019] AWS 입문자를 위한 초단기 레벨업 트랙 | AWS 레벨업 하기! : 네트워크 - 권신중 AWS 솔루션...Amazon Web Services Korea
 
AWS 기반 Kubernetes 정복하기::정영준:: AWS Summit Seoul 2018
AWS 기반 Kubernetes 정복하기::정영준:: AWS Summit Seoul 2018 AWS 기반 Kubernetes 정복하기::정영준:: AWS Summit Seoul 2018
AWS 기반 Kubernetes 정복하기::정영준:: AWS Summit Seoul 2018 Amazon Web Services Korea
 
[GS네오텍] Google Compute Engine
[GS네오텍]  Google Compute Engine[GS네오텍]  Google Compute Engine
[GS네오텍] Google Compute EngineGS Neotek
 
마이크로 서비스를 위한 AWS의 다양한 컨테이너 옵션 l 이창수 솔루션즈 아키텍트
마이크로 서비스를 위한 AWS의 다양한 컨테이너 옵션 l 이창수 솔루션즈 아키텍트마이크로 서비스를 위한 AWS의 다양한 컨테이너 옵션 l 이창수 솔루션즈 아키텍트
마이크로 서비스를 위한 AWS의 다양한 컨테이너 옵션 l 이창수 솔루션즈 아키텍트Amazon Web Services Korea
 
강의 2: AWS 핵심 서비스:: AWSome Day Online Conference
강의 2: AWS 핵심 서비스:: AWSome Day Online Conference강의 2: AWS 핵심 서비스:: AWSome Day Online Conference
강의 2: AWS 핵심 서비스:: AWSome Day Online ConferenceAmazon Web Services Korea
 
AWS 클라우드 네트워크 서비스 알아보기::서지혜::AWS Summit Seoul 2018
AWS 클라우드 네트워크 서비스 알아보기::서지혜::AWS Summit Seoul 2018AWS 클라우드 네트워크 서비스 알아보기::서지혜::AWS Summit Seoul 2018
AWS 클라우드 네트워크 서비스 알아보기::서지혜::AWS Summit Seoul 2018Amazon Web Services Korea
 
[AWS Migration Workshop] SQL Server Performance on AWS
[AWS Migration Workshop]  SQL Server Performance on AWS[AWS Migration Workshop]  SQL Server Performance on AWS
[AWS Migration Workshop] SQL Server Performance on AWSAmazon Web Services Korea
 
컨테이너, AWS에서 날개를 달다 - 유재석, AWS 솔루션즈 아키텍트 :: AWS Game Master 온라인 세미나
컨테이너, AWS에서 날개를 달다 - 유재석, AWS 솔루션즈 아키텍트 :: AWS Game Master 온라인 세미나컨테이너, AWS에서 날개를 달다 - 유재석, AWS 솔루션즈 아키텍트 :: AWS Game Master 온라인 세미나
컨테이너, AWS에서 날개를 달다 - 유재석, AWS 솔루션즈 아키텍트 :: AWS Game Master 온라인 세미나Amazon Web Services Korea
 
AWS 클라우드 핵심 서비스로 클라우드 기반 아키텍처 빠르게 구성하기 - 문종민 솔루션즈 아키텍트, AWS :: AWS Summit Seo...
AWS 클라우드 핵심 서비스로 클라우드 기반 아키텍처 빠르게 구성하기 - 문종민 솔루션즈 아키텍트, AWS :: AWS Summit Seo...AWS 클라우드 핵심 서비스로 클라우드 기반 아키텍처 빠르게 구성하기 - 문종민 솔루션즈 아키텍트, AWS :: AWS Summit Seo...
AWS 클라우드 핵심 서비스로 클라우드 기반 아키텍처 빠르게 구성하기 - 문종민 솔루션즈 아키텍트, AWS :: AWS Summit Seo...Amazon Web Services Korea
 
데이터 분석플랫폼을 위한 데이터 전처리부터 시각화까지 한번에 보기 - 노인철 AWS 솔루션즈 아키텍트 :: AWS Summit Seoul ...
데이터 분석플랫폼을 위한 데이터 전처리부터 시각화까지 한번에 보기 - 노인철 AWS 솔루션즈 아키텍트 :: AWS Summit Seoul ...데이터 분석플랫폼을 위한 데이터 전처리부터 시각화까지 한번에 보기 - 노인철 AWS 솔루션즈 아키텍트 :: AWS Summit Seoul ...
데이터 분석플랫폼을 위한 데이터 전처리부터 시각화까지 한번에 보기 - 노인철 AWS 솔루션즈 아키텍트 :: AWS Summit Seoul ...Amazon Web Services Korea
 

Similar to PUBG: Battlegrounds 라이브 서비스 EKS 전환 사례 공유 [크래프톤 - 레벨 300] - 발표자: 김정헌, PUBG DevOps 팀장, 크래프톤 ::: Games on AWS 2022 (20)

웹 3.0 시대에서의 블록체인, 메타버스 및 대체불가 토큰(NFT) on AWS 사례 공유 [레벨 200] - 발표자: 이이구, CTO, ...
웹 3.0 시대에서의 블록체인, 메타버스 및 대체불가 토큰(NFT) on AWS 사례 공유 [레벨 200] - 발표자: 이이구, CTO, ...웹 3.0 시대에서의 블록체인, 메타버스 및 대체불가 토큰(NFT) on AWS 사례 공유 [레벨 200] - 발표자: 이이구, CTO, ...
웹 3.0 시대에서의 블록체인, 메타버스 및 대체불가 토큰(NFT) on AWS 사례 공유 [레벨 200] - 발표자: 이이구, CTO, ...
 
amazon eks network some of count help tip
amazon eks network some of count help tipamazon eks network some of count help tip
amazon eks network some of count help tip
 
AWS CDK를 활용한 게임 데이터 파이프라인 구축 방안 [레벨 200] - 발표자: Douglas Lima, 데브옵스 컨설턴트, AWS ...
AWS CDK를 활용한 게임 데이터 파이프라인 구축 방안 [레벨 200] - 발표자: Douglas Lima, 데브옵스 컨설턴트, AWS ...AWS CDK를 활용한 게임 데이터 파이프라인 구축 방안 [레벨 200] - 발표자: Douglas Lima, 데브옵스 컨설턴트, AWS ...
AWS CDK를 활용한 게임 데이터 파이프라인 구축 방안 [레벨 200] - 발표자: Douglas Lima, 데브옵스 컨설턴트, AWS ...
 
간단한 게임을 쉽고 저렴하게 서비스해보자! ::: AWS Game Master 온라인 시리즈 #1
간단한 게임을 쉽고 저렴하게 서비스해보자! ::: AWS Game Master 온라인 시리즈 #1간단한 게임을 쉽고 저렴하게 서비스해보자! ::: AWS Game Master 온라인 시리즈 #1
간단한 게임을 쉽고 저렴하게 서비스해보자! ::: AWS Game Master 온라인 시리즈 #1
 
[AWS Builders] AWS 네트워크 서비스 소개 및 사용 방법 - 김기현, AWS 솔루션즈 아키텍트
[AWS Builders] AWS 네트워크 서비스 소개 및 사용 방법 - 김기현, AWS 솔루션즈 아키텍트[AWS Builders] AWS 네트워크 서비스 소개 및 사용 방법 - 김기현, AWS 솔루션즈 아키텍트
[AWS Builders] AWS 네트워크 서비스 소개 및 사용 방법 - 김기현, AWS 솔루션즈 아키텍트
 
아키텍처 현대화 분야 신규 서비스 - 주성식, AWS 솔루션즈 아키텍트 :: AWS re:Invent re:Cap 2021
아키텍처 현대화 분야 신규 서비스 - 주성식, AWS 솔루션즈 아키텍트 :: AWS re:Invent re:Cap 2021아키텍처 현대화 분야 신규 서비스 - 주성식, AWS 솔루션즈 아키텍트 :: AWS re:Invent re:Cap 2021
아키텍처 현대화 분야 신규 서비스 - 주성식, AWS 솔루션즈 아키텍트 :: AWS re:Invent re:Cap 2021
 
Datadog을 활용한 Elastic Kubernetes Service(EKS)에서의 마이크로서비스 통합 가시성 - 정영석 시니어 세일즈 ...
Datadog을 활용한 Elastic Kubernetes Service(EKS)에서의 마이크로서비스 통합 가시성 - 정영석 시니어 세일즈 ...Datadog을 활용한 Elastic Kubernetes Service(EKS)에서의 마이크로서비스 통합 가시성 - 정영석 시니어 세일즈 ...
Datadog을 활용한 Elastic Kubernetes Service(EKS)에서의 마이크로서비스 통합 가시성 - 정영석 시니어 세일즈 ...
 
Microsoft Workloads도 AWS가 제격!-박주연, AWS MSFT Specialist SA / 서경구, AWS Speciali...
Microsoft Workloads도 AWS가 제격!-박주연, AWS MSFT Specialist SA / 서경구, AWS Speciali...Microsoft Workloads도 AWS가 제격!-박주연, AWS MSFT Specialist SA / 서경구, AWS Speciali...
Microsoft Workloads도 AWS가 제격!-박주연, AWS MSFT Specialist SA / 서경구, AWS Speciali...
 
게임 서비스에 딱 맞는 AWS 신규 서비스들로 게임 아키텍처 개선하기 - 김병수 솔루션즈 아키텍트, AWS :: AWS Summit Seo...
게임 서비스에 딱 맞는 AWS 신규 서비스들로 게임 아키텍처 개선하기 - 김병수 솔루션즈 아키텍트, AWS :: AWS Summit Seo...게임 서비스에 딱 맞는 AWS 신규 서비스들로 게임 아키텍처 개선하기 - 김병수 솔루션즈 아키텍트, AWS :: AWS Summit Seo...
게임 서비스에 딱 맞는 AWS 신규 서비스들로 게임 아키텍처 개선하기 - 김병수 솔루션즈 아키텍트, AWS :: AWS Summit Seo...
 
네트워크 및 엣지 컴퓨팅 분야 신규 서비스 - 최우형, AWS 솔루션즈 아키텍트 :: AWS re:Invent re:Cap 2021
네트워크 및 엣지 컴퓨팅 분야 신규 서비스 - 최우형, AWS 솔루션즈 아키텍트 :: AWS re:Invent re:Cap 2021네트워크 및 엣지 컴퓨팅 분야 신규 서비스 - 최우형, AWS 솔루션즈 아키텍트 :: AWS re:Invent re:Cap 2021
네트워크 및 엣지 컴퓨팅 분야 신규 서비스 - 최우형, AWS 솔루션즈 아키텍트 :: AWS re:Invent re:Cap 2021
 
[Games on AWS 2019] AWS 입문자를 위한 초단기 레벨업 트랙 | AWS 레벨업 하기! : 네트워크 - 권신중 AWS 솔루션...
[Games on AWS 2019] AWS 입문자를 위한 초단기 레벨업 트랙 | AWS 레벨업 하기! : 네트워크 - 권신중 AWS 솔루션...[Games on AWS 2019] AWS 입문자를 위한 초단기 레벨업 트랙 | AWS 레벨업 하기! : 네트워크 - 권신중 AWS 솔루션...
[Games on AWS 2019] AWS 입문자를 위한 초단기 레벨업 트랙 | AWS 레벨업 하기! : 네트워크 - 권신중 AWS 솔루션...
 
AWS 기반 Kubernetes 정복하기::정영준:: AWS Summit Seoul 2018
AWS 기반 Kubernetes 정복하기::정영준:: AWS Summit Seoul 2018 AWS 기반 Kubernetes 정복하기::정영준:: AWS Summit Seoul 2018
AWS 기반 Kubernetes 정복하기::정영준:: AWS Summit Seoul 2018
 
[GS네오텍] Google Compute Engine
[GS네오텍]  Google Compute Engine[GS네오텍]  Google Compute Engine
[GS네오텍] Google Compute Engine
 
마이크로 서비스를 위한 AWS의 다양한 컨테이너 옵션 l 이창수 솔루션즈 아키텍트
마이크로 서비스를 위한 AWS의 다양한 컨테이너 옵션 l 이창수 솔루션즈 아키텍트마이크로 서비스를 위한 AWS의 다양한 컨테이너 옵션 l 이창수 솔루션즈 아키텍트
마이크로 서비스를 위한 AWS의 다양한 컨테이너 옵션 l 이창수 솔루션즈 아키텍트
 
강의 2: AWS 핵심 서비스:: AWSome Day Online Conference
강의 2: AWS 핵심 서비스:: AWSome Day Online Conference강의 2: AWS 핵심 서비스:: AWSome Day Online Conference
강의 2: AWS 핵심 서비스:: AWSome Day Online Conference
 
AWS 클라우드 네트워크 서비스 알아보기::서지혜::AWS Summit Seoul 2018
AWS 클라우드 네트워크 서비스 알아보기::서지혜::AWS Summit Seoul 2018AWS 클라우드 네트워크 서비스 알아보기::서지혜::AWS Summit Seoul 2018
AWS 클라우드 네트워크 서비스 알아보기::서지혜::AWS Summit Seoul 2018
 
[AWS Migration Workshop] SQL Server Performance on AWS
[AWS Migration Workshop]  SQL Server Performance on AWS[AWS Migration Workshop]  SQL Server Performance on AWS
[AWS Migration Workshop] SQL Server Performance on AWS
 
컨테이너, AWS에서 날개를 달다 - 유재석, AWS 솔루션즈 아키텍트 :: AWS Game Master 온라인 세미나
컨테이너, AWS에서 날개를 달다 - 유재석, AWS 솔루션즈 아키텍트 :: AWS Game Master 온라인 세미나컨테이너, AWS에서 날개를 달다 - 유재석, AWS 솔루션즈 아키텍트 :: AWS Game Master 온라인 세미나
컨테이너, AWS에서 날개를 달다 - 유재석, AWS 솔루션즈 아키텍트 :: AWS Game Master 온라인 세미나
 
AWS 클라우드 핵심 서비스로 클라우드 기반 아키텍처 빠르게 구성하기 - 문종민 솔루션즈 아키텍트, AWS :: AWS Summit Seo...
AWS 클라우드 핵심 서비스로 클라우드 기반 아키텍처 빠르게 구성하기 - 문종민 솔루션즈 아키텍트, AWS :: AWS Summit Seo...AWS 클라우드 핵심 서비스로 클라우드 기반 아키텍처 빠르게 구성하기 - 문종민 솔루션즈 아키텍트, AWS :: AWS Summit Seo...
AWS 클라우드 핵심 서비스로 클라우드 기반 아키텍처 빠르게 구성하기 - 문종민 솔루션즈 아키텍트, AWS :: AWS Summit Seo...
 
데이터 분석플랫폼을 위한 데이터 전처리부터 시각화까지 한번에 보기 - 노인철 AWS 솔루션즈 아키텍트 :: AWS Summit Seoul ...
데이터 분석플랫폼을 위한 데이터 전처리부터 시각화까지 한번에 보기 - 노인철 AWS 솔루션즈 아키텍트 :: AWS Summit Seoul ...데이터 분석플랫폼을 위한 데이터 전처리부터 시각화까지 한번에 보기 - 노인철 AWS 솔루션즈 아키텍트 :: AWS Summit Seoul ...
데이터 분석플랫폼을 위한 데이터 전처리부터 시각화까지 한번에 보기 - 노인철 AWS 솔루션즈 아키텍트 :: AWS Summit Seoul ...
 

More from Amazon Web Services Korea

AWS Modern Infra with Storage Roadshow 2023 - Day 2
AWS Modern Infra with Storage Roadshow 2023 - Day 2AWS Modern Infra with Storage Roadshow 2023 - Day 2
AWS Modern Infra with Storage Roadshow 2023 - Day 2Amazon Web Services Korea
 
AWS Modern Infra with Storage Roadshow 2023 - Day 1
AWS Modern Infra with Storage Roadshow 2023 - Day 1AWS Modern Infra with Storage Roadshow 2023 - Day 1
AWS Modern Infra with Storage Roadshow 2023 - Day 1Amazon Web Services Korea
 
사례로 알아보는 Database Migration Service : 데이터베이스 및 데이터 이관, 통합, 분리, 분석의 도구 - 발표자: ...
사례로 알아보는 Database Migration Service : 데이터베이스 및 데이터 이관, 통합, 분리, 분석의 도구 - 발표자: ...사례로 알아보는 Database Migration Service : 데이터베이스 및 데이터 이관, 통합, 분리, 분석의 도구 - 발표자: ...
사례로 알아보는 Database Migration Service : 데이터베이스 및 데이터 이관, 통합, 분리, 분석의 도구 - 발표자: ...Amazon Web Services Korea
 
Amazon DocumentDB - Architecture 및 Best Practice (Level 200) - 발표자: 장동훈, Sr. ...
Amazon DocumentDB - Architecture 및 Best Practice (Level 200) - 발표자: 장동훈, Sr. ...Amazon DocumentDB - Architecture 및 Best Practice (Level 200) - 발표자: 장동훈, Sr. ...
Amazon DocumentDB - Architecture 및 Best Practice (Level 200) - 발표자: 장동훈, Sr. ...Amazon Web Services Korea
 
Amazon Elasticache - Fully managed, Redis & Memcached Compatible Service (Lev...
Amazon Elasticache - Fully managed, Redis & Memcached Compatible Service (Lev...Amazon Elasticache - Fully managed, Redis & Memcached Compatible Service (Lev...
Amazon Elasticache - Fully managed, Redis & Memcached Compatible Service (Lev...Amazon Web Services Korea
 
Internal Architecture of Amazon Aurora (Level 400) - 발표자: 정달영, APAC RDS Speci...
Internal Architecture of Amazon Aurora (Level 400) - 발표자: 정달영, APAC RDS Speci...Internal Architecture of Amazon Aurora (Level 400) - 발표자: 정달영, APAC RDS Speci...
Internal Architecture of Amazon Aurora (Level 400) - 발표자: 정달영, APAC RDS Speci...Amazon Web Services Korea
 
[Keynote] 슬기로운 AWS 데이터베이스 선택하기 - 발표자: 강민석, Korea Database SA Manager, WWSO, A...
[Keynote] 슬기로운 AWS 데이터베이스 선택하기 - 발표자: 강민석, Korea Database SA Manager, WWSO, A...[Keynote] 슬기로운 AWS 데이터베이스 선택하기 - 발표자: 강민석, Korea Database SA Manager, WWSO, A...
[Keynote] 슬기로운 AWS 데이터베이스 선택하기 - 발표자: 강민석, Korea Database SA Manager, WWSO, A...Amazon Web Services Korea
 
Demystify Streaming on AWS - 발표자: 이종혁, Sr Analytics Specialist, WWSO, AWS :::...
Demystify Streaming on AWS - 발표자: 이종혁, Sr Analytics Specialist, WWSO, AWS :::...Demystify Streaming on AWS - 발표자: 이종혁, Sr Analytics Specialist, WWSO, AWS :::...
Demystify Streaming on AWS - 발표자: 이종혁, Sr Analytics Specialist, WWSO, AWS :::...Amazon Web Services Korea
 
Amazon EMR - Enhancements on Cost/Performance, Serverless - 발표자: 김기영, Sr Anal...
Amazon EMR - Enhancements on Cost/Performance, Serverless - 발표자: 김기영, Sr Anal...Amazon EMR - Enhancements on Cost/Performance, Serverless - 발표자: 김기영, Sr Anal...
Amazon EMR - Enhancements on Cost/Performance, Serverless - 발표자: 김기영, Sr Anal...Amazon Web Services Korea
 
Amazon OpenSearch - Use Cases, Security/Observability, Serverless and Enhance...
Amazon OpenSearch - Use Cases, Security/Observability, Serverless and Enhance...Amazon OpenSearch - Use Cases, Security/Observability, Serverless and Enhance...
Amazon OpenSearch - Use Cases, Security/Observability, Serverless and Enhance...Amazon Web Services Korea
 
Enabling Agility with Data Governance - 발표자: 김성연, Analytics Specialist, WWSO,...
Enabling Agility with Data Governance - 발표자: 김성연, Analytics Specialist, WWSO,...Enabling Agility with Data Governance - 발표자: 김성연, Analytics Specialist, WWSO,...
Enabling Agility with Data Governance - 발표자: 김성연, Analytics Specialist, WWSO,...Amazon Web Services Korea
 
Amazon Redshift Deep Dive - Serverless, Streaming, ML, Auto Copy (New feature...
Amazon Redshift Deep Dive - Serverless, Streaming, ML, Auto Copy (New feature...Amazon Redshift Deep Dive - Serverless, Streaming, ML, Auto Copy (New feature...
Amazon Redshift Deep Dive - Serverless, Streaming, ML, Auto Copy (New feature...Amazon Web Services Korea
 
From Insights to Action, How to build and maintain a Data Driven Organization...
From Insights to Action, How to build and maintain a Data Driven Organization...From Insights to Action, How to build and maintain a Data Driven Organization...
From Insights to Action, How to build and maintain a Data Driven Organization...Amazon Web Services Korea
 
[Keynote] Accelerating Business Outcomes with AWS Data - 발표자: Saeed Gharadagh...
[Keynote] Accelerating Business Outcomes with AWS Data - 발표자: Saeed Gharadagh...[Keynote] Accelerating Business Outcomes with AWS Data - 발표자: Saeed Gharadagh...
[Keynote] Accelerating Business Outcomes with AWS Data - 발표자: Saeed Gharadagh...Amazon Web Services Korea
 
Amazon DynamoDB - Use Cases and Cost Optimization - 발표자: 이혁, DynamoDB Special...
Amazon DynamoDB - Use Cases and Cost Optimization - 발표자: 이혁, DynamoDB Special...Amazon DynamoDB - Use Cases and Cost Optimization - 발표자: 이혁, DynamoDB Special...
Amazon DynamoDB - Use Cases and Cost Optimization - 발표자: 이혁, DynamoDB Special...Amazon Web Services Korea
 
LG전자 - Amazon Aurora 및 RDS 블루/그린 배포를 이용한 데이터베이스 업그레이드 안정성 확보 - 발표자: 이은경 책임, L...
LG전자 - Amazon Aurora 및 RDS 블루/그린 배포를 이용한 데이터베이스 업그레이드 안정성 확보 - 발표자: 이은경 책임, L...LG전자 - Amazon Aurora 및 RDS 블루/그린 배포를 이용한 데이터베이스 업그레이드 안정성 확보 - 발표자: 이은경 책임, L...
LG전자 - Amazon Aurora 및 RDS 블루/그린 배포를 이용한 데이터베이스 업그레이드 안정성 확보 - 발표자: 이은경 책임, L...Amazon Web Services Korea
 
KB국민카드 - 클라우드 기반 분석 플랫폼 혁신 여정 - 발표자: 박창용 과장, 데이터전략본부, AI혁신부, KB카드│강병억, Soluti...
KB국민카드 - 클라우드 기반 분석 플랫폼 혁신 여정 - 발표자: 박창용 과장, 데이터전략본부, AI혁신부, KB카드│강병억, Soluti...KB국민카드 - 클라우드 기반 분석 플랫폼 혁신 여정 - 발표자: 박창용 과장, 데이터전략본부, AI혁신부, KB카드│강병억, Soluti...
KB국민카드 - 클라우드 기반 분석 플랫폼 혁신 여정 - 발표자: 박창용 과장, 데이터전략본부, AI혁신부, KB카드│강병억, Soluti...Amazon Web Services Korea
 
SK Telecom - 망관리 프로젝트 TANGO의 오픈소스 데이터베이스 전환 여정 - 발표자 : 박승전, Project Manager, ...
SK Telecom - 망관리 프로젝트 TANGO의 오픈소스 데이터베이스 전환 여정 - 발표자 : 박승전, Project Manager, ...SK Telecom - 망관리 프로젝트 TANGO의 오픈소스 데이터베이스 전환 여정 - 발표자 : 박승전, Project Manager, ...
SK Telecom - 망관리 프로젝트 TANGO의 오픈소스 데이터베이스 전환 여정 - 발표자 : 박승전, Project Manager, ...Amazon Web Services Korea
 
코리안리 - 데이터 분석 플랫폼 구축 여정, 그 시작과 과제 - 발표자: 김석기 그룹장, 데이터비즈니스센터, 메가존클라우드 ::: AWS ...
코리안리 - 데이터 분석 플랫폼 구축 여정, 그 시작과 과제 - 발표자: 김석기 그룹장, 데이터비즈니스센터, 메가존클라우드 ::: AWS ...코리안리 - 데이터 분석 플랫폼 구축 여정, 그 시작과 과제 - 발표자: 김석기 그룹장, 데이터비즈니스센터, 메가존클라우드 ::: AWS ...
코리안리 - 데이터 분석 플랫폼 구축 여정, 그 시작과 과제 - 발표자: 김석기 그룹장, 데이터비즈니스센터, 메가존클라우드 ::: AWS ...Amazon Web Services Korea
 
LG 이노텍 - Amazon Redshift Serverless를 활용한 데이터 분석 플랫폼 혁신 과정 - 발표자: 유재상 선임, LG이노...
LG 이노텍 - Amazon Redshift Serverless를 활용한 데이터 분석 플랫폼 혁신 과정 - 발표자: 유재상 선임, LG이노...LG 이노텍 - Amazon Redshift Serverless를 활용한 데이터 분석 플랫폼 혁신 과정 - 발표자: 유재상 선임, LG이노...
LG 이노텍 - Amazon Redshift Serverless를 활용한 데이터 분석 플랫폼 혁신 과정 - 발표자: 유재상 선임, LG이노...Amazon Web Services Korea
 

More from Amazon Web Services Korea (20)

AWS Modern Infra with Storage Roadshow 2023 - Day 2
AWS Modern Infra with Storage Roadshow 2023 - Day 2AWS Modern Infra with Storage Roadshow 2023 - Day 2
AWS Modern Infra with Storage Roadshow 2023 - Day 2
 
AWS Modern Infra with Storage Roadshow 2023 - Day 1
AWS Modern Infra with Storage Roadshow 2023 - Day 1AWS Modern Infra with Storage Roadshow 2023 - Day 1
AWS Modern Infra with Storage Roadshow 2023 - Day 1
 
사례로 알아보는 Database Migration Service : 데이터베이스 및 데이터 이관, 통합, 분리, 분석의 도구 - 발표자: ...
사례로 알아보는 Database Migration Service : 데이터베이스 및 데이터 이관, 통합, 분리, 분석의 도구 - 발표자: ...사례로 알아보는 Database Migration Service : 데이터베이스 및 데이터 이관, 통합, 분리, 분석의 도구 - 발표자: ...
사례로 알아보는 Database Migration Service : 데이터베이스 및 데이터 이관, 통합, 분리, 분석의 도구 - 발표자: ...
 
Amazon DocumentDB - Architecture 및 Best Practice (Level 200) - 발표자: 장동훈, Sr. ...
Amazon DocumentDB - Architecture 및 Best Practice (Level 200) - 발표자: 장동훈, Sr. ...Amazon DocumentDB - Architecture 및 Best Practice (Level 200) - 발표자: 장동훈, Sr. ...
Amazon DocumentDB - Architecture 및 Best Practice (Level 200) - 발표자: 장동훈, Sr. ...
 
Amazon Elasticache - Fully managed, Redis & Memcached Compatible Service (Lev...
Amazon Elasticache - Fully managed, Redis & Memcached Compatible Service (Lev...Amazon Elasticache - Fully managed, Redis & Memcached Compatible Service (Lev...
Amazon Elasticache - Fully managed, Redis & Memcached Compatible Service (Lev...
 
Internal Architecture of Amazon Aurora (Level 400) - 발표자: 정달영, APAC RDS Speci...
Internal Architecture of Amazon Aurora (Level 400) - 발표자: 정달영, APAC RDS Speci...Internal Architecture of Amazon Aurora (Level 400) - 발표자: 정달영, APAC RDS Speci...
Internal Architecture of Amazon Aurora (Level 400) - 발표자: 정달영, APAC RDS Speci...
 
[Keynote] 슬기로운 AWS 데이터베이스 선택하기 - 발표자: 강민석, Korea Database SA Manager, WWSO, A...
[Keynote] 슬기로운 AWS 데이터베이스 선택하기 - 발표자: 강민석, Korea Database SA Manager, WWSO, A...[Keynote] 슬기로운 AWS 데이터베이스 선택하기 - 발표자: 강민석, Korea Database SA Manager, WWSO, A...
[Keynote] 슬기로운 AWS 데이터베이스 선택하기 - 발표자: 강민석, Korea Database SA Manager, WWSO, A...
 
Demystify Streaming on AWS - 발표자: 이종혁, Sr Analytics Specialist, WWSO, AWS :::...
Demystify Streaming on AWS - 발표자: 이종혁, Sr Analytics Specialist, WWSO, AWS :::...Demystify Streaming on AWS - 발표자: 이종혁, Sr Analytics Specialist, WWSO, AWS :::...
Demystify Streaming on AWS - 발표자: 이종혁, Sr Analytics Specialist, WWSO, AWS :::...
 
Amazon EMR - Enhancements on Cost/Performance, Serverless - 발표자: 김기영, Sr Anal...
Amazon EMR - Enhancements on Cost/Performance, Serverless - 발표자: 김기영, Sr Anal...Amazon EMR - Enhancements on Cost/Performance, Serverless - 발표자: 김기영, Sr Anal...
Amazon EMR - Enhancements on Cost/Performance, Serverless - 발표자: 김기영, Sr Anal...
 
Amazon OpenSearch - Use Cases, Security/Observability, Serverless and Enhance...
Amazon OpenSearch - Use Cases, Security/Observability, Serverless and Enhance...Amazon OpenSearch - Use Cases, Security/Observability, Serverless and Enhance...
Amazon OpenSearch - Use Cases, Security/Observability, Serverless and Enhance...
 
Enabling Agility with Data Governance - 발표자: 김성연, Analytics Specialist, WWSO,...
Enabling Agility with Data Governance - 발표자: 김성연, Analytics Specialist, WWSO,...Enabling Agility with Data Governance - 발표자: 김성연, Analytics Specialist, WWSO,...
Enabling Agility with Data Governance - 발표자: 김성연, Analytics Specialist, WWSO,...
 
Amazon Redshift Deep Dive - Serverless, Streaming, ML, Auto Copy (New feature...
Amazon Redshift Deep Dive - Serverless, Streaming, ML, Auto Copy (New feature...Amazon Redshift Deep Dive - Serverless, Streaming, ML, Auto Copy (New feature...
Amazon Redshift Deep Dive - Serverless, Streaming, ML, Auto Copy (New feature...
 
From Insights to Action, How to build and maintain a Data Driven Organization...
From Insights to Action, How to build and maintain a Data Driven Organization...From Insights to Action, How to build and maintain a Data Driven Organization...
From Insights to Action, How to build and maintain a Data Driven Organization...
 
[Keynote] Accelerating Business Outcomes with AWS Data - 발표자: Saeed Gharadagh...
[Keynote] Accelerating Business Outcomes with AWS Data - 발표자: Saeed Gharadagh...[Keynote] Accelerating Business Outcomes with AWS Data - 발표자: Saeed Gharadagh...
[Keynote] Accelerating Business Outcomes with AWS Data - 발표자: Saeed Gharadagh...
 
Amazon DynamoDB - Use Cases and Cost Optimization - 발표자: 이혁, DynamoDB Special...
Amazon DynamoDB - Use Cases and Cost Optimization - 발표자: 이혁, DynamoDB Special...Amazon DynamoDB - Use Cases and Cost Optimization - 발표자: 이혁, DynamoDB Special...
Amazon DynamoDB - Use Cases and Cost Optimization - 발표자: 이혁, DynamoDB Special...
 
LG전자 - Amazon Aurora 및 RDS 블루/그린 배포를 이용한 데이터베이스 업그레이드 안정성 확보 - 발표자: 이은경 책임, L...
LG전자 - Amazon Aurora 및 RDS 블루/그린 배포를 이용한 데이터베이스 업그레이드 안정성 확보 - 발표자: 이은경 책임, L...LG전자 - Amazon Aurora 및 RDS 블루/그린 배포를 이용한 데이터베이스 업그레이드 안정성 확보 - 발표자: 이은경 책임, L...
LG전자 - Amazon Aurora 및 RDS 블루/그린 배포를 이용한 데이터베이스 업그레이드 안정성 확보 - 발표자: 이은경 책임, L...
 
KB국민카드 - 클라우드 기반 분석 플랫폼 혁신 여정 - 발표자: 박창용 과장, 데이터전략본부, AI혁신부, KB카드│강병억, Soluti...
KB국민카드 - 클라우드 기반 분석 플랫폼 혁신 여정 - 발표자: 박창용 과장, 데이터전략본부, AI혁신부, KB카드│강병억, Soluti...KB국민카드 - 클라우드 기반 분석 플랫폼 혁신 여정 - 발표자: 박창용 과장, 데이터전략본부, AI혁신부, KB카드│강병억, Soluti...
KB국민카드 - 클라우드 기반 분석 플랫폼 혁신 여정 - 발표자: 박창용 과장, 데이터전략본부, AI혁신부, KB카드│강병억, Soluti...
 
SK Telecom - 망관리 프로젝트 TANGO의 오픈소스 데이터베이스 전환 여정 - 발표자 : 박승전, Project Manager, ...
SK Telecom - 망관리 프로젝트 TANGO의 오픈소스 데이터베이스 전환 여정 - 발표자 : 박승전, Project Manager, ...SK Telecom - 망관리 프로젝트 TANGO의 오픈소스 데이터베이스 전환 여정 - 발표자 : 박승전, Project Manager, ...
SK Telecom - 망관리 프로젝트 TANGO의 오픈소스 데이터베이스 전환 여정 - 발표자 : 박승전, Project Manager, ...
 
코리안리 - 데이터 분석 플랫폼 구축 여정, 그 시작과 과제 - 발표자: 김석기 그룹장, 데이터비즈니스센터, 메가존클라우드 ::: AWS ...
코리안리 - 데이터 분석 플랫폼 구축 여정, 그 시작과 과제 - 발표자: 김석기 그룹장, 데이터비즈니스센터, 메가존클라우드 ::: AWS ...코리안리 - 데이터 분석 플랫폼 구축 여정, 그 시작과 과제 - 발표자: 김석기 그룹장, 데이터비즈니스센터, 메가존클라우드 ::: AWS ...
코리안리 - 데이터 분석 플랫폼 구축 여정, 그 시작과 과제 - 발표자: 김석기 그룹장, 데이터비즈니스센터, 메가존클라우드 ::: AWS ...
 
LG 이노텍 - Amazon Redshift Serverless를 활용한 데이터 분석 플랫폼 혁신 과정 - 발표자: 유재상 선임, LG이노...
LG 이노텍 - Amazon Redshift Serverless를 활용한 데이터 분석 플랫폼 혁신 과정 - 발표자: 유재상 선임, LG이노...LG 이노텍 - Amazon Redshift Serverless를 활용한 데이터 분석 플랫폼 혁신 과정 - 발표자: 유재상 선임, LG이노...
LG 이노텍 - Amazon Redshift Serverless를 활용한 데이터 분석 플랫폼 혁신 과정 - 발표자: 유재상 선임, LG이노...
 

PUBG: Battlegrounds 라이브 서비스 EKS 전환 사례 공유 [크래프톤 - 레벨 300] - 발표자: 김정헌, PUBG DevOps 팀장, 크래프톤 ::: Games on AWS 2022

  • 1. GAMES ON AWS 2022 © 2022, Amazon Web Services, Inc. or its affiliates. © 2022, Amazon Web Services, Inc. or its affiliates. 김정헌 PUBG DevOps 팀장 크래프톤 PUBG: BATTLEGROUNDS G A M E S O N A W S 2 0 2 2 - T R A C K 0 3 라이브 서비스의 Amazon EKS 전환 사례 공유
  • 2. GAMES ON AWS 2022 © 2022, Amazon Web Services, Inc. or its affiliates. © 2022, Amazon Web Services, Inc. or its affiliates. ▪ 본 발표 자료는 2019년부터 현재까지의 내용을 포함하고 있습니다. ▪ Kubernetes 클러스터를 운영하며 경험했던 사례를 바탕으로 향후 Amazon EKS를 통해 Kubernetes 도입을 계획하고 있는 게임인 여러분께 도움을 드리려는 목적으로 구성되었습니다. ▪ 따라서, 다소 시일이 지난 과거의 사례가 일부 포함 되었을 수도 있는 점 양해 부탁드립니다. 시작하기에 앞서..
  • 3. GAMES ON AWS 2022 © 2022, Amazon Web Services, Inc. or its affiliates. © 2022, Amazon Web Services, Inc. or its affiliates. Agenda 1. PUBG & PUBG의 서버 아키텍처 소개 2. PUBG 아웃게임 서버 Amazon EKS 전환기 3. PUBG 인게임 서버 Amazon EKS 전환기
  • 4. GAMES ON AWS 2022 © 2022, Amazon Web Services, Inc. or its affiliates. © 2022, Amazon Web Services, Inc. or its affiliates. 4 1. PUBG: Battlegrounds & PUBG 서버 아키텍처 소개
  • 5. GAMES ON AWS 2022 © 2022, Amazon Web Services, Inc. or its affiliates. PUBG: Battlegrounds 100명 중 최후의 1인이 되기 위해 경쟁하는 FPS/TPS 배틀로얄 생존게임 5 Winner Winner Chicken Dinner
  • 6. GAMES ON AWS 2022 © 2022, Amazon Web Services, Inc. or its affiliates. PUBG의 아웃게임 vs. 인게임: 유저의 관점에서… 6 ▪ 로비 환경 ▪ 인 게임 진입을 위한 매치메이킹 ▪ 상점, 인벤토리 등 캐릭터 커스터마이징 ▪ 인 게임 환경 ▪ 파밍, 건플레이, 생존, 우승... 아웃게임 (= MainShard) 인게임 (= GameShard)
  • 7. GAMES ON AWS 2022 © 2022, Amazon Web Services, Inc. or its affiliates. 7
  • 8. GAMES ON AWS 2022 © 2022, Amazon Web Services, Inc. or its affiliates. 8
  • 9. GAMES ON AWS 2022 © 2022, Amazon Web Services, Inc. or its affiliates. PUBG의 아웃게임 vs. 인게임: 엔지니어의 관점에서… 9 ▪ Single Region ▪ Microservice Server ▪ .NET Core WebServer ▪ HTTP + WebSocket ▪ Multiple Regions ▪ Session Server (+Manager Service) ▪ Unreal Dedicated Server ▪ UDP + WebSocket MainShard (= 아웃게임) 영속적인 데이터 보존 및 처리에 중점 GameShard (= 인게임) 안정적인 게임 플레이 환경 제공에 중점
  • 10. GAMES ON AWS 2022 © 2022, Amazon Web Services, Inc. or its affiliates. 10 AWS Cloud MainShard (Single Region) MainShard VPC (us-east-1) ETCD Cluster Other Services User Proxy Service GameShard Proxy Service AWS Managed Services PUBG MicroServices GameShard (Multi Region) UserProxy CloudFront Endpoint를 이용한 HTTP(S) 통신 GameShard VPC (us-east-1, ap-northeast-2, etc.) GameShard Autoscaling Group GameShard Node GameSession GroupService GameSession Service Dedicated Server GameSession Service Dedicated Server GameShard Node의 Public IP:Port를 이용한 UDP 통신 Users
  • 11. GAMES ON AWS 2022 © 2022, Amazon Web Services, Inc. or its affiliates. © 2022, Amazon Web Services, Inc. or its affiliates. 11 2. PUBG 아웃게임 서버 Amazon EKS 전환기
  • 12. GAMES ON AWS 2022 © 2022, Amazon Web Services, Inc. or its affiliates. 레거시 아웃게임 아키텍처 12 MainShard (Single Region) MainShard VPC (us-east-1) ETCD Cluster Other Services User Proxy Service GameShard Proxy Service AWS Managed Services PUBG MicroServices Users MainShard 구성을 위한 컴포넌트 ▪ Service 별 Autoscaling Group + CodeDeploy ▪ Service Discovery를 위한 ETCD ▪ AWS Managed Service o DynamoDB o ElastiCache (Redis) o S3 o SQS o Kinesis o OpenSearch Service ▪ 인터넷으로 노출된 서비스를 위한 LB + CF
  • 13. GAMES ON AWS 2022 © 2022, Amazon Web Services, Inc. or its affiliates. Kubernetes 로 전환하게 된 계기 ➔ DevOps팀의 인프라 관리 부하 절감 필요성 인프라 생성 및 관리 부담 신규 QA 환경 구성 요청 증가 작은 서버 배포 증가 ▪ 각 서비스 별 AutoScalingGroup+ CodeDeploy개별 구성 ▪ 신규 서비스 추가 시 지속적인인프라 작업 필요 ▪ 기존 QA환경: 고정 대수 운영 ▪ 신규 개발 피처 증가로 QA환경 요구 증가 ▪ 신규 QA환경 생성시 DevOps 지원 필요 ▪ PUBG 메인 서비스 외 자잘한 서버 배포 증가 (서버 운영 툴, CS 툴, 모니터링툴) ▪ ECS사용, case-by-case로대응 모든 인프라 작업에 DevOps팀 작업 동반 13
  • 14. GAMES ON AWS 2022 © 2022, Amazon Web Services, Inc. or its affiliates. Why Amazon EKS? Amazon EKS 수 많은 글로벌 레퍼런스 - 22년 10월 현재, 전 세계 컨테이너 워크로드의 2/3 AWS 에서 운영 중 IAM, VPC 등 AWS 인프라와의 연동 설정이 용이 Fully Managed Kubernetes Control Plane 으로 번거로운 운영/관리 작업을 부하를 줄여줌 EKS는 성능/가용성/확장성/보안 측면에서 뛰어난 Kubernetes 환경을 제공 14
  • 15. GAMES ON AWS 2022 © 2022, Amazon Web Services, Inc. or its affiliates. Internal Microservice 전환하기 전환 시작 시점, 30여개 이상의 Microservice 존재 15 AgentClientService AgentServerService AntiCheatService AuthenticationService AutoScalingService BattlePassProcessingService BattlePassService BromonService CustomGame2LobbyService CustomGame2Service CustomGameService CustomLeagueService EventService GameSessionGroupService GameSessionLobbyService InternalProxyService InventoryService LanpartyService LeaderboardProcessingService LeaderboardRequestService LeaderboardService LogProcessingService MerchandiserService MiscService OuterService PaymentService PromotionCodeService RatingService RecordService ReportFeedbackService StatisticService TransactionService UserPlayingGameDataService UserProxyService XTokenService ➔ 각각의 Service에 대하여 점진적으로 마이그레이션을 할 수 있는 방법 필요
  • 16. GAMES ON AWS 2022 © 2022, Amazon Web Services, Inc. or its affiliates. Service Discovery I N T E R N A L M I C R O S E R V I C E 전 환 하 기 16 Services ETCD Cluster 주기적으로 IP, Service Name등 위치정보 동기화 모든 Service / Host의 주소 정보를 Watch Other Services Host의 주소로 직접 요청
  • 17. GAMES ON AWS 2022 © 2022, Amazon Web Services, Inc. or its affiliates. 17 Services in EC2 ETCD Cluster Services in K8s 고유한 Private IP를 이용한 Pod to EC2 통신 Service Discovery I N T E R N A L M I C R O S E R V I C E 전 환 하 기
  • 18. GAMES ON AWS 2022 © 2022, Amazon Web Services, Inc. or its affiliates. Service Discovery: Minor Issues 18 1/n 1/n 1/n A B B B n개의 Service Host I N T E R N A L M I C R O S E R V I C E 전 환 하 기
  • 19. GAMES ON AWS 2022 © 2022, Amazon Web Services, Inc. or its affiliates. 19 80% 20% Service Discovery: Minor Issues I N T E R N A L M I C R O S E R V I C E 전 환 하 기
  • 20. GAMES ON AWS 2022 © 2022, Amazon Web Services, Inc. or its affiliates. Service Pod 20 c5.2xlarge ~ c5.8xlarge resources: requests: cpu: '8' # ~'32' memory: 16Gi # ~ 64Gi Service Discovery: Minor Issues I N T E R N A L M I C R O S E R V I C E 전 환 하 기
  • 21. GAMES ON AWS 2022 © 2022, Amazon Web Services, Inc. or its affiliates. Internet Facing Microservice 전환하기 21 Users CloudFront Application LoadBalancer Internet Facing Services Partner APIs
  • 22. GAMES ON AWS 2022 © 2022, Amazon Web Services, Inc. or its affiliates. CloudFront 뒤 다수의 LB에 부하 분산하기 I N T E R N E T F A C I N G M I C R O S E R V I C E 전 환 하 기 22 CloudFront ALB Services in EC2 ALB (K8s Ingress) Services in K8s Users
  • 23. GAMES ON AWS 2022 © 2022, Amazon Web Services, Inc. or its affiliates. 23 ALB Services in EC2 ALB (K8s Ingress) Services in K8s Users CloudFront CloudFront service.pubg.io service_v2.pubg.io CloudFront 뒤 다수의 LB에 부하 분산하기 I N T E R N E T F A C I N G M I C R O S E R V I C E 전 환 하 기
  • 24. GAMES ON AWS 2022 © 2022, Amazon Web Services, Inc. or its affiliates. 24 CloudFront ALB Services in EC2 ALB (K8s Ingress) Services in K8s Users service.pubg.io service_internal.pubg.io weighted routing CloudFront 뒤 다수의 LB에 부하 분산하기 I N T E R N E T F A C I N G M I C R O S E R V I C E 전 환 하 기
  • 25. GAMES ON AWS 2022 © 2022, Amazon Web Services, Inc. or its affiliates. 의도한대로 분산될 수 없는 구조 25 I N T E R N E T F A C I N G M I C R O S E R V I C E 전 환 하 기 CloudFront Users 50% 50% service_internal.pubg.io
  • 26. GAMES ON AWS 2022 © 2022, Amazon Web Services, Inc. or its affiliates. Best Practice 26 CloudFront ALB Services in EC2 ALB (K8s Ingress) Services in K8s Proxy 0. 기존 Origin 2. 전환 후 Origin 1. 전환 과정 중 Origin I N T E R N E T F A C I N G M I C R O S E R V I C E 전 환 하 기
  • 27. GAMES ON AWS 2022 © 2022, Amazon Web Services, Inc. or its affiliates. 갑자기 응답하지 않는 서비스들 27
  • 28. GAMES ON AWS 2022 © 2022, Amazon Web Services, Inc. or its affiliates. Invocation Hang: 원인 1. Thread 과다 증식으로 인한 오버헤드 ▪ Thread 과다 증식으로 인하여 Context Switch 부하 급증 ▪ Context Switch에 CPU가 과도하게 소모되어 정상적인 요청 처리 어려움 2. DNS Query Timeout ▪ DNS Query Timeout으로 인하여 서버간 API 통신 지연 발생 ▪ 대기중인 Request 과도한 증가와 1번 원인과 연관된 설정으로 인해 Thread 급증 28
  • 29. GAMES ON AWS 2022 © 2022, Amazon Web Services, Inc. or its affiliates. Thread 관련 튜닝 설정 배경 StackExchange.Redis 의 Thread 관리 이슈(Sync-over-async)로 아래 설정 적용 ▪ Default Min Task Worker: 64 * core ▪ Default Min I/O Worker: 4 * core ▪ 각 Service별 커스텀 설정 적용 (Default Min Worker: Task Thread, I/O Thread가 각각 n개까지 빠르게 늘어날 수 있도록 하는 설정) 29
  • 30. GAMES ON AWS 2022 © 2022, Amazon Web Services, Inc. or its affiliates. CPU Manager Pod에게 독점적으로 사용에 가능한 CPU를 할당해줄 수 있는 기능 30
  • 31. GAMES ON AWS 2022 © 2022, Amazon Web Services, Inc. or its affiliates. CPU Pool CPU Pool을 분할하여 Pod에 고정적인 CPU 코어를 할당함으로써 Context Switch로 인해 발생하는 부하 감소 31 EC2 (8 vCPUs) Shared Pool Dedicated Pool for PodA Dedicated Pool for PodB
  • 32. GAMES ON AWS 2022 © 2022, Amazon Web Services, Inc. or its affiliates. QoS for Pod ▪ 적어도 하나의 Container에 CPU 혹은 Memory의 Request or Limit이 있는 경우 ▪ Guaranteed를 만족하지 않는 경우 32 Burstable ▪ Pod의 모든 컨테이너 내에 CPU Limit /Request 값이 존재하고 ▪ Pod의 모든 컨테이너의 CPU Limit /Request 값이 같고 ▪ Pod의 모든 컨테이너에 Memory Limit /Request 값이 존재하고 ▪ Pod의 모든 컨테이너에 Memory Limit /Request 의 값이 같은 경우 Guaranteed ▪ Resource의 제한이 없는 경우 BestEffort Guaranteed Pod인 경우에만 독점 CPU 할당
  • 33. GAMES ON AWS 2022 © 2022, Amazon Web Services, Inc. or its affiliates. DNS Query Hang 간헐적으로 발생하는 Network Timeout ➔ 원인 파악 결과 : DNS Query가 간헐적으로 Timeout이 발생 33 $ time nslookup aws.amazon.com ;; connection timed out; no servers could be reached real 0m15.019s user 0m0.005s sys 0m0.010s $ time nslookup aws.amazon.com Server: 10.100.0.10 Address: 10.100.0.10#53 Non-authoritative answer: aws.amazon.com canonical name = tp.8e49140c2- frontier.amazon.com. tp.8e49140c2-frontier.amazon.com canonical name = dr49lng3n1n2s.cloudfront.net. Name: dr49lng3n1n2s.cloudfront.net Address: 99.84.211.76 real 0m0.026s user 0m0.007s sys 0m0.004s
  • 34. GAMES ON AWS 2022 © 2022, Amazon Web Services, Inc. or its affiliates. DNS Query Hang: VPC DNS Query Limit 34 VPC EKS Worker Node VPC DNS Resolver EKS Worker Node CoreDNS Pod Service Pod RateLimit: 1024 query/s*eni ENI CoreDNS Service IP:Port 초과 패킷 Drop ➔ Timeout
  • 35. GAMES ON AWS 2022 © 2022, Amazon Web Services, Inc. or its affiliates. DNS Query Hang: Kubernetes resolv.conf K8s 내부 Pod의 기본 resolv.conf 값 35 # /etc/resolv.conf nameserver 10.96.0.10 search {namespace}.svc.cluster.local svc.cluster.local cluster.local options ndots:5 ▪ nameserver:KubeDNSServiceIP ▪ search:ndots 개수 미만의 dot을 포함하는 DNSRecord를 쿼리하는 경우 search를 순서대로붙여보며 query 시도 ▪ optionsndots:5 : dot이 5개 미만인 경우 search를 붙여 쿼리
  • 36. GAMES ON AWS 2022 © 2022, Amazon Web Services, Inc. or its affiliates. DNS Query Hang: Kubernetes resolv.conf 다음의 설정에서 aws.amazon.com을 쿼리하는 경우 36 # /etc/resolv.conf nameserver 10.96.0.10 search default.svc.cluster.local svc.cluster.local cluster.local options ndots:5 aws.amazon.com.default.svc.cluster.local ➔ NXDOMAIN aws.amazon.com.svc.cluster.local ➔ NXDOMAIN aws.amazon.com.cluster.local ➔ NXDOMAIN aws.amazon.com ➔ NOERROR (SUCCESS) 이렇게 4번의 쿼리 발생
  • 37. GAMES ON AWS 2022 © 2022, Amazon Web Services, Inc. or its affiliates. Tricks with ndots 37 develop namespace release namespace pubg-system namespace redis service nslookup redis ➔ redis.develop.svc.cluster.local redis service nslookup redis ➔ redis.release.svc.cluster.local redis.develop redis.release 일반적으로 {service_name}, {service_name}.{namespace} 로 내부 Service 쿼리 ➔ ndots: 2 설정이 권장됨
  • 38. GAMES ON AWS 2022 © 2022, Amazon Web Services, Inc. or its affiliates. DNS Query Hang: CoreDNS Autoscaler 38 EC2 EC2 EC2 coredns-autoscaler Node / Pod개수에 비례하여 CoreDNS replicas 조정 podAntiAffinity로 하나의 Node에서 2개 이상의 CodeDNS가 뜨지 못하도록 보장
  • 39. GAMES ON AWS 2022 © 2022, Amazon Web Services, Inc. or its affiliates. DNS Query Hang: Cache ▪ CoreDNS에 Cache 설정을 추가하여, 동일한 Record에 대한 질의가 AWS VPC DNS Server로 올라가지 않도록 함 ▪ 기본값으로도 충분할 수 있으나, 서비스 종류가 늘어나는 경우 cache entry가 부족할 수 있음  EKS 생성 시 기본적으로 생성되는 CoreDNS에 mem limits이 걸려있기 때문에 cache를 늘릴 때 CoreDNS가 OOM 나지 않도록 주의 ▪ prefetch를 통해 자주 쿼리하는 Record를 미리 Cache하는 것도 좋음 39
  • 40. GAMES ON AWS 2022 © 2022, Amazon Web Services, Inc. or its affiliates. Mainshard - Amazon EKS 전환에 따른 혜택 1. QA 환경 관리 부담 개선 2. 인프라 생성 관리 부담 개선 ▪ PUBG Production Service 인프라 관리 개선 ▪ 자잘한 미니 서버 관리 개선 40
  • 41. GAMES ON AWS 2022 © 2022, Amazon Web Services, Inc. or its affiliates. 과거: QA 환경 세팅을 위해서는 DevOps의 도움 필요 41 M A I N S H A R D - A M A Z O N E K S 전 환 에 따 른 혜 택 Manual Terraform Apply QA 환경 ~ 20 min DevOps
  • 42. GAMES ON AWS 2022 © 2022, Amazon Web Services, Inc. or its affiliates. 현재: 누구나 생성하고 테스트 가능한 QA 환경 42 ✓ QA ✓ PM ✓ Designer ✓ Developer QA Deploy Website (Web UI) Apply K8s YAML QA 환경 ~ 5min Reconcile QA Env M A I N S H A R D - A M A Z O N E K S 전 환 에 따 른 혜 택
  • 43. GAMES ON AWS 2022 © 2022, Amazon Web Services, Inc. or its affiliates. 43 최소한의 관리로 평균 100여개 이상의 환경이 동작 중 현재: 누구나 생성하고 테스트 가능한 QA 환경 M A I N S H A R D - A M A Z O N E K S 전 환 에 따 른 혜 택
  • 44. GAMES ON AWS 2022 © 2022, Amazon Web Services, Inc. or its affiliates. 44 Production 인프라 관리 개선 자잘한 미니 서버 관리 개선 ▪ Deployment + Service 생성만으로 대부분의 신규 서비스 배포 가능 ▪ Deployment 수정을 통해 Image Version/ Resource/환경변수 등 배포 관련 다양한 수정 쉽게 적용 가능 ▪ YAML이 Declarative하기 때문에 gitops 적용으로 변경 추적 용이 ▪ sidecar container/daemomset pod 을 이용하여 Pod/Node 단위 Addon 추가 용이 ▪ 서버 운영 툴, CS 툴, 모니터링 툴 등 여러 도구를 DaemonSet / Deployment 형태로 배포 ▪ 대부분 Deployment + Service + Ingress 배포만으 로 구성 가능 인프라 생성 관리 부담 개선
  • 45. GAMES ON AWS 2022 © 2022, Amazon Web Services, Inc. or its affiliates. © 2022, Amazon Web Services, Inc. or its affiliates. 45 3. PUBG 인게임 서버 Amazon EKS 전환기
  • 46. GAMES ON AWS 2022 © 2022, Amazon Web Services, Inc. or its affiliates. 레거시 게임샤드 아키텍처 46 GameShard (Multi Region) GameShard VPC (us-east-1, ap-northeast-2, etc.) GameShard Autoscaling Group GameShard Node GameSession GroupService GameSession Service Dedicated Server GameSession Service Dedicated Server GameShard ProxyService CloudFront Log S3 Bucket GameSessionGroupService ▪ 노드별로 단 1개의 Process만 동작 ▪ 하나의 환경 (QA 환경 등)에 종속 ▪ GameSessionService - Dedicated Server Set 관리 GameSessionService ▪ Dedicated Server의 Lifecycle 관리 ▪ Dedicated Server에서 발생하는 로그 / API 요청 프록시 DedicatedServer ▪ 유저들이 접속해 게임을 플레이하는 Unreal 서버 ➔ CloudFormation으로 한번에 배포 및 관리 Users
  • 47. GAMES ON AWS 2022 © 2022, Amazon Web Services, Inc. or its affiliates. 47 QA 환경 비용 이슈 ✓ GameShard 서버 코드 구조상 하나의 Host를 여러 QA 환경이 공유하도록 변경하기 매우 어려웠음 ▪ 생성 및 삭제가 오래 걸리기 때문에 필요한 시점에 동적으로 생성 삭제하기 쉽지 않았음 ✓ 매칭이 되지 않는 경우 팀에 이슈 리포트 ✓ 사용 후 지우는 것을 잊어버림 ▪ CloudFormation Stack 구성에 변경이 있는 경우 변경 적용까지 공수와 시간 다수 소요 ✓ Template수정➔신규Stack생성및GameServer패치➔ 신규Stack라이브서비스투입➔기존StackDrain 및제거 ✓ 신규 Stack 생성 및 GameServer 패치: 15분~ ✓ 기준 Stack Drain 및 제거: 40분~ ▪ 하나의 EC2 Host에서 여러 세션이 돌아가는 상황에서 세션간 리소스가 제대로 격리되어 있지 않았기에 하나의 서버 부하가 다른 서버에도 영향을 미침 Amazon EKS 로 전환하게 된 계기 인프라 관리 이슈
  • 48. GAMES ON AWS 2022 © 2022, Amazon Web Services, Inc. or its affiliates. Kubernetes에서 GameServer Pod 다루기 48 ▪ HTTP(=TCP) 통신 ▪ Load Balancer / Service Layer 존재 ▪ (거의 대부분) Stateless Server ▪ Scale-in / out을 제외하면 Pod 재생성 X ▪ UDP (+ TCP) 통신 ▪ Host IP : Port를 직접 사용하여 통신 ▪ Stateful Server ▪ 하나의 Session이 끝나면 Pod 종료 후 재 생성 PUBG’s MainShard Pod (= WebServer) PUBG’s GameShard Pod (= GameServer) ➔ Agones라는 도구를 사용하여 GameServer Pod 관리
  • 49. GAMES ON AWS 2022 © 2022, Amazon Web Services, Inc. or its affiliates. GameShard Architecture w/Agones 49 Kubernetes Cluster EC2 with Public IP EC2 Agones Controller GameServer Pod A GameServer Pod B node_ip:7100 node_ip:7200 pod_a:7777 pod_b:7777 DediServer container DediServer container Agones Sidecar container Agones Sidecar container GameServer Manager Service Create GameServer Pod hostPort NAT
  • 50. GAMES ON AWS 2022 © 2022, Amazon Web Services, Inc. or its affiliates. Dedicated Server Image 일반적인 이미지와 다른 매우 큰 이미지 크기 (~10GiB Image) 조직적 이슈로 Image Layer 최적화 하기 어려운 폴더 구조 ➔ 이미지 일부를 Layer로 분할해 Node에 미리 넣어두기도 어려움 50
  • 51. GAMES ON AWS 2022 © 2022, Amazon Web Services, Inc. or its affiliates. 신규 Pod 실행 시간 문제 Pod 생성 후 Ready 까지: 7~15분 이상  51  Pod 생성 후 Ready 까지: 1분 미만 기존 Node에서 Pod 실행 시 신규 Node에서 Pod 실행 시
  • 52. GAMES ON AWS 2022 © 2022, Amazon Web Services, Inc. or its affiliates. 신규 Node에서 Pod이 실행되기까지 52 Unscheduled Pods GameServer Pod GameServer Pod GameServer Pod GameServer Pod New EC2 Node EC2 Node Cluster Autoscaler GameServer Node Pool 1. Trigger ASG Scale-out 3. Schedule Pods DaemonSet Pods 2. Bootstrap Node
  • 53. GAMES ON AWS 2022 © 2022, Amazon Web Services, Inc. or its affiliates. 신규 Pod 실행 시간 문제 원인 파악 각 구간별 소요 시간 1. ASG Scale-out ~ 신규 Node가 클러스터에 등록 : 1~2분 2. Node Bootstrapping: 30초~ 1분 3. Pod Scheduled ~ Pod Ready: 10~15분 이상 53 Pod Scheduled ~ Ready 속도 문제 파악 ➔결과적으로 Image Pull 속도 문제 ➔Image Pull 속도 최적화 필요
  • 54. GAMES ON AWS 2022 © 2022, Amazon Web Services, Inc. or its affiliates. Custom Container Registry 세팅 Harbor 라는 Open-source Container Registry를 이용하여 ECR Proxy 구성 54 1. Pull Image 2. Get Image from ECR 3. Store Cache to S3 4. Retrieve Manifest 5. Get Cache Image from S3 via CF EKS Node Harbor S3 CloudFront ECR
  • 55. GAMES ON AWS 2022 © 2022, Amazon Web Services, Inc. or its affiliates. Image Pull 가속 결과 CF 가속 및 Caching을 이용하여 Pod Scheduled ~ Pod Ready 시간 단축 15분 이상 ➔ 7분 55
  • 56. GAMES ON AWS 2022 © 2022, Amazon Web Services, Inc. or its affiliates. Kubelet flag: --serialized-image-pull=false 56 15분 이상 ➔ 7분 ➔ 3분 ▪ Kubelet이 여러 container image를 pull 할 때 순차적으로 pull을 할지 결정하는 flag ➔ 모든 이미지를 새로 당겨야 하는 상황이면 Image Pull이 직렬화 되는 것 = Container 실행도 직렬화 되는 것 ▪ false로 설정하는 경우 여러 컨테이너 이미지를 동시에 당길 수 있게 됨 ➔ Node Bootstrap & Dedicated Server Pod 준비시간 단축 ▪ 추가로 Pod이 Scheduled되기 전부터 이미지를 Pull하는 DaemonSet을 구성 ➔ Node Bootstrap 완료 전 부터 이미지 Pull 가능
  • 57. GAMES ON AWS 2022 © 2022, Amazon Web Services, Inc. or its affiliates. 갑작스런 네트워크 지연 감지 57 Server → Client Packet 0pps (=전체 유실) 네트워크 지연 감지 = 일정 시간동안 Server -> Client Packet을 전송 받지 못한 경우
  • 58. GAMES ON AWS 2022 © 2022, Amazon Web Services, Inc. or its affiliates. Server Hang ? 문제 시점의 로그를 확인 해 본 결과 네트워크 이슈 발생 시간대 서버는 정상적으로 동작 ➔ 로그를 통해 서버 입장에서도 제대로 패킷을 받지 못한 것으로 확인함 ➔ Host의 Network Issue를 의심 58
  • 59. GAMES ON AWS 2022 © 2022, Amazon Web Services, Inc. or its affiliates. Host Network Debugging 59 tcpdump, kernel iptables log, conntrack table event 등을 통해 디버깅 ➔ Conntrack이 다시 생성되는 event와 동시에 간헐적으로 네트워크 지연 감지가 발생하는것을 확인 ➔다양한 테스트를 통해 GameServer Pod이 생성될 때 전체 UDP Conntrack이 Flush 되는 것 확인
  • 60. GAMES ON AWS 2022 © 2022, Amazon Web Services, Inc. or its affiliates. UDP Conntrack? ▪ 트래픽의 빠른 NAT를 위해 NAT Rule을 반영하여 기록된 connection 정보 Host IP:Port로 들어온 트래픽이 Pod IP:Port로 NAT된 Connection 정보가 기록됨 60 # 정상 Conntrack udp 17 119 src=1.2.3.4 dst=10.100.0.200 sport=50000 dport=7000 src=172.16.0.100 dst=1.2.3.4 sport=7777 dport=50000 [ASSURED] mark=0 use=1 Client (1.2.3.4:50000) EC2 (10.100.0.200) GameServer Pod (172.16.0.100) NAT 10.100.0.200:7000 ➔ 172.16.0.100:7777 :7777 :7000 1.2.3.4:50000 → 10.100.0.200:7000 UDP 요청 ➔ 172.16.0.100:7777 → 1.2.3.4:50000 응답 기대 NAT node_ip:node_port ➔ pod_ip:pod_port
  • 61. GAMES ON AWS 2022 © 2022, Amazon Web Services, Inc. or its affiliates. 문제: 비정상 Conntrack 생성 Conntrack이 재생성되는 과정에서 정상적이지 않은 두 Conntrack으로 분리되어 생성됨 61 # 정상 Conntrack udp 17 119 src=1.2.3.4 dst=10.100.0.200 sport=50000 dport=7000 src=172.16.0.100 dst=1.2.3.4 sport=7777 dport=50000 [ASSURED] mark=0 use=1 # 비정상 Conntrack udp 17 29 src=1.2.3.4 dst=10.100.0.200 sport=50000 dport=7000 [UNREPLIED] src=172.16.0.100 dst=1.2.3.4 sport=7777 dport=60000 mark=0 use=1 udp 17 29 src=172.16.0.100 dst=1.2.3.4 sport=7777 dport=50000 [UNREPLIED] src=1.2.3.4 dst=10.100.0.200 sport=50000 dport=7777 mark=0 use=1 src=1.2.3.4:50000 dst=10.100.0.200:7000 UDP 요청 ➔ src=172.16.0.100:7777 dst=1.2.3.4:50000 응답 기대 src=1.2.3.4:50000 dst=10.100.0.200:7000 UDP 요청 ➔ src=172.16.0.100:7777 dst=1.2.3.4:60000 응답 기대 src=172.16.0.100:7777 dst=1.2.3.4:50000 UDP 요청 ➔ src=1.2.3.4:50000 dst=10.100.0.200:7777 응답 기대 “Server → Client / Client → Server 모두 포트가 꼬임 ➔ 트래픽 유실”
  • 62. GAMES ON AWS 2022 © 2022, Amazon Web Services, Inc. or its affiliates. 누가 Conntrack을 Flush 하는가? CNI: Container Network Interface의 port-mapping plugin Host의 Port로 들어오는 트래픽을 Pod 으로 전달하기 위한 iptables nat Rule을 관리하는 도구 ▪ GameServer Pod 동작의 핵심 컴포넌트 ▪ AWS VPC CNI에 의해 버전 관리 62 Client (1.2.3.4:50000) EC2 (10.100.0.200) GameServer Pod (172.16.0.100) NAT 10.100.0.200:7000 ➔ 172.16.0.100:7777 :7777 :7000
  • 63. GAMES ON AWS 2022 © 2022, Amazon Web Services, Inc. or its affiliates. 그러면 왜 Conntrack을 Flush 하는가? 63 Host IP: 10.100.10.1 Port: 7000 udp://10.100.10.1:7000 Old Pod New Pod NAT by stale conntrack Release 0.9.0: Delete stale UDP conntrack entries when adding new Portmaps to containers (#553).
  • 64. GAMES ON AWS 2022 © 2022, Amazon Web Services, Inc. or its affiliates. Plugin Bug… 64 지워야 하는 conntrack의 filter 를 구성하는 과정 순서 차이로 필터 세팅이 제대로 되지 않음 ➔ 특정 포트의 conntrack을 지우는 것이 아니라 전체 포트의 conntrack을 제거 Release 1.1.0: portmap: fix bug that new udp connection deletes all existing conntrack entries (#705)
  • 65. GAMES ON AWS 2022 © 2022, Amazon Web Services, Inc. or its affiliates. Portmap Plugin 동작 방식 및 수정 hostport pod 생성 시 portmap plugin cli을 실행시켜 NAT Rule이 설정되는 구조 ➔ v0.9.0(=AWS VPC CNI 사용 버전)기준으로 bugfix binary image를 생성하고 DeamonSet으로 배포하여 교체 ➔ CNI Plugin v1.1.0버전 이상을 사용하는 CNI인 경우 별도의 작업 불필요 65 Release 1.1.0: portmap: fix bug that new udp connection deletes all existing conntrack entries (#705)
  • 66. GAMES ON AWS 2022 © 2022, Amazon Web Services, Inc. or its affiliates. GameShard – Amazon EKS 전환에 따른 혜택 66 1. QA 환경 비용 절감 및 관리 개선 2. Production 배포 관리 측면
  • 67. GAMES ON AWS 2022 © 2022, Amazon Web Services, Inc. or its affiliates. QA 환경 비용 절감 및 관리 개선 ▪ QA 환경별 최소 자원 할당 m5.4xlarge 1대 → Single Pod (약 2vCPU) ▪ 여러 QA 환경의 GameShard를 리전별 하나의 클러스터로 운영 가능 67 GameShard Worker Node GameServer Pod GameServer Pod GameServer Pod GameServer Pod QA: Feature_A QA: Feature_B QA: Release_2210 QA: Release_2211
  • 68. GAMES ON AWS 2022 © 2022, Amazon Web Services, Inc. or its affiliates. Production 배포 관리: 즉각적인 Rolling Update Instance Type 변경 및 버전 변경 등이 있을 때 Rolling Update 방식으로 업데이트 되기 때문 에 기존에 진행되던 게임 정상 종료 보장 ▪ 변경 적용 즉시 Rolling Update 진행 68 GameShard Worker Node GameServer Pod (Playing) GameServer Pod (Playing) GameServer Pod (Playing) GameServer Pod (Playing) GameServer Pod (Buffer) GameServer Pod (Buffer) GameServer Pod (Buffer) GameServer Pod (Buffer) GameServer Pod (Buffer) GameServer Pod (Buffer) GameServer Pod (Buffer) GameServer Pod (Buffer)
  • 69. GAMES ON AWS 2022 © 2022, Amazon Web Services, Inc. or its affiliates. Production 배포 관리: 즉각적인 Rolling Update Resource Limit을 활용하여 하나의 게임서버가 Node 전체의 리소스를 점유하는 상황을 방지 ▪ 하나의 서버 부하가 동일 노드의 다른 서버에 미치는 영향을 줄일 수 있음 69 GameShard Worker Node GameServer Pod GameServer Pod GameServer Pod GameServer Pod
  • 70. GAMES ON AWS 2022 © 2022, Amazon Web Services, Inc. or its affiliates. 70 AWS Cloud MainShard (Single Region) MainShard VPC (us-east-1) PUBG MicroServices AWS Managed Services GameShard (Multi Region) UserProxy CloudFront Endpoint를 이용한 HTTP(S) 통신 GameShard VPC (us-east-1, ap-northeast-2, etc.) GameShard Kubernetes Cluster GameShard Node의 Public IP:Port를 이용한 UDP 통신 Users MainShard Kubernetes Cluster FleetManager Service UserProxy Services GameShard Proxy Service Other Servers GameServer Pod GameSession Service Container Agones Sidecar Dedicated Server Agones Sidecar Other Services
  • 71. GAMES ON AWS 2022 © 2022, Amazon Web Services, Inc. or its affiliates. Summary 전 환 과 정 에 서 느 낀 점 71 2. Kubernetes 또한 다른 도구들과 마찬가지로 Silver Bullet은 될 수 없으며, 상황에 맞게 잘 고민하고 튜닝해서 사용해야 한다. 1. Kubernetes는 Workload의 관리를 굉장히 편하게 해준 도구이지만, Under the hood에서는 생각보다 훨씬 더 많은 것들이 돌아가고 있다. 3. Managed Kubernetes Service인 EKS를 사용했기 때문에, 많은 우여곡절을 겪는 와중에도 Control Plane 관리 및 장애대응에 대한 부담을 많이 덜 수 있었다.
  • 72. GAMES ON AWS 2022 © 2022, Amazon Web Services, Inc. or its affiliates. © 2022, Amazon Web Services, Inc. or its affiliates. We are Hiring! G A M E S O N A W S 2 0 2 2 Q&A
  • 73. GAMES ON AWS 2022 © 2022, Amazon Web Services, Inc. or its affiliates. Thank you! © 2022, Amazon Web Services, Inc. or its affiliates. 김정헌 mnthe@pubg.com 크래프톤