Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
コロプラ最新作インフラ構成について
Search
COLOPL Inc.
February 20, 2025
Technology
330
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
コロプラ最新作インフラ構成について
第26回 酒とゲームとインフラとGCP@タイミー
https://sake-game.connpass.com/event/338410/
#酒ゲーGCP
COLOPL Inc.
February 20, 2025
More Decks by COLOPL Inc.
See All by COLOPL Inc.
Claude Code 再入門 会話の渡し方の4つの道具 - Claude Codeスキル・ハーネス社内勉強会
colopl
0
54
Copilot / Claude Code 両方で使えるスキル・ハーネスの紹介 - Claude Codeスキル・ハーネス社内勉強会
colopl
0
66
実務で動くAIエージェントを作ろう!MCP×Mastraをライブコーディングで実践
colopl
0
410
Cloud Runでコロプラが挑む 生成AI×ゲーム『神魔狩りのツクヨミ』の裏側
colopl
0
2.5k
PHPStan をできる限り高速化してみる
colopl
1
880
Cloud Spanner 導入で実現した快適な開発と運用について
colopl
1
2.4k
コロプラのオンボーディングを採用から語りたい
colopl
7
2.8k
怖くない!ゼロから始めるPHPソースコードコンパイル入門
colopl
1
940
大規模トラフィックを支える ゲームバックエンドの課題と構成の変遷 ~安定したゲーム体験を実現するために~
colopl
3
8.8k
Other Decks in Technology
See All in Technology
Kaggleで成長するために意識したこと
prgckwb
2
420
SRE Next 2026 何でも屋からの脱却
bto
0
990
AIが実装を自走する時代の認知負債との戦い
lycorptech_jp
PRO
1
360
Network Firewallやっていき!
news_it_enj
0
170
企業でAWS Organizationsを動かすための組織設計の考え方
nrinetcom
PRO
1
110
ゴールデンパスは敷いただけでは道にならない ─ 企画部門のエンジニアが技術標準を事業価値に変えるまで
mhrtech
1
230
関数型の考えを TypeScript に持ち込んで、テストしやすい純粋関数を増やす / Pure at the Core, Effects at the Edge: Bringing Functional Thinking into TypeScript
kaminashi
2
130
Control Planeで育てるBtoB SaaSの認証基盤 - SRE NEXT 2026
pokohide
1
2.6k
AI時代のYAGNI:「爆速で無駄になった機能」からの学び / 20260720 Naoki Takahashi
shift_evolve
PRO
3
330
AI、CDK と協働する Full TypeScript アプリケーション開発 / Full TypeScript Application with AI and CDK
geekplus_tech
2
400
大量データに対しても、生成AIを用いてリーズナブルにデータ加工をしたい!Databricksのai_queryについて調べてみた
kamoshika
1
220
AIレビューはどこまで任せられるのか?自動化と人が背負うレビューの境界
sansantech
PRO
3
1.1k
Featured
See All Featured
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.4k
Thoughts on Productivity
jonyablonski
76
5.2k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.8k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
118
120k
Why Our Code Smells
bkeepers
PRO
340
58k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
Automating Front-end Workflow
addyosmani
1370
210k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
10k
Utilizing Notion as your number one productivity tool
mfonobong
4
430
How to train your dragon (web standard)
notwaldorf
97
6.7k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.4k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Transcript
第26回 酒とゲームとインフラとGCP@タイミー コロプラ最新作インフラ構 成について 2025.02.21
• 須藤 順康 • 株式会社コロプラ 技術基盤本部 インフラストラクチャ部 • 2024年1月入社 自己紹介 2
コロプラについて Vision エンターテインメントで日常をより楽しく、より素晴らしく Mission 3
コロプラについて 4 @COLOPL, Inc.
1/27リリース! 5
新作紹介 6
異世界∞異世界のインフラ構成
インフラ設計の方針 • コロプラで実績のある安定構成を採用 ◦ 既存タイトルの運用実績からメンテナンスをなるべく入れないことができる構成 • なるべくマネージドサービスを採用 ◦ GKE上にすべてのコンポーネントを乗せることはできるが、GKEやミドルウェアのアップ デートの手間やリスクを考えると、多少コストがかかってもマネージドに寄せる方がメリッ
トがあるという判断 ◦ マネージドサービスはダウンタイムを考慮し、メンテナンスタイムを設けない運用ができる サービスを選定 8 …
全体構成 9 iOS/Android/Steam Cloud Load Balancing Apps Google Kubernetes Engine
Artifact Registry Cloud Spanner Cloud SQL Spinnaker Google Kubernetes Engine PvP Google Kubernetes Engine Cloud Logging CDN GitLab Compute Engine RabbitMQ Compute Engine Redis Enterprise ElasticSearch Cloud Monitoring BigQuery
Apps 10 iOS/Android/Steam Cloud Load Balancing Apps Google Kubernetes Engine
Artifact Registry Cloud Spanner Cloud SQL Spinnaker Google Kubernetes Engine PvP Google Kubernetes Engine Cloud Logging CDN GitLab Compute Engine RabbitMQ Compute Engine Redis Enterprise ElasticSearch Cloud Monitoring BigQuery PHP/Laravelのゲームサーバー
Database 11 iOS/Android/Steam Cloud Load Balancing Apps Google Kubernetes Engine
Artifact Registry Cloud Spanner Cloud SQL Spinnaker Google Kubernetes Engine PvP Google Kubernetes Engine Cloud Logging CDN GitLab Compute Engine RabbitMQ Compute Engine Redis Enterprise ElasticSearch Cloud Monitoring BigQuery
Database • Cloud SQLとCloud Spannerを併用 ◦ 過去にCloud Spannerにmaster dataを配置した際にイベントデータへのアクセスでホットス ポットが発生して、Spanner全体のレイテンシが非常に悪化したことがある
• Cloud SQLにmaster dataを保存 ◦ 同じデータを全ユーザーが参照 ▪ アイテムやキャラクターデータ ◦ 昨年のリリースでEnterprise Plusのメンテナンス時のダウン時間が大幅に縮小 • Cloud Spannerにはuser dataを保存 ◦ EditionはStandard ◦ Enterprise Editionにするメリットとコストを比較して、今回はStandardが適切と判断 ▪ 増分バックアップ->リリース時に容量が読めない ▪ Full Text Search-> まだ社内実績や検証が十分でない ▪ (将来的にGAな) managed auto scaler->OSSで運用できてしまっている 12
CI/CD 13 iOS/Android/Steam Cloud Load Balancing Apps Google Kubernetes Engine
Artifact Registry Cloud Spanner Cloud SQL Spinnaker Google Kubernetes Engine PvP Google Kubernetes Engine Cloud Logging CDN GitLab Compute Engine RabbitMQ Compute Engine Redis Enterprise ElasticSearch Cloud Monitoring BigQuery CI経由でコンテナイメージを Artifact Registryにpush spinnakerがイメージの pushをト リガーにパイプラインを起動 本番デプロイを進めるには起動 したパイプラインに手動で操作が 必要
Logging/Monitoring/Alerting 14 iOS/Android/Steam Cloud Load Balancing Apps Google Kubernetes Engine
Artifact Registry Cloud Spanner Cloud SQL Spinnaker Google Kubernetes Engine PvP Google Kubernetes Engine Cloud Logging CDN GitLab Compute Engine RabbitMQ Compute Engine Redis Enterprise ElasticSearch Cloud Monitoring BigQuery
Logging/Monitoring/Alerting • ログはCloud LoggingとBigQuery、Datadogで収集 ◦ 主にアプリケーションログはDatadog、プレイログはBigQuery、それ以外はCloud Logging • 可視化のダッシュボードにはgrafanaを使用 ◦
Google Cloudの各種メトリクスとPHPや各種ミドルウェアのカスタムメトリクスを可視化 ◦ Google Cloud内のリソースだけではなく、CDNやElasticSearch(みたいなやつ)のメトリク スも見れるようにしている ◦ Google Cloud以外のメトリクスも豊富なプラグインが存在するため使い勝手が良かった • アラートはAlert Manager、Cloud Monitoring、Datadogを併用 ◦ Alert Manager: prometheus経由の基本的なインフラメトリクスアラート ◦ Datadog: アプリケーション寄りのアラート ◦ CloudMonitoring: Datadogで事足りるので廃止予定 ▪ Logging経由でのアラート通知が1日当たり20件が上限のため、アプリケーションログ のエラー通知には不向きと判断 15
PvP 16 iOS/Android/Steam Cloud Load Balancing Apps Google Kubernetes Engine
Artifact Registry Cloud Spanner Cloud SQL Spinnaker Google Kubernetes Engine PvP Google Kubernetes Engine Cloud Logging CDN GitLab Compute Engine RabbitMQ Compute Engine Redis Enterprise ElasticSearch Cloud Monitoring BigQuery
PvP • PvP(マルチプレイ)用のゲームサーバーが動くGKEクラスター ◦ PvP自体は未リリース • 以下の主に二つで構成する予定 ◦ Agones ▪
k8s上で動作するゲームサーバーを管理するOSS ◦ prizm ▪ 内製リアルタイムフレームワーク 17
リリースまでに困ったこと
バグ修正等でアプリ審査が直前ま で続いたためSpannerのウォー ムアップのタイミングが難しかっ た
Spannerのウォームアップについて • リリース前にCloud Spannerにウォームアップが必要 ◦ 通常はリリース直前(2日以内)に本番環境のSpannerにテストデータを保存してスプリットを 確保する • アプリの審査からリリースまで ◦
アプリの審査を概ね1〜2ヶ月前から開始 ◦ 審査中は本番環境は触れない ◦ クリスマス/年末年始もあり審査スケジュールが読めない ◦ バグ修正等で直前までアプリ審査が続いた ◦ 審査完了がリリース日直前になる可能性も • 対応:ウォームアップ用に負荷試験環境を流用 ◦ 通常は本番apps -> 本番spanner、負荷試験apps -> 負荷試験spannerとなっているところ一 時的に向き先を入れ替える ◦ ウォームアップ時には本番apps ->負荷試験spanner 、負荷試験apps -> 本番spannerとし、 アプリの審査完了後に元に戻す 20
AgonesがサポートするGKEバー ジョンがGKEのAuto Upgrade バージョンに追いつかない
AgonesとGKEのサポートバージョン • Agonesは1バージョンにつき、k8sの3バージョンをサポートしている ◦ Agonesの最新版は1.47、k8sのサポートバージョンは1.29-1.31(資料作成時点) • GKEはおよそ3ヶ月に1回程度の頻度でバージョンアップ ◦ 1.32のAuto Upgrade(Stable)は2025/4
(資料作成時点) • リリース前にGKEのバージョンはなるべく上げておきたいが、現時点では Agones 1.47 + GKE 1.31まで • このまま1.32のAuto Upgradeが4月になるとAgonesのサポート外バージョ ンになってしまう ◦ ただし、今までAuto UpgradeでAgonesのサポート外バージョンになったことはない ◦ そもそもGKE 1.32がリリースされているのはRapidだけ 22
ご清聴ありがとうございました
• 技術情報発信しているのでフォローしてもらえると嬉しいです ◦ 「アーキテクチャ Conference 2024」登壇時の資料や ◦ 「 PHP Conference
Japan 2024」登壇時の記事など技術ブログで公開しています ◦ 登壇者・執筆者のモチベーションにつながるので立ち寄ってもらえればと 最後に宣伝 24 COLOPL Tech Blog https://blog.colopl.dev/