ゲームセッション配置のイベン通知を設定 - Amazon GameLift

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

ゲームセッション配置のイベン通知を設定

イベント通知を使用して、個々のプレイスメントリクエストのステータスをモニタリングできます。プレイスメントアクティビティが多いすべてのゲームにイベント通知を設定することをおすすめします。

イベント通知を設定するためには二つのオプションがあります。

  • キューを使用して Amazon Simple Notification Service (Amazon SNS) トピックに対して Amazon GameLift にイベント通知をパブリッシュさせます。

  • 自動的にパブリッシュされる Amazon EventBridge イベントとイベント管理ツール一式を使用します。

Amazon GameLift から生成されるゲームセッションプレイスメントイベントのリストについては、「ゲームセッションプレイスメントイベント」を参照してください。

SNS トピックの設定

Amazon GameLift を使用して、ゲームセッションキューで生成されたすべてのイベントを 1 つのトピックにパブリッシュします。

Amazon GameLift イベント通知用 SNS トピックのセットアップ
  1. AWS Management Console にサインインし、Amazon SNS コンソール (https://console.aws.amazon.com/sns/v3/home) を開きます。

  2. SNS [トピック] ページから [トピックを作成] を選択し、トピックを作成する手順に従います。

  3. [アクセスポリシー] で、以下の作業を行います。

    1. [詳細設定] 方法を選択します。

    2. JSON オブジェクトの次の太字のセクションを既存のポリシーに追加します。

      { "Version": "2008-10-17", "Id": "__default_policy_ID", "Statement": [ { "Sid": "__default_statement_ID", "Effect": "Allow", "Principal": { "AWS": "*" }, "Action": [ "SNS:GetTopicAttributes", "SNS:SetTopicAttributes", "SNS:AddPermission", "SNS:RemovePermission", "SNS:DeleteTopic", "SNS:Subscribe", "SNS:ListSubscriptionsByTopic", "SNS:Publish" ], "Resource": "arn:aws:sns:your_region:your_account:your_topic_name", "Condition": { "StringEquals": { "AWS:SourceAccount": "your_account" } } }, { "Sid": "__console_pub_0", "Effect": "Allow", "Principal": { "Service": "gamelift.amazonaws.com" }, "Action": "sns:Publish", "Resource": "arn:aws:sns:your_region:your_account:your_topic_name", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:gamelift:your_region:your_account:gamesessionqueue/your_queue_name" } } } ] }
    3. (オプション) リソースポリシーに条件を追加して、トピックにアクセス制御を追加します。

  4. [Create topic] (トピックの作成) を選択します。

  5. SNS トピックを作成したら、キューの作成時にそのトピックをキューに追加するか、既存のキューを編集して追加します。

サーバー側の暗号化を使用して SNS トピックをセットアップする

サーバー側の暗号化 (SSE) では、機密データを暗号化されたトピックに保存できます。SSE は、AWS Key Management Service (AWS KMS) のマネージドキーを使用して、Amazon SNS トピック内のメッセージの内容を保護します。Amazon SNS によるサーバー側の暗号化の詳細については、Amazon Simple Storage Service 開発者ガイドの「保管時の暗号化」を参照してください。

サーバー側の暗号化を使用して SNS トピックを設定する方法については、以下のトピックを確認してください。

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 は、すべてのゲームセッションプレイスメントイベントを EventBridge に自動的に投稿します。EventBridge を使用すると、処理するためにイベントをターゲットにルーティングするルールを設定できます。例えば、イベント PlacementFulfilled を、ゲームセッションに接続する前のタスクを処理する AWS Lambda 関数にルーティングするルールを設定できます。Eventbridge の詳細については、Amazon EventBridge ユーザーガイドAmazon EventBridge とはを参照してください。

Amazon GameLift キューで使用する EventBridge ルールの例を以下に示します。

Amazon GameLift のすべてのキューからのイベントにマッチします

{ "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" ] }