与来自车队的其他AWS资源通信 - Amazon GameLift
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

与来自车队的其他AWS资源通信

本主题介绍如何设置游戏服务器软件,以便在运行时直接安全地与其他AWS资源通信 GameLift 实例。例如,您可能要:

  • 将实例日志数据发送到 Amazon CloudWatch 日志。

  • 捕获 CloudWatch 指标,以更好地了解实例性能。

  • 获取远程存储在 Amazon S3 账户中的敏感信息(例如密码)

  • 动态读写在 Amazon DynamoDB 或其他数据存储服务中存储的游戏数据,例如游戏模式或清单。

  • 使用 Amazon SQS 直接向实例发送信号。

  • 访问在 Amazon EC2 上部署并运行的自定义资源。

当您使用 GameLift,机队和实例将分配给您的帐户,但它们由 GameLift 服务。为了使托管软件与您拥有的AWS资源进行交互,您需要为授予有限的访问权限 GameLift 服务。您可以使用以下任一方法建立此访问:

  • 创建 AWS Identity and Access Management (IAM) 角色。该选项可用于访问直接与 AWS 服务关联的资源,例如 Amazon S3 存储桶、Amazon CloudWatch 指标或 AWS Lambda 脚本。这是推荐的最简单方法。

  • 设置 Amazon Virtual Private Cloud (VPC)对等连接。这是一项高级功能,而不是常用解决方案。

使用访问AWS资源 IAM 角色

必须完成以下任务,您的游戏服务器或其他应用程序在 GameLift 实例上运行时才能访问您的 AWS 资源。

  1. 设置用于 GameLift 服务的 IAM 角色 按照 设置用于 GameLift 访问的角色 上的说明创建一个 IAM 角色。角色包含一组对您的 AWS 资源进行有限访问的权限,并指定可以代入角色的实体(在此例中为 GameLift 服务)。创建角色后,记录新角色的 Amazon 资源名称 (ARN),您在创建队组时需要该名称。

  2. 将服务角色与 GameLift 车队。 创建服务角色后,您需要设置游戏服务器和其他应用程序,以便它们在 GameLift 实例上运行时代入该服务角色。为此,您必须向队组提供服务角色 ARN。这样,在队组的任何实例上运行的应用程序可以代入该角色,并获取必要的访问凭证。

    只能在创建队组时指定服务角色。创建了队组后,将无法添加或更改角色 ARN。一个 ARN 只能提供给一个队组。

    有关向队组提供服务角色 ARN 的帮助,请参阅使用自定义游戏生成包部署 GameLift 队组

  3. 将代码添加到应用程序以便代入服务角色。 任何在 GameLift 实例上运行的应用程序都可以代入 IAM 角色(前提是该角色与队组关联)。这包括游戏服务器和其他可执行文件,如安装脚本和守护程序。在创建队组和安装生成包期间、在启动或停止服务进程和游戏会话时,或者在响应游戏事件时,应用程序都可以访问资源。

    在应用程序代码中,在访问 AWS 资源之前,应用程序必须先通过以下过程代入服务角色:调用 AWS Security Token Service API AssumeRole,并指定与队组关联的相同服务角色 ARN。此操作返回一组临时凭证,以便应用程序能够访问 AWS 资源。了解更多有关使用临时安全凭证请求对 AWS 资源的访问权限的信息。

通过VPC对等访问AWS资源

您可以使用 Amazon Virtual Private Cloud (VPC) 对等连接,在运行于 GameLift 实例上的应用程序与另一个 AWS 资源之间建立安全快速的通信。Amazon VPC 是您定义的虚拟网络,它包含一组通过您的 AWS 账户管理的资源。每个 GameLift 队组都有它自己的 VPC。借助 VPC 对等连接,您可以在队组的 VPC 与其他 AWS 资源的 VPC 之间建立直接网络连接。

例如,您可能有一组支持游戏的 Web 服务,例如玩家身份验证或社交网络。您可以为这些资源设置一个 VPC,然后使用 GameLift 的 VPC 对等连接,让游戏服务器能够对 Web 服务发出直接网络调用。借助 VPC 对等连接,游戏服务器进程中的调用将产生最低延迟,且不会对外公开,因为它们不是通过公共 Internet 进行路由的。

GameLift 简化了为游戏服务器设置 VPC 对等连接的过程。它会处理对等请求、更新路由表,并根据需要配置连接。有关如何为游戏服务器设置 VPC 对等连接的更多信息,请参阅GameLift 的 VPC 对等连接

请参阅有关 Amazon 的虚拟私有云VPC 对等连接的更多信息。您可以将您的 GameLift 队组与您有权访问的 AWS 账户中的 VPC 建立对等连接。