일반 요금
$22,200/월 ÷ 150만 명
사용자 1명당 $0.0148 /월
GS2-Steady
일정 규모 이상의 타이틀에서, 백엔드 비용은 사용자 1명당 월 $0.015 전후.
1년 약정이라면 $0.007 전후를 목표로 하는 새로운 요금 플랜입니다.
$0.015전후
사용자 1명당 월 비용
일정 규모 이상의 타이틀
$0.007전후
1년 약정 시
사용자 1명당 월 비용
16.6ms 미만
평균 응답 시간
동일 데이터센터 내
102만 RPS
최대 구성이 감당하는
초당 요청 수
왜 만들었는가
코딩 에이전트의 발전으로 게임 백엔드를 만드는 비용은 크게 낮아졌습니다.
하지만 출시 후 매달 들어가는 서버와 데이터베이스 비용은 예전과 거의 달라지지 않았습니다. 오래 운영할수록 그 부담은 커집니다.
그래서 우리는 GS2의 백엔드 아키텍처를 재설계하고, 운영 비용 자체를 낮추는 GS2-BufferedSession을 개발했습니다.
가격 수준
예: MAU 150만 명 타이틀이 std1.large에 들어가는 경우
일반 요금
$22,200/월 ÷ 150만 명
사용자 1명당 $0.0148 /월
1년 약정
$11,100/월 ÷ 150만 명
사용자 1명당 $0.0074 /월
필요한 플릿은 게임 사양과 API 이용 빈도에 따라 달라집니다. 직접 가진 수치로 계산하려면 계산기를 이용해 주세요.
아키텍처
GS2-BufferedSession은 GS2 API와 데이터베이스 사이에서 플레이어 데이터를 메모리에 두고, 갱신을 모아서 기록합니다.
같은 플레이어 데이터를 1분에도 여러 번 갱신하는 게임에서 최고의 비용 대비 성능을 발휘합니다.
STEP 01
플레이어가 조작할 때마다 API가 호출되고, 그때마다 데이터베이스에 접근합니다. 서버를 늘리는 것보다 데이터베이스 접근이 더 비쌉니다.
STEP 02
요청 수만큼 데이터베이스 접근이 발생하고, 그 횟수가 그대로 비용이 됩니다.
STEP 03
GS2-BufferedSession은 플레이어 데이터를 메모리에 두고 갱신을 모아서 데이터베이스에 기록합니다. 같은 데이터를 몇 번 갱신해도 기록은 한 번이면 됩니다.
STEP 04
유료 재화 소비 같은 중요한 갱신이 도착하면, 해당 플레이어의 쌓인 갱신을 먼저 플러시한 뒤 즉시 데이터베이스에 기록합니다. 모아서 기록하는 간격 도중이라도 중요한 데이터는 기다리게 하지 않습니다.
STEP 05
접근이 줄면 대기 시간도 줄어듭니다. 데이터베이스 왕복이 사라져 API는 평균 1프레임(16.6ms) 미만으로 응답합니다.
게임 서버 월 비용
가장 큰 비중은 데이터베이스
※ 모식도입니다. 비율은 구성이나 게임에 따라 달라집니다.
요청 0
데이터베이스 접근(기존) 0
데이터베이스 접근(BufferedSession) 0
절감(이 그림의 경우) -
중요한 갱신이 도착하면 쌓인 갱신을 먼저 플러시한 뒤, 즉시 데이터베이스에 기록합니다.
게임 1프레임(60fps)
기존
BufferedSession
※ 동일 데이터센터 내에서 측정한 값이며, 인터넷 경로의 지연은 포함하지 않습니다. 기존 구성의 막대는 모식도입니다.
15분 고정입니다. 윈도우 안에서 같은 데이터를 갱신하면 데이터베이스에 접근하지 않고 메모리에서 처리됩니다. 예기치 못한 장애가 나면 윈도우 기간의 데이터가 유실될 수 있습니다.
GS2는 세밀한 게임 컨텍스트를 API로 제공하기 때문에 갱신 내용의 중요도를 이해하고 있습니다. 유료 재화 소비처럼 중요한 갱신은 윈도우 기간 중이라도 버퍼를 플러시한 뒤 즉시 데이터베이스에 기록합니다.
스케일 업으로 키울 때도, 스케일 인으로 줄일 때도, 물러나는 인스턴스는 버퍼를 플러시한 뒤 빠집니다. 버퍼 내용이 사라지지 않으며 다운타임도 발생하지 않습니다.
일반적인 API 호출에서 데이터베이스 왕복이 사라지므로, 평균 1프레임(16.6ms) 미만, p99에서도 100ms 미만으로 응답합니다(동일 데이터센터 내 RTT).
직접 구축한 경우와의 비교
std1.large에 해당하는 구성을 AWS 도쿄 리전에 직접 구축한 경우와 비교했습니다.
AWS에 그대로 올린다면
AWS 막대의 연한 부분은 온디맨드 가격입니다.
1년 약정끼리 비교하면 GS2-Steady가 약 52% 저렴합니다. 데이터베이스 접근을 줄이는 구조가 없어, 갱신이 많은 게임일수록 데이터베이스 비용이 커집니다.
| 항목 | 구성 | 월 비용 |
|---|---|---|
| 로드 밸런서 | ALB + LCU | $115 |
| API 서버 | c8g.2xlarge × 6대 | $7,010 |
| 데이터베이스 | Aurora db.r8g.2xlarge × 3 (3AZ) | $15,200 |
| 스토리지 | I/O-Optimized 500GB | $540 |
| 백업 | 30일분 1TB | $92 |
| 캐시 | cache.r8g(동시 접속 수에 비례) | $1,030 |
| 데이터 전송 | 약 6.2TB/월 | $2,840 |
| NAT Gateway | 3AZ + 처리 데이터 약 0.3TB | $212 |
| 로그 · 메트릭 | CloudWatch Logs 약 1.6TB/월 + 대시보드 | $2,590 |
| 기타 | S3 등 | $300 |
| 합계 | $29,900 |
스테이트풀한 버퍼링 계층의 구현과 그 운용. 그리고 뽑기 · 상점 · 인벤토리 등 GS2가 API로 제공하는 기능 자체의 개발. 백엔드 엔지니어 · SRE를 3명 배치하면 인건비만으로 월 $19,000 규모입니다.
GS2-Steady는 최소 구성으로 $1,700/월입니다. 일정 규모에 못 미치는 타이틀이라면 쓴 만큼만 지불하는 GS2의 종량 과금 플랜이 더 저렴할 수 있습니다. 규모가 커진 뒤에 데이터를 옮기지 않고 전환할 수 있습니다.
요금
균형 있게 사용하는 게임에는 std 타입.
동시 접속 수가 많은 게임에는 버퍼링용 메모리를 더 많이 가진 ccu 타입.
API를 매우 자주 호출하는 게임에는 처리 능력을 키운 rps 타입.
| 플릿 | 최대 CCU | 최대 RPS | 일반 요금 | 1년 약정 |
|---|---|---|---|---|
| std1.nano | 1,500 | 500 | $1,700/월 | $800/월 |
| std1.micro | 3,000 | 1,000 | $2,700/월 | $1,300/월 |
| std1.small | 9,000 | 4,000 | $6,000/월 | $3,000/월 |
| std1.medium | 20,000 | 8,000 | $11,300/월 | $5,700/월 |
| std1.large | 50,000 | 16,000 | $22,200/월 | $11,100/월 |
| std1.xlarge | 90,000 | 32,000 | $43,300/월 | $21,700/월 |
| std1.2xlarge | 190,000 | 64,000 | $85,000/월 | $42,500/월 |
| std1.4xlarge | 370,000 | 128,000 | $165,000/월 | $82,500/월 |
| std1.8xlarge | 740,000 | 256,000 | $323,300/월 | $161,700/월 |
| std1.16xlarge | 1,500,000 | 512,000 | $630,000/월 | $315,000/월 |
| std1.32xlarge | 3,000,000 | 1,024,000 | $1,233,300/월 | $616,700/월 |
| 플릿 | 최대 CCU | 최대 RPS | 일반 요금 | 1년 약정 |
|---|---|---|---|---|
| ccu1.micro | 9,000 | 1,000 | $3,000/월 | $1,500/월 |
| ccu1.small | 20,000 | 4,000 | $6,800/월 | $3,400/월 |
| ccu1.medium | 50,000 | 8,000 | $13,000/월 | $6,500/월 |
| ccu1.large | 90,000 | 16,000 | $26,700/월 | $13,300/월 |
| ccu1.xlarge | 190,000 | 32,000 | $50,000/월 | $25,000/월 |
| ccu1.2xlarge | 370,000 | 64,000 | $96,700/월 | $48,300/월 |
| ccu1.4xlarge | 740,000 | 128,000 | $188,300/월 | $94,200/월 |
| ccu1.8xlarge | 1,500,000 | 256,000 | $365,000/월 | $182,500/월 |
| ccu1.16xlarge | 3,000,000 | 512,000 | $713,300/월 | $356,700/월 |
| ccu1.32xlarge | 6,000,000 | 1,024,000 | $1,393,300/월 | $696,700/월 |
| 플릿 | 최대 CCU | 최대 RPS | 일반 요금 | 1년 약정 |
|---|---|---|---|---|
| rps1.micro | 3,000 | 2,000 | $4,500/월 | $2,300/월 |
| rps1.small | 9,000 | 8,000 | $10,800/월 | $5,400/월 |
| rps1.medium | 20,000 | 16,000 | $21,200/월 | $10,600/월 |
| rps1.large | 50,000 | 32,000 | $41,700/월 | $20,800/월 |
| rps1.xlarge | 90,000 | 64,000 | $81,700/월 | $40,800/월 |
| rps1.2xlarge | 190,000 | 128,000 | $158,300/월 | $79,200/월 |
| rps1.4xlarge | 370,000 | 256,000 | $308,300/월 | $154,200/월 |
| rps1.8xlarge | 740,000 | 512,000 | $605,000/월 | $302,500/월 |
| rps1.16xlarge | 1,500,000 | 1,024,000 | $1,185,000/월 | $592,500/월 |
표시 가격은 모두 세금 별도의 월 요금입니다. "1년 약정"은 1년분 이용 요금을 선불로 결제하시는 경우의 월 환산 요금입니다. 가격은 프리뷰 시점의 예상치이며, 정식 서비스 시작 시 변경될 수 있습니다.
GS2-Steady와 기존 종량 과금 플랜은 양방향으로 전환할 수 있습니다. 데이터베이스를 두 플랜이 공유하므로 데이터 마이그레이션은 필요 없습니다. 전환할 때는 정지 시간이 발생하므로, 출시 전후나 운영 단계가 바뀌는 시점에 사용하시길 권합니다. 또한 상호 전환은 데이터베이스 스키마 v2 프로젝트에서만 가능합니다.
계산기
숫자 네 개만 입력하면 됩니다. 출시 첫 달과 day30 이후에 필요한 플릿을 산출합니다.
출시 첫 달
—
—
day7 누적 다운로드 수
—
입력값
day1 다운로드 수
—
× 0.5
피크 1시간 활성 사용자
—
× 0.5
로그인 RPS
—
÷ 3600 × 조회 횟수
로그인 후 RPS
—
피크 CCU × 통신 빈도 ÷ 60 × 4
피크 CCU
—
× 세션 시간 ÷ 60
day30 이후
—
—
day30 누적 다운로드 수
—
day7 누적 × 1.5
day30 활성 사용자 수
—
× 0.1
피크 1시간 활성 사용자
—
× 0.5
로그인 RPS
—
÷ 3600 × 조회 횟수
로그인 후 RPS
—
피크 CCU × 통신 빈도 ÷ 60 × 4
피크 CCU
—
× (세션 시간 × 0.8) ÷ 60
GS2의 평균적인 통계에 근거한 추정치입니다. 사용자 1명당 단가는 출시 첫 달은 day30 누적 다운로드 수를, day30 이후는 day30 활성 사용자 수를 DAU/MAU 50%로 환산한 인원을 MAU로 삼아 산출했습니다.
만드는 일은 예전보다 훨씬 가까워졌습니다.
그래서 GS2는 만든 게임을 오래, 저렴하게 계속 운영할 수 있는 기반을 제공합니다.
그것이 새로운 GS2가 지향하는 BaaS의 가치입니다.
프리뷰
정식 제공에 앞서 프리뷰 신청을 받고 있습니다. 신청해 주시면 제공 시작 안내와 함께, 타이틀 규모에 맞춘 구성 상담을 보내드립니다.