Amazon Web Services ブログ
【Amazon Game Tech Night 開催報告】5/17 ゲームワークロードで AWS Graviton の活用
こんにちは、アマゾンウェブサービスジャパン合同会社 ソリューションアーキテクトの藤原です。
2022年5月17日に Amazon Game Tech Night を開催いたしました。以下にアーカイブ動画がございますので、詳細を確認されたい方はぜひこちらからご確認ください。
Amazon Game Tech Night とは?
Amazon Game Tech Night は、オンラインゲーム開発と運用に携わる開発者やインフラエンジニアを対象に、ゲームに特化しか技術情報や関連する AWS サービスの情報をお届けすることを目的としたイベントです。
2022年 6月28日 19:00 – 20:00 にも以下のイベントを開催予定ですので、興味のある方はぜひご参加ください!
Amazon Game Tech Night 〜 サーバー管理は大変ですか?ゲーム会社の社内システム担当の情シス必見 〜ファイルサーバーとアセット管理システムのマイグレーションと構成例〜
イベントの概要
今回の Game Tech Night は、ゲームワークロードでの AWS Graviton の活用というテーマで開催いたしました。
「コスト最適化はしたいけど、良いゲーム体験のためにパフォーマンスは維持したい。」というご要望はゲーム業界の皆様から幅広くいただいています。こういった要望に対して、幅広いゲームワークロードですぐにお試しいただける手法として AWS Graviton の導入があります。 AWS Graviton は AWS によって設計された、性能価格比に優れたプロセッサで、EC2、RDS、ECS Fargate、Lambda などでご利用いただけます。
こちらのテーマについて今回のイベントでは以下の3つの観点でご紹介いたしました。
- AWS Graviton のご紹介とゲームワークロードへの活用例
- ゲームワークロードにおける AWS Graviton への移行方法
- AWS Graviton のパフォーマンス測定
AWS Graviton のご紹介とゲームワークロードへの活用例
はじめに、ソリューションアークテクト三尾から、AWS Graviton 自体の概要を踏まえて、どのようなゲームワークロードに利用できるのか、また具体的にどのような事例があるのかという観点でご紹介しました。
動画の該当箇所
AWS におけるゲームバックエンドの典型的な構成の例が上記の図になります。この赤色のチェックマークが付いている項目にて、AWS Graviton を利用することができます。API Server、Game Server 、Batch Server および Build Server においては、 EC2や、ECS/EKS などのコンテナサービスが利用されるケースが多くあります。これらのサービスは AWS Graviton をご利用いただくことが可能です。
特に Game Server に関しては、マネージドサービスとして、Amazon GameLift を提供しています。Amazon GameLift における GameLift FleetIQ という機能では、ゲームサーバーグループというゲームサーバーを管理する設定があり、ここでGraviton2搭載インスタンス(c6g, m6g, r6g)を選択可能になっています。データベース、キャッシュのマネージドサービス利用されるAmazon RDS、Amazon Aurora、Amazon ElastiCache においても AWS Graviton に対応しています。ただし、インスタンスクラスやノードタイプによっては対応バージョンに制限があるため、各サービスのドキュメントページを確認する必要があります。
このようにAWS Graviton はゲームワークロードにおいて適用できる範囲が非常に広く、コスト最適化の第一ステップとして、移行しやすいコンポーネントから順々に移行を進めていただくことが可能です。
最後に、事例として、Epic Games 社のFortnite というタイトルにおけるゲームサーバおよびボイスチャット機能に AWS Graviton が利用されていることを紹介させていただきました。詳細に関しては、こちらの記事に記載されておりますので、ご参照ください。
ゲームワークロードにおける AWS Graviton への移行方法
続いて長田から、実際にどのように AWS Graviton への移行に取り組んでいくのかというテーマでお話をしました。
一般的な移行では、事前調査として、最初に対象となるワークロードの依存関係を明らかにする必要があります。その後、洗い出した依存関係に含まれるものがArm対応をしているかどうか確認していくという流れになります。この際に、効率的な情報収集の方法として「Getting started with AWS Graviton」をご紹介しました。こちらには、推奨コンパイルオプションやGravitonで動作する各種アプリケーションの推奨バージョンなどの対応をサポートする情報が掲載されています。
また、(1)DB・キャッシュ、(2)APIサーバ、(3)ゲームサーバ の3パターンに大別して、各パターンの移行のポイントおよび注意点をご紹介しました。(1)DB・キャッシュ に関してはマネージドサービスを利用している場合、比較的容易に移行することが可能です。一方で、(2)APIサーバ、(3)ゲームサーバ に関しては、利用するアプリケーションの言語別にも対応が異なります。上記のとおりご自身のゲームワークロードの環境にあわせて対応を検討することが必要です。
AWS Graviton のパフォーマンス測定
次に、中川から、実際に、AWS Graviton のパフォーマンス測定をどのように行なっていくのかということをご紹介しました。動画の該当箇所
パフォーマンス評価の方法としては大きくわけて、プロセッサそのものの性能を把握するために、ベンチマークツールを利用するパターンと、負荷試験等により実ワークロードでパフォーマンスを測定するパターンがあることをお伝えしました。特にゲームワークロードでは、イベント時における急激なスパイクや時間帯に応じたリクエスト増減など、アクセスパターンが特有であることが多く、後者の実ワークロードを想定して試験を実施することが非常に重要となっております。
今回、このような試験を実施するためのツールのサンプルとして、AWS が提供するソリューションである「Distributed Load Testing on AWS」をご紹介しました。また、実際にゲームのワークロードを想定し、c5.large、c6.large で比較を実施した結果、秒間に処理できるリクエスト数が向上するような結果となったことを確認しました。今回のセッションでは、実施していませんが、この「Distributed Load Testing on AWS」は Junit のシナリオを利用することも可能で、非常に柔軟なテストを実施可能になっています。
最後に
ゲームワークロードにおいては、AWS Graviton を適用できるコンポーネントが非常に多く、ゲームワークロードにおけるコスト最適化の第一ステップとして非常に有効な選択肢となっています。特に DB・キャッシュ用途として Amazon RDS や Amazon ElastiCache などマネージドサービスをご利用されている場合は、容易に移行できる可能性が高いのでぜひご検討ください。
また、次回 Amazon Game Tech Night では6/28(火) にゲーム会社の情シスの方向けのセッションを提供いたします。ご興味のある方はぜひご参加ください!
Amazon Game Tech Night 〜 サーバー管理は大変ですか?ゲーム会社の社内システム担当の情シス必見 〜ファイルサーバーとアセット管理システムのマイグレーションと構成例〜
ソリューションアーキテクト 藤原