ゲームセッション配置のイベント通知を設定
イベント通知を使用して、個々のプレイスメントリクエストのステータスをモニタリングできます。プレイスメントアクティビティが多いすべてのゲームにイベント通知を設定することをおすすめします。
イベント通知を設定するためには二つのオプションがあります。
-
キューを使用して Amazon GameLift Servers から Amazon Simple Notification Service (Amazon SNS) トピックにイベント通知を発行します。
-
自動的にパブリッシュされる Amazon EventBridge イベントとイベント管理ツール一式を使用します。
Amazon GameLift Servers から生成されるゲームセッションの配置イベントのリストについては、「ゲームセッション配置イベント」を参照してください。
重要
ハイボリュームプレイスメントシステムでは、FIFO トピックではなく、標準 (非FIFO) Amazon SNS トピックを使用することをお勧めします。FIFO トピックは標準トピックよりも発行制限が低く、高負荷時にスロットリング例外が発生する可能性があります。FIFO トピックでスロットリングが発生すると、キュー配置通知が失われる可能性があります。
SNS トピックの設定
Amazon GameLift Servers を使用して、ゲームセッションキューで生成されたすべてのイベントを 1 つのトピックにパブリッシュします。
Amazon GameLift Servers イベント通知用の SNS トピックをセットアップするには
AWS マネジメントコンソール にサインインして Amazon SNS コンソール (https://console.aws.amazon.com/sns/v3/home
) を開きます。 -
SNS [トピック] ページから [トピックを作成] を選択し、トピックを作成する手順に従います。
-
[アクセスポリシー] で、以下の作業を行います。
-
[詳細設定] 方法を選択します。
-
JSON オブジェクトの次の太字のセクションを既存のポリシーに追加します。
-
(オプション) リソースポリシーに条件を追加して、トピックにアクセス制御を追加します。
-
-
[トピックを作成] を選択します。
-
SNS トピックを作成したら、キューの作成時にそのトピックをキューに追加するか、既存のキューを編集して追加します。
サーバー側の暗号化を使用して SNS トピックをセットアップする
サーバー側の暗号化 (SSE) では、機密データを暗号化されたトピックに保存できます。SSE は、AWS Key Management Service (AWS KMS) のマネージドキーを使用して、Amazon SNS トピック内のメッセージの内容を保護します。Amazon SNS によるサーバー側の暗号化の詳細については、「Amazon Simple Notification Service デベロッパーガイド」の「保管時の暗号化」を参照してください。
サーバー側の暗号化を使用して SNS トピックを設定する方法については、以下のトピックを確認してください。
-
「AWS Key Management Service デベロッパーガイド」の「キーの作成」
-
「Amazon Simple Notification Service デベロッパーガイド」の「トピックの SSE を有効にする」
KMS キーを作成するときは、次の KMS キーポリシーを使用します。
{ "Effect": "Allow", "Principal": { "Service": "gamelift.amazonaws.com" }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "*", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:gamelift:your_region:your_account:gamesessionqueue/your_queue_name" }, "StringEquals": { "kms:EncryptionContext:aws:sns:topicArn": "arn:aws:sns:your_region:your_account:your_sns_topic_name" } } }
EventBridge をセットアップする
Amazon GameLift Servers は、すべてのゲームセッションの配置イベントを EventBridge に自動的に投稿します。EventBridge を使用すると、処理するためにイベントをターゲットにルーティングするルールを設定できます。例えば、イベント PlacementFulfilled を、ゲームセッションに接続する前のタスクを処理する AWS Lambda 関数にルーティングするルールを設定できます。Eventbridge の詳細については、「Amazon EventBridge ユーザーガイド」の「Amazon EventBridge とは」を参照してください。
Amazon GameLift Servers キューで使用する EventBridge ルールの例を以下に示します。
すべての Amazon GameLift Servers キューのイベントに一致します
{ "source": [ "aws.gamelift" ], "detail-type": [ "GameLift Queue Placement Event" ] }
特定のキューからのイベントに一致します
{ "source": [ "aws.gamelift" ], "detail-type": [ "GameLift Queue Placement Event" ], "resources": [ "arn:aws:gamelift:your_region:your_account:gamesessionqueue/your_queue_name" ] }