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 | 従量課金 |
※本構成は実際の性能を保証するものではありません。
関連情報
ベストプラクティス
その他のベストプラクティスを探す(一覧へ)
- お問い合わせ・見積依頼はお気軽にお客様に最適なサービスをご提案します
-
メールフォームでのお問い合わせお問い合わせ
電話でのお問い合わせ IIJインフォメーションセンター 03-5205-4466
(土日祝日除く 9:30~12:00、13:00~17:30)ログインアカウントをお持ちのお客様はIIJサービスオンラインからお問い合わせください