Amazon GameLift
开发人员指南 (版本 )
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 Amazon AWS 入门

设置 VPC 对等连接

使用 Amazon Virtual Private Cloud (VPC) 对等连接支持您的游戏服务器与其他 AWS 资源 (例如 Web 服务或存储库) 直接私下通信。本主题提供了有关在您的 Amazon GameLift 游戏服务器的 VPC 和非 Amazon GameLift 资源的 VPC 之间设置对等连接的指南。有关 VPC 对等连接如何与 Amazon GameLift 结合使用的更多信息,请参阅AWS 资源的联网

如果您已熟悉 Amazon VPC 和 VPC 对等连接,请注意,设置与 Amazon GameLift 游戏服务器对等的方式略有不同。由于您不具备游戏服务器进程的 VPC 的访问权限 (该权限由 Amazon GameLift 服务控制),因此您无法为其创建 VPC 对等连接请求。而应首先使用非 Amazon GameLift 资源预授权 VPC,以接受来自 Amazon GameLift 的对等请求。然后让 Amazon GameLift 请求您刚刚授权的 VPC 对等连接。Amazon GameLift 会自动创建对等连接、设置路由表并根据需要配置连接。

要设置 VPC 对等连接,请按以下步骤操作:

  1. 为每个 VPC 获取标识符。

    为要对等的两个 VPC 获取以下信息:

    • Amazon GameLift 游戏服务器的 VPC – 您的游戏服务器进程作为一个 EC2 实例队组部署在 Amazon GameLift 中。每个队组都自动放置在自己的 VPC 中,后者由 Amazon GameLift 服务进行管理。由于您没有访问游戏服务器进程的 VPC 的权限,因此您通过其关联队组识别 VPC。要识别要为其建立 VPC 对等连接的游戏服务器进程的集合,您需要 Amazon GameLift 队组 ID。

    • 您的非 Amazon GameLift AWS 资源的 VPC – 您可以使用在 AWS 上运行且由您有权访问的 AWS 账户管理的任何资源建立 VPC 对等连接。如果您尚未为这些资源创建 VPC,请参阅 Amazon VPC 入门,以帮助创建 VPC 并向其添加资源。创建 VPC 后,您可以通过登录 Amazon VPC 的 AWS 管理控制台并查看您的 VPC 来找到 VPC ID。

    注意

    在请求对等时,两个 VPC 必须位于相同区域中。您的 Amazon GameLift 队组游戏服务器进程的 VPC 与队组在相同区域中。

  2. 获取 AWS 账户 ID 和凭证。

    您需要以下两个 AWS 账户的 ID 和登录凭证。您可以通过登录 AWS 管理控制台并查看您的账户设置来找到 AWS 账户 ID。要获取凭证,请转到 IAM 控制台。

    • 用于管理您的 Amazon GameLift 游戏服务器的 AWS 账户。

    • 用于管理您的非 Amazon GameLift 资源的 AWS 账户。

    如果您对 Amazon GameLift 和非 Amazon GameLift 资源使用相同账户,则仅需要一个账户的 ID 和凭证。

  3. 使用非 Amazon GameLift 资源授权 VPC 对等连接。

    在此步骤中,您将接受将来从 Amazon GameLift 发出的对等到非 Amazon GameLift 资源的 VPC 的请求。对于此操作,请使用管理您的非 Amazon GameLift 资源的账户的凭证。

    要授权 VPC 对等连接,请调用 Amazon GameLift 服务 API CreateVpcPeeringAuthorization() 或使用 AWS CLI 命令 create-vpc-peering-authorization。确定以下信息:

    • 对等 VPC ID – 这是针对非 Amazon GameLift 资源的 VPC。

    • Amazon GameLift AWS 账户 ID – 这是针对您用于管理 Amazon GameLift 队组的账户。

    授权 VPC 对等连接后,授权将在 24 小时内保持有效,除非您将其撤销。您可以使用以下操作管理您的 VPC 对等连接授权:

  4. 在 Amazon GameLift 队组的 VPC 和非 Amazon GameLift 资源的 VPC 之间请求对等。

    在您拥有 VPC 对等连接的有效授权后,就可以触发 Amazon GameLift 以请求对等。对于此操作,请使用管理您的 Amazon GameLift 游戏服务器的账户的凭证。

    要请求 VPC 对等连接,请调用 Amazon GameLift 服务 API CreateVpcPeeringConnection() 或使用 AWS CLI 命令 create-vpc-peering-connection。确定以下用于标识要对等的两个 VPC 的信息:

    • 对等 VPC ID 和 AWS 账户 ID – 这是针对您的非 Amazon GameLift 资源和您用于管理这些资源的账户的 VPC。使用的 VPC ID 必须与有效授权上的一个 ID 匹配。

    • 队组 ID – 此信息标识您的 Amazon GameLift 游戏服务器进程的 VPC。

    您可以使用以下操作管理您的 VPC 对等连接:

    创建新的队组时,您可以请求 VPC 对等连接。有关更多信息,请参阅 创建队组和 VPC 对等连接

  5. 跟踪 VPC 对等连接。

    请求 VPC 对等连接是一个异步操作。要跟踪对等请求的状态并处理成功或失败的案例,请使用以下选项之一:

    • 使用 DescribeVpcPeeringConnections() 持续轮询。此操作将检索 VPC 对等连接记录,包括请求的状态。如果已成功创建对等连接,则连接记录也包含分配给 VPC 的私有 IP 地址的 CIDR 块。

    • 使用 DescribeFleetEvents() 处理与 VPC 对等连接关联的队组事件,包括成功事件和失败事件。

    连接请求失败的常见原因:

    • 未找到请求的连接的授权。这可能意味着现有授权不再有效,或从未存在。此问题的常见原因是区域混合。验证您的授权和请求是否使用了相同区域。

    • 重叠 CIDR 块 (请参阅无效的 VPC 对等连接配置)。分配给对等的 VPC 的 IPv4 CIDR 块无法重叠。您的 Amazon GameLift 队组的 VPC 的 CIDR 块是自动分配的,无法更改。您可以调用 DescribeVpcPeeringConnections() 来查找此 CIDR 块。要解决此问题,您需要将您的非 Amazon GameLift 资源的 VPC 的 CIDR 块更改为非重叠的范围。

    • 队组未激活。如果您在 CreateFleet() 请求中请求 VPC 对等连接,则新的队组可能无法进入已激活状态。在这种情况下,对等连接不会成功。