通常料金
266万円/月 ÷ 150万人
1ユーザーあたり 1.77円 /月
GS2-Steady
一定ボリューム以上あるタイトルで、バックエンド費用は1ユーザーあたり月額2円前後。
1年間のコミットメントなら1円前後を目指した、新しい料金プランです。
2円前後
1ユーザーあたりの月額
一定ボリューム以上のタイトル
1円前後
1年コミットメント時の
1ユーザーあたりの月額
16.6ms 未満
平均レスポンスタイム
同一データセンター内
102万 RPS
最大構成が受けきる
リクエスト/秒
なぜ作ったか
コーディングエージェントの進化によって、ゲームバックエンドを作るためのコストは大きく下がりました。
ところが、リリース後に毎月かかり続けるサーバーやデータベースの費用は、以前とほとんど変わっていません。長く運営するほど、その重みは増していきます。
そこで私たちは GS2 のバックエンドアーキテクチャを再設計し、動かすコストそのものを下げる GS2-BufferedSession を開発しました。
価格水準
例: MAU 150万人 のタイトルが std1.large に収まる場合
通常料金
266万円/月 ÷ 150万人
1ユーザーあたり 1.77円 /月
1年コミットメント
133万円/月 ÷ 150万人
1ユーザーあたり 0.89円 /月
必要なフリートは、ゲームの仕様や API 利用頻度によって変わります。お手元の数字での試算はカリキュレーターをお使いください。
アーキテクチャ
GS2-BufferedSession は GS2 API とデータベースの間に立ち、
プレイヤーのデータをメモリに持って、更新をまとめて書き込みます。
同じプレイヤーのデータを毎分何度も更新するようなゲームで、最高のコストパフォーマンスを発揮します。
STEP 01
プレイヤーの操作のたびに API が呼ばれ、そのたびにデータベースへアクセスします。サーバーを並べるより、データベースへのアクセスのほうが高くつきます。
STEP 02
リクエストの数だけデータベースへのアクセスが発生し、その回数がそのまま費用になります。
STEP 03
GS2-BufferedSession はプレイヤーのデータをメモリに持ち、更新をまとめてデータベースへ書き込みます。同じデータへの更新は何度あっても 1 回の書き込みで済みます。
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 は約64%安くなります。データベースへのアクセスを減らす仕組みがないため、更新の多いゲームほどデータベースの費用がかさみます。
| 項目 | 構成 | 月額 |
|---|---|---|
| ロードバランサー | ALB + LCU | 1.8万円 |
| API サーバー | c8g.2xlarge × 6台 | 112万円 |
| データベース | Aurora db.r8g.2xlarge × 3 (3AZ) | 243万円 |
| ストレージ | I/O-Optimized 500GB | 8.6万円 |
| バックアップ | 30日分 1TB | 1.5万円 |
| キャッシュ | cache.r8g(同時接続数に比例) | 16.5万円 |
| データ転送 | 約6.2TB/月 | 45.4万円 |
| NAT Gateway | 3AZ + 処理データ 約0.3TB | 3.4万円 |
| ログ・メトリクス | CloudWatch Logs 約1.6TB/月 + ダッシュボード | 41.4万円 |
| その他 | S3 など | 4.8万円 |
| 合計 | 478万円 |
ステートフルなバッファリング層の実装と、その運用。そして、ガチャ・ショップ・インベントリなど GS2 が API として提供している機能そのものの開発。バックエンドエンジニア・SRE を3名アサインすれば、人件費だけで月額300万円規模です。
GS2-Steady は最小構成で 20万円/月 です。一定のボリュームに満たないタイトルでは、使ったぶんだけを支払うGS2 の従量課金プランのほうが安価な場合があります。規模が育ってから、データを移さずに切り替えられます。
料金
バランスよく使うゲームには std タイプ。
同時接続数が多いゲームには、バッファリング用のメモリを多く持つ ccu タイプ。
API を高頻度で呼び出すゲームには、処理能力を厚くした rps タイプ。
| フリート | 最大CCU | 最大RPS | 通常料金 | 1年コミット |
|---|---|---|---|---|
| std1.nano | 1,500 | 500 | 20万円/月 | 10万円/月 |
| std1.micro | 3,000 | 1,000 | 32万円/月 | 16万円/月 |
| std1.small | 9,000 | 4,000 | 72万円/月 | 36万円/月 |
| std1.medium | 20,000 | 8,000 | 136万円/月 | 68万円/月 |
| std1.large | 50,000 | 16,000 | 266万円/月 | 133万円/月 |
| std1.xlarge | 90,000 | 32,000 | 520万円/月 | 260万円/月 |
| std1.2xlarge | 190,000 | 64,000 | 1,020万円/月 | 510万円/月 |
| std1.4xlarge | 370,000 | 128,000 | 1,980万円/月 | 990万円/月 |
| std1.8xlarge | 740,000 | 256,000 | 3,880万円/月 | 1,940万円/月 |
| std1.16xlarge | 1,500,000 | 512,000 | 7,560万円/月 | 3,780万円/月 |
| std1.32xlarge | 3,000,000 | 1,024,000 | 1億4,800万円/月 | 7,400万円/月 |
| フリート | 最大CCU | 最大RPS | 通常料金 | 1年コミット |
|---|---|---|---|---|
| ccu1.micro | 9,000 | 1,000 | 36万円/月 | 18万円/月 |
| ccu1.small | 20,000 | 4,000 | 82万円/月 | 41万円/月 |
| ccu1.medium | 50,000 | 8,000 | 156万円/月 | 78万円/月 |
| ccu1.large | 90,000 | 16,000 | 320万円/月 | 160万円/月 |
| ccu1.xlarge | 190,000 | 32,000 | 600万円/月 | 300万円/月 |
| ccu1.2xlarge | 370,000 | 64,000 | 1,160万円/月 | 580万円/月 |
| ccu1.4xlarge | 740,000 | 128,000 | 2,260万円/月 | 1,130万円/月 |
| ccu1.8xlarge | 1,500,000 | 256,000 | 4,380万円/月 | 2,190万円/月 |
| ccu1.16xlarge | 3,000,000 | 512,000 | 8,560万円/月 | 4,280万円/月 |
| ccu1.32xlarge | 6,000,000 | 1,024,000 | 1億6,720万円/月 | 8,360万円/月 |
| フリート | 最大CCU | 最大RPS | 通常料金 | 1年コミット |
|---|---|---|---|---|
| rps1.micro | 3,000 | 2,000 | 54万円/月 | 27万円/月 |
| rps1.small | 9,000 | 8,000 | 130万円/月 | 65万円/月 |
| rps1.medium | 20,000 | 16,000 | 254万円/月 | 127万円/月 |
| rps1.large | 50,000 | 32,000 | 500万円/月 | 250万円/月 |
| rps1.xlarge | 90,000 | 64,000 | 980万円/月 | 490万円/月 |
| rps1.2xlarge | 190,000 | 128,000 | 1,900万円/月 | 950万円/月 |
| rps1.4xlarge | 370,000 | 256,000 | 3,700万円/月 | 1,850万円/月 |
| rps1.8xlarge | 740,000 | 512,000 | 7,260万円/月 | 3,630万円/月 |
| rps1.16xlarge | 1,500,000 | 1,024,000 | 1億4,220万円/月 | 7,110万円/月 |
表示価格はすべて税別の月額です。「1年コミット」は、1年分の利用料金を先払いする場合の月額換算です。価格はプレビュー時点での見込みで、正式サービス開始時に見直す可能性があります。
GS2-Steady と従来の従量課金プランは双方向に移行できます。データベースは両プランで共有しているため、データのマイグレーションは不要です。移行にあたっては停止期間が発生するため、ローンチ前後や運営フェーズの変わり目での利用を想定しています。なお、相互移行できるのはデータベーススキーマ v2 のプロジェクトに限ります。
カリキュレーター
4つの数字を入れるだけ。ローンチ初月と 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 の価値です。
プレビュー
提供開始に先立ち、プレビュー登録を受け付けています。登録いただいた方には、提供開始のご案内と、タイトルの規模に合わせた構成のご相談をお送りします。