- AWS ソリューションライブラリ›
- AWS でのカスタムゲームバックエンドホスティングに関するガイダンス
AWS でのカスタムゲームバックエンドホスティングに関するガイダンス
概要
このガイダンスでは、Amazon GameLift でのゲームサーバーホスティング、WebSockets でのチャット、Amazon Neptune でのフレンドリストとレコメンデーションなどのゲームバックエンド機能に加えて、カスタムで軽量なクロスプラットフォームゲーム ID システムをデプロイする方法をご紹介します。ID システムは、ゲスト、Amazon Cognito、Steam、Sign-in with Apple、Google Play、Facebook など、さまざまな認証オプションをサポートしています。また、ガイダンスを簡単にカスタマイズして、コンソールなどの追加プラットフォームをサポートすることもできます。ガイダンスは、カスタムバックエンド機能を使用して簡単に拡張できるように設計されており、サーバーレスコンポーネントとコンテナ化されたバックエンドコンポーネントの両方向けのテンプレートが含まれています。
さらに、このガイダンスには、アンリアルエンジン5、 Unity 2021 (およびそれ以降のバージョン)、およびGodot 4ゲームエンジン用のソフトウェア開発キット (SDK) とサンプルコードが用意されています。SDK は ID コンポーネントおよびサンプルバックエンド機能と統合します。
仕組み
このアーキテクチャ図は、軽量でスケーラブルなカスタムクロスプラットフォームゲーム ID コンポーネントをデプロイする方法と、その ID を使用して AWS のカスタムゲームバックエンドコンポーネントに対して認証する方法を示しています。
自信をもってデプロイ
デプロイの準備はできていますか? GitHub のサンプルコードで詳細なデプロイ手順を確認し、そのままデプロイするか、またはニーズに合わせてカスタマイズしましょう。
Well-Architected の柱
上記のアーキテクチャ図は、Well-Architected のベストプラクティスを念頭に置いて作成されたソリューションの例です。完全に Well-Architected であるためには、可能な限り多くの Well-Architected ベストプラクティスに従う必要があります。
このガイダンスのカスタム ID コンポーネントでは、ユーザーのリクエストを追跡する AWS X-Ray を利用し、 Lambda Powertools を利用してバックエンドロジック内から詳細な情報を提供します。さらに、本ガイダンスのすべてのコンポーネントは Amazon CloudWatch を使用して、仮想プライベートクラウド (VPC) フロー、 API ゲートウェイアクセス、 Amazon S3 アクセス、 Lambda 完了、AWS Fargate タスクのログを追跡しています。最後に、 AWS CDK では、環境全体で制御された変更と一貫した設定が可能になり、セキュリティとコンプライアンスのニーズを満たすのに役立ちます。
このガイダンスのカスタム ID コンポーネントはプレイヤー ID と認証を管理して、強固な ID 管理をサポートしています。このガイダンスの他のすべての機能は、ID コンポーネントが提供するパブリックキーと JSON ウェブトークンを検証することにより、アクセスを保護します。カスタム ID コンポーネントは、一般的なウェブエクスプロイトからアプリケーションを保護するウェブアプリケーションファイアウォールである AWS WAF によって保護されています。また、すべてのデータは転送時だけでなく、保管時にも暗号化されます。
このガイダンスでは主に、AWS リージョン内の複数のアベイラビリティーゾーン (AZ) で自動的に高可用性を実現するフルマネージドサービスを活用します。Fargate では、高可用性のためにマルチ AZ 構成が使用され、 DynamoDB のすべてのデータベーステーブルはポイントインタイムリカバリで保護されています。
このガイダンスは、多くの異なるアプローチを組み合わせて、パフォーマンスを向上させるさまざまな機能を提供します。まず、このガイダンスで選択されているサービスは、サーバーレスサービスの自動スケーリングコンポーネントを活用することで、ゲームの起動やその他のトラフィックのスパイクに対して大規模に対応できるように設計されています。次に、カスタム ID コンポーネントから提供される X-Ray データにより、開発者は混雑状況を見つけ、パフォーマンスを最適化するために必要に応じてガイダンスを調整できます。最後に、バックエンドコンポーネントのレイテンシーを最適化するために、JSON ウェブトークンを検証するパブリックキーが CloudFront を通じて提供されます。
このガイダンスでは、可能な限りサーバーレスコンポーネントを活用するため、請求は実際に使用したリソースに対してのみ発生します。さらにコストを抑えるには、 Lambda と Fargate の両方のコストを最適化するために利用できる AWS 貯蓄プランを検討してください。 また、オンデマンドの DynamoDB テーブルから自動スケーリングプロビジョニングキャパシティーに移行すると、ベースライントラフィックがわかっているときに DynamoDB のリザーブドキャパシティーを使用してコストを削減できます。
このガイダンスで使用されるすべてのサービスは、 API Gateway 、 Lambda 、 DynamoDB 、 Amazon S3 、 Fargate 、 Secrets Manager 、 AWS WAF など、需要に応じてスケーリングするように設定されており、必要なリソースは最小限です。
このガイダンスのサーバーレスサービスのコンポーネントは自動的にスケールするので、必要最小限のリソースだけで継続的に負荷に合わせながらコンポーネントをスケールできます。これにより、未使用の容量のプロビジョニングを回避し、インフラストラクチャの環境への影響を軽減できます。
関連コンテンツ
免責事項
サンプルコード、ソフトウェアライブラリ、コマンドラインツール、概念の実証、テンプレート、またはその他の関連技術 (私たちの担当者から提供される前述のものを含む) は、AWS カスタマーアグリーメント、またはお客様と AWS との間の関連文書契約 (いずれか該当する方) に基づき、AWS コンテンツとしてお客様に提供されるものです。お客様は、この AWS コンテンツを、お客様の本番アカウント、または本番データもしくはその他の重要なデータで使用すべきではありません。お客様は、サンプルコードなどの AWS コンテンツを、お客様固有の品質管理手法および基準に基づいて、本番グレードでの使用に適したテスト、セキュリティ確保、および最適化を行う責任を負います。AWS コンテンツのデプロイには、Amazon EC2 インスタンスの実行や Amazon S3 ストレージの使用など、AWS の課金対象リソースを作成または使用するための AWS 料金が発生する場合があります。
今日お探しの情報は見つかりましたか?
ぜひご意見をお寄せください。ページのコンテンツ品質の向上のために役立てさせていただきます