[SEO 小見出し]
重要: このガイダンスでは AWS CodeCommit を利用する必要がありますが、同サービスは新規のお客様にはご利用いただけなくなりました。AWS CodeCommit の既存のお客様は、これまでどおり、このガイダンスを引き続き利用およびデプロイできます。
このガイダンスは、ゲームデベロッパーがゲームクライアントとバックエンドサービスからテレメトリイベントを取り込む、体系化されたモジュール式のサーバーレス分析パイプラインを実装するのに役立ちます。このガイダンスは、ほぼリアルタイムの分析とバッチ分析のユースケースの両方を対象としています。AWS Cloud Development Kit (AWS CDK) を使用すると、複数の AWS アカウントとリージョンにわたって、パイプラインを継続的に統合してデプロイできます。さらに、このガイダンスのサーバーレスサービスは、ゲーム開発に費用対効果の高いアプローチを提供します。このガイダンステンプレートをデプロイしたら、プレイヤーデータの収集とクエリ、インサイトの収集、ゲームの改善を行う準備が整います。
ご注意: [免責事項]
アーキテクチャ図
-
アーキテクチャ
-
DataOps CI/CD
-
アーキテクチャ
-
このアーキテクチャ図は、最新の DataOps パイプラインの概要を示しています。DataOps 継続的インテグレーションおよび継続的デプロイメント (CI/CD) パイプラインの場合は、もう一方のタブを開きます。
ステップ 1
データプロデューサーからゲームテレメトリイベントを AWS クラウドに送信します。ステップ 2
Amazon Kinesis Data Streams を使用してゲームからストリーミングデータをキャプチャし、Amazon Kinesis Data Firehose と Amazon Managed Service for Apache Flink を使用してほぼリアルタイムでデータを処理します。ステップ 3
REST API エンドポイントに Amazon API Gateway を提供して、データプロデューサーを登録します。ゲーム設定と API アクセスキーを Amazon DynamoDB に保存します。ステップ 4
Amazon Managed Service for Apache Flink でストリーミングイベントデータをキャプチャします。Amazon CloudWatch でカスタムメトリクスを発行する。ステップ 5
CloudWatch のカスタムメトリックスから運用ダッシュボードとアラームを作成します。ステップ 6
Amazon Simple Notification Service (Amazon SNS) を使用して、重要なアラーム通知をデータ利用者に配信します。ステップ 7
Kinesis Data Firehose を使用してバッチ処理されたテレメトリデータを処理します。ステップ 8
生のテレメトリデータと処理済みのテレメトリデータの両方を Amazon Simple Storage Service (Amazon S3) に保存します。ステップ 9
保存されたテレメトリデータを AWS Glue で分析用に抽出、変換、ロード (ETL) します。ステップ 10
Amazon Athena を使用して、準備されたデータをインタラクティブにクエリして分析します。ステップ 11
Amazon QuickSight を使用してビジネスインテリジェンス (BI) データを視覚化します。ステップ 12
継続的インテグレーションと継続的デプロイ (CI/CD) パイプラインを使用して、体系化されたアプリケーションをデプロイして運用します。ステップ 13
ゲームテレメトリーデータから BI、データ視覚化、機械学習 (ML) 機能を LiveOps に提供して、重要なビジネスインサイトを生成します。 -
DataOps CI/CD
-
このアーキテクチャ図は、DataOps CI/CD パイプラインを示しています。最新化された DataOps パイプラインの概要については、もう 1 つのタブを開いてください。
ステップ 1
AWS Cloud Development Kit (AWS CDK) を使用して体系化されたインフラストラクチャを構築してテストし、AWS CloudFormation テンプレートを合成します。ステップ 2
インフラストラクチャコードの変更が AWS CodeCommit リポジトリにコミットされたら、CI/CD パイプラインを開始します。ステップ 3
Docker コンテナや CloudFormation テンプレートなどのコンパイル済みインフラストラクチャアセットを、Amazon Elastic Container Registry (Amazon ECR) と Amazon S3 に保存します。ステップ 4
CloudFormation Stack を使用して、統合とシステムテスト用のインフラストラクチャを品質保証 (QA) AWS アカウントにデプロイします。ステップ 5
自動テストスクリプトを実行して、デプロイされたインフラストラクチャが AWS CodeBuild プロジェクト内で機能していることを確認します。ステップ 6
CloudFormation スタックを使用して、テストしたインフラストラクチャをプロダクション (PROD) AWS アカウントにデプロイします。
今すぐ始める
このガイダンスをデプロイ
Well-Architected の柱
AWS Well-Architected フレームワークは、クラウドでシステムを構築する際に行う決定の長所と短所を理解するのに役立ちます。フレームワークの 6 つの柱により、信頼性が高く、安全かつ効率的で、費用対効果が高く、持続可能なシステムを設計および運用するためのアーキテクチャのベストプラクティスを学ぶことができます。AWS マネジメントコンソールで無料で提供されている AWS Well-Architected Tool を使用し、各柱の一連の質問に回答することで、これらのベストプラクティスに照らしてワークロードを確認できます。
上記のアーキテクチャ図は、Well-Architected のベストプラクティスを念頭に置いて作成されたソリューションの例です。完全に Well-Architected であるためには、可能な限り多くの Well-Architected ベストプラクティスに従う必要があります。
-
運用上の優秀性
AWS のデベロッパーツール、特に CodeBuild、CodeCommit、および AWS CodePipeline を使用すると、アーキテクチャ全体の CI/CD をコード化されたアプリケーションとして実現できます。つまり、コードを変更することですべての操作を実行できるということです。さらに、CI/CD パイプラインは、QA 段階でこれらの変更の自動システムテストを実行して、潜在的な障害を本番環境に展開する前に事前にチェックできるようにします。すべてのアーキテクチャコンポーネントの運用ログが SNS 通知とともに CloudWatch に配信され、デプロイや運用上の問題が管理者に警告されます。
これらのツールは、オペレーターがアーキテクチャを把握できるようにするだけでなく、ガイダンスの初期デプロイとその後の変更をきめ細かく制御できるようにするために選択されています。つまり、オペレーターは、ユーザーに影響を与えることなく、変更を監視し、本番環境に対応していることを確認し、本番環境に影響する変更をロールバックできます。
-
セキュリティ
各テレメトリプロバイダー (データプロデューサー) は、テレメトリデータにアクセスして API Gateway に送信するための認証キー (DynamoDB に保存) を受け取ります。つまり、許可されたデータプロデューサーのみにアクセスキーが提供されます。認証キーを単一のソースで保存することで、ガイダンスによってデプロイされた API と AWS リソースを管理するのと同じ認証プロセスに頼ることができます。バックエンドアプリケーションは一時的な AWS 認証情報を使用して Guidance API と安全にやり取りできます。
さらに、API Gateway を介して送信されるすべてのテレメトリイベントは転送中に暗号化され、最終的に Amazon S3 に保存されるテレメトリイベントデータは保存時に暗号化されます。
-
信頼性
このガイダンスは、地域レベルと世界レベルの 2 つのレベルのレジリエンスを提供します。アーキテクチャのすべての地域コンポーネントは、AWS サーバーレス機能を使用しています。サーバーレス機能により、地域的な障害がなければ、各サービスが複数のアベイラビリティーゾーン (AZ) にわたって必要な機能を提供し続けることができます。地域的な障害が発生した場合、ガイダンスを別の AWS リージョンまたは別の AWS アカウントに再デプロイできます。
-
パフォーマンス効率
API Gateway などのサーバーレスコンポーネントは、テレメトリプロバイダーのパフォーマンス要件を満たすのに十分な弾力性と拡張性を備えているため、本ガイダンスに貢献しています。さらに、Amazon Kinesis はストリーミング分析のパフォーマンスをほぼリアルタイムで実現します。さらに、ガイダンスを体系化されたアプリケーションとして実装することで、DEV、TEST、QA ステージを自動的に追加できるため、ユーザーによる実験が可能になります。
-
コストの最適化
AWS Glue ではデータスキーマの自動クロールが可能なため、分析用に正しいスキーマを構築するという時間のかかる作業が不要になります。さらに、ガイダンスを体系化されたアプリケーションとして構成することで、適切なモジュールをさまざまなユースケースに適合させることができるため、コストを合理化できます。
-
持続可能性
Amazon S3 と AWS Glue はどちらも、サーバーレスでイベント駆動型のデータインジェストパターンをサポートしています。AWS Glue Jobs は、インフラストラクチャの管理と最適化の責任を AWS に相殺しました。Amazon S3 は、取り込まれたすべてのデータが Parquet 形式で保存されるため、データライフサイクルポリシーと効率的なファイルフォーマットと圧縮を実装しています。データは圧縮された Parquet 形式で変換および保存されるため、クエリごとのデータスキャンが減り、Guidance ワークロードに必要なコンピューティングリソースが少なくなります。
関連コンテンツ
Notorious Studios が AWS でプレイヤーリサーチのためのスケーラブルなゲーム分析パイプラインを構築
免責事項
サンプルコード、ソフトウェアライブラリ、コマンドラインツール、概念の実証、テンプレート、またはその他の関連技術 (私たちの担当者から提供される前述のものを含む) は、AWS カスタマーアグリーメント、またはお客様と AWS との間の関連文書契約 (いずれか該当する方) に基づき、AWS コンテンツとしてお客様に提供されるものです。お客様は、この AWS コンテンツを、お客様の本番アカウント、または本番データもしくはその他の重要なデータで使用すべきではありません。お客様は、サンプルコードなどの AWS コンテンツを、お客様固有の品質管理手法および基準に基づいて、本番グレードでの使用に適したテスト、セキュリティ確保、および最適化を行う責任を負います。AWS コンテンツのデプロイには、Amazon EC2 インスタンスの実行や Amazon S3 ストレージの使用など、AWS の課金対象リソースを作成または使用するための AWS 料金が発生する場合があります。
本ガイダンスにおける第三者のサービスまたは組織への言及は、Amazon または AWS と第三者との間の承認、後援、または提携を意味するものではありません。AWS からのガイダンスは技術的な出発点であり、アーキテクチャをデプロイするときにサードパーティのサービスとの統合をカスタマイズできます。