1. ホーム
  2. 法人のお客様
  3. クラウド
  4. IIJ GIOベストプラクティス
  5. オンラインゲーム

IIJ GIOベストプラクティス - リファレンスアーキテクチャ

オンラインゲーム

オンラインゲームの基盤は、スモールスタートでありながら急なアクセス数の増加にも対応できる拡張性や、利用者にストレスを感じさせない処理性能、システムが止まることなく安定して稼働する可用性などの要件が求められます。
このようなオンラインゲーム基盤に求められる要求に、迅速かつ柔軟、最適なコストで応えることができるのがIIJ GIOのクラウドサービスです。

その他の
ベストプラクティス
を探す(一覧へ)

最適な利用シーン

スモールスタートからのスケーラブルなオンラインゲーム基盤

適用可能なシステム

  • オンラインゲーム基盤
  • 大規模Webシステム(参照メイン)

アーキテクチャの概要とメリット

アーキテクチャ概要図

  • Webサーバをスケールアウトするために必要なロードバランサは、1Gbpsまでのトラフィックを安定して処理できます。
  • フロントのWebサーバにIIJ GIOインフラストラクチャーP2(以下、IIJ GIO P2) パブリックリソースの仮想サーバを利用することで、迅速なWebサーバスケールアウトを実現できます。
  • データベースは、I/O性能の高い専有タイプの仮想サーバで、ioMemoryやSSDといったI/Oボトルネックが発生しにくいストレージを利用することで、高性能データベースを実現します。
  • レプリケーションなどで更新用データベースや参照用データベースを構成し、高可用性MySQLデータベースを実現できます。
  • ゲームダウンロードや更新データなどの配信にIIJ GIOコンテンツアクセラレーションサービスを利用することで、急激なトラフィックの変化に柔軟に対応することができます。

アーキテクチャ解説

急なアクセス増加時にフロントのWebサーバを迅速にスケールアウト

Webサーバのスケールアウト

  • IIJ GIO P2 パブリックリソースのロードバランサ配下に複数台のWebサーバを配置できます。
  • ロードバランサからWebサーバにヘルスチェックを行い、正常稼働しているWebサーバにアクセスを分散します。
  • ロードバランサが処理できるトラフィック量は、ロードバランサの品目により、10Mbpsから1Gbpsまでを選択することができます。
[効果]
  • ロードバランサが処理できる範囲内で、配下のWebサーバの追加・削減を容易に実現できます。
システム概要図
対応するデザインパターン

Webサーバのクローニング

  • IIJ GIO P2 パブリックリソースのストレージアーカイブオプションを利用して、既存の仮想サーバ(Webサーバ)を複製することができます。
  • 仮想サーバの複製は、コントロールパネル(GUI)またはAPIを利用して実行できます。
  • カスタムOSイメージとして保存された状態が、追加する仮想サーバに複製されます。
[効果]
  • 急激なアクセスの増加にも、Webサーバの台数を迅速かつ少ない手間で増やして対応することができます。
システム概要図
対応するデザインパターン

高いI/O性能を保持した高可用性MySQLデータベースサーバを実現

高I/O性能データベース

  • SanDisk社ioMemoryシリーズを搭載した、IIJ GIO P2パブリックリソースの専有タイプ仮想サーバを利用できます。
  • 低レイテンシーの ioMemoryを搭載したサーバに、更新用データベースを構成することができます。
[効果]
  • 非常に高いI/O性能により、高度なデータベースチューニングを行うことなく、I/Oボトルネックを解消し、データベース性能を向上できます。
システム概要図
対応するデザインパターン

MySQLレプリケーションと高可用性構成

  • IIJ GIOサービスのMySQLノードサーバを3台以上利用したレプリケーションを構成できます。
  • 1台のマスターサーバと2台以上のスレーブサーバで構成し、スレーブサーバは参照専用として構成されます。
  • MHA(mysql-master-ha)を構成することで、更新系クエリをMySQLマスターサーバに付与する仮想IPアドレスに発行することができます。
  • 仮想IPアドレスはMHAが管理し、マスターサーバ障害時には、スレーブサーバに仮想IPが移動することにより、自動フェイルオーバーを実現します。
[効果]
  • 従来のMySQLレプリケーション構成を活用することで、障害時の停止時間を最小限にできます。
システム概要図
対応するデザインパターン

大容量ファイル・大量アクセスファイルをCDNから快適に配信

Webコンテンツキャッシュの活用

  • IIJ GIOコンテンツアクセラレーションサービスのコンテンツキャッシュを利用できます。
  • 通常アクセスは直接Webサーバにアクセスし、大容量ファイルや一斉配信の応答など、大量のアクセスが予想される特定ファイルをキャッシュします。
  • 利用者からのアクセス時にキャッシュにデータが存在していない場合は、オリジンサーバへ問い合わせをしてキャッシュします。
[効果]
  • 大容量のゲームデータや特定ファイルへの大量アクセスが見込めるパッチデータなど、短期間かつ急激なトラフィック増加に対してスケーラブルに対応し、快適な配信環境を実現できます。
  • DDoS攻撃の特性を持つ通信を受け取った場合には、攻撃を自動的に検知し、適切な防御を実施できます。
システム概要図
対応するデザインパターン

構成サンプル

構成サンプル図

サンプル例

  • 1Gbps未満のトラフィック(キャッシュから配信するトラフィックを除く)を処理。
用途 サービス品目 中規模数量 備考
ファイアウォール IIJ GIOインフラストラクチャーP2 パブリックリソース
FW+LB/D 冗長 1000Mbps
1
ロードバランサ
ファイアウォール IIJ GIOインフラストラクチャーP2 パブリックリソース
FW+LB/D 100Mbps
1
ロードバランサ
Webサーバ IIJ GIOインフラストラクチャーP2 パブリックリソース
VB12-24
30
MySQLマスタDBサーバ IIJ GIOインフラストラクチャーP2 パブリックリソース
VD16-192-FIPX
1 ioMemory
MySQLスレーブDBサーバ IIJ GIOインフラストラクチャーP2 パブリックリソース
VD16-192-FIPX
2 ioMemory
MHAマネージャ IIJ GIOインフラストラクチャーP2 パブリックリソース
VB4-6
1
オリジンサーバ IIJ GIOインフラストラクチャーP2 パブリックリソース
VB8-12
1
Webコンテンツキャッシュ IIJ GIOコンテンツアクセラレーションサービス 1 従量課金

※本構成は実際の性能を保証するものではありません。

関連情報

ベストプラクティス
その他のベストプラクティスを探す(一覧へ)