Weitere ähnliche Inhalte
Ähnlich wie 長期運用タイトルの GCP 移行実例とグレンジのこれから | Google Cloud INSIDE Games & Apps (20)
Mehr von Google Cloud Platform - Japan (20)
Kürzlich hochgeladen (11)
長期運用タイトルの GCP 移行実例とグレンジのこれから | Google Cloud INSIDE Games & Apps
- 12. 10 11 12 1 2 3 4 5 6 7 8 9 10 11 12 1 2 3 4 5 6 7
2016
移行プロジェクト開始
● インフラ未経験のサーバエンジニア1人が挑戦
● サーバーエンジニアがインフラも管理する方針
● ゲーム事業の技術サポートチームから1人も加わりプロジェクト開始
2017 2018
- 13. 技術検証とインフラ構築開始
10 11 12 1 2 3 4 5 6 7 8 9 10 11 12 1 2 3 4 5 6 7
2016 2017 2018
● オーケストレーションツール検証
● マネージド・サービス検証
● メトリクスツール検証
- 15. 社内ツール移行、BigQueryログ転送開始
10 11 12 1 2 3 4 5 6 7 8 9 10 11 12 1 2 3 4 5 6 7
2016 2017 2018
● 社内ツールの移行
● ログサーバの容量逼迫により、BigQuery先行導入
● 2018年3月、7月の本番移行に向けてエンジニア2人追加
- 16. ● 開発環境移行、移行リハーサル
10 11 12 1 2 3 4 5 6 7 8 9 10 11 12 1 2 3 4 5 6 7
2016 2017 2018
● 開発環境移行
● 再度、負荷試験
● 移行リハーサル
- 17. 本番環境の移行
10 11 12 1 2 3 4 5 6 7 8 9 10 11 12 1 2 3 4 5 6 7
2016 2017 2018
● 2018年7月4日 ステージング環境の移行完了
● 2018年7月5日 本番環境の移行完了
- 22. 移行指針 - 検討項目
● サーバ構成を変えない
● ミドルウェアのバージョンは変更しない
● マネージドサービスの導入は最低限
- 26. サーバ構成 - 移行後(GCP)
Mobile
Mobile
Mobile
Cloud Load
Balancing
Cloud Load
Balancing
Cloud Load
Balancing
CDN コンテンツ
Web
Node.js
ログサー
バ
バッチ
Redis
pub/sub
Memcached
Redis
cache
Logging
Cloud
Storage
BigQuery
Redis
datastore
mha
マネージャ
DB
スレーブ
DB
スタンバイ
Redis
pub/sub
マスタ
Redis
cache
マスタ
Redis
datastore
マスタ
Redis
cache
スタンバイ
Redis
datastore
スタンバイ
Redis
pub/sub
スタンバイ
Memcached
マスタ
Memcached
スタンバイ
DNS
DB
マスタ
- 27. サーバ構成 - 移行後(GCP)
Mobile
Mobile
Mobile
Cloud Load
Balancing
Cloud Load
Balancing
Cloud Load
Balancing
CDN コンテンツ
Web
Node.js
ログサー
バ
バッチ
Redis
pub/sub
Memcached
Redis
cache
Logging
Cloud
Storage
BigQuery
Redis
datastore
mha
マネージャ
DB
スレーブ
DB
スタンバイ
Redis
pub/sub
マスタ
Redis
cache
マスタ
Redis
datastore
マスタ
Redis
cache
スタンバイ
Redis
datastore
スタンバイ
Redis
pub/sub
スタンバイ
Memcached
マスタ
Memcached
スタンバイ
DNS
DB
マスタ
- 28. サーバ構成 - Stackdriver Logging
Stackdriver Logging
● ログの収集、検索、監視
● シンクを使用してログのエクスポート
● 除外フィルタによる、ログの分別・コスト削減
● google-fluentd
- 30. サーバ構成 - Cloud SQLの導入は断念
Cloud SQL
● 高パフォーマンス
● スケラービリティ
● 高可用性
- 31. サーバ構成 - Cloud SQLの導入は断念
● 不定期に行われるメンテナンス
● レプリケーションができない
○ メンテナンス時間を削減するため、レプリが必須
○ MariaDBのバージョンにより、レプリができない
○ サードパーティのOSSでレプリが追いつかない
- 54. 移行後 - トラブル - DBゾーン分散
● master と standby に MHA Manager を同居させない
● 単一ゾーン障害でサービスを停止させない
種別/Zone Zone A Zone B Zone C
master 〇
standby 〇
MHA Manager 〇
slave 〇
- 55. ● Stackdriver Logging
移行後 - トラブル - ホストエラーを検知する
● Cloud Pub/Sub
● Cloud Functions
resource.type="gce_instance"
jsonPayload.event_subtype=("compute.instances.automaticRestart" OR "compute.instances.hostError")
- 56. 移行後 - 運用改善 - スナップショット
スナップショット
● 高速に取得
● 差分取得
● 世代管理
● グローバルで利用可能
● スケジュール
- 57. 移行後 - 運用改善 - スナップショットバックアップ
/ XtraBackup Snapshot
日別バックアップ回数 1 3
所要時間 7~8時間 30分
リストア時間 1時間~2時間 40分
- 69. Cloud Spannerの利用
● 問題点
○ ゲームではデータベース容量が肥大化しやすい
○ その度にスケールアップ、スケールアウトを行っている
● KickFlightはSpannerを採用
○ スケールアウトが簡単
○ アプリのシャーディング対応不要
○ 高可用性
○ アプリ開発に集中できる