的 VPC 对等互连 Amazon GameLift Servers - Amazon GameLift Servers
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

的 VPC 对等互连 Amazon GameLift Servers

本主题提供有关如何在您之间建立 VPC 对等连接的指导 Amazon GameLift Servers-托管的游戏服务器和你的其他非托管游戏服务器-Amazon GameLift Servers 资源的费用。使用亚马逊虚拟私有云 (VPC) Virtual Private Cloud 对等连接使您的游戏服务器能够与您的 Amazon 其他资源(例如 Web 服务或存储库)进行直接私密通信。您可以与任何在您有权访问的 Amazon 账户上运行 Amazon 并由其管理的资源建立 VPC 对等关系。

注意

VPC 对等连接是一项高级特征。要了解使您的游戏服务器能够与其他 Amazon 资源进行直接和私密通信的首选选项,请参阅与舰队中的其他 Amazon 资源进行沟通

如果您已经熟悉 Amazon VPCs 和 VPC 对等互连,请理解设置对等互连时使用 Amazon GameLift Servers 游戏服务器有些不同。您无权访问包含您的游戏服务器的 VPC,它由 Amazon GameLift Servers 服务 — 因此您无法直接为其请求 VPC 对等连接。取而代之的是,您首先使用非预先授权 VPCAmazon GameLift Servers 用于接受来自的对等互连请求的资源 Amazon GameLift Servers 服务。然后你触发 Amazon GameLift Servers 请求您刚刚授权的 VPC 对等互连。Amazon GameLift Servers 负责创建对等连接、设置路由表和配置连接的任务。

为现有实例集设置 VPC 对等连接

  1. 获取 Amazon 账户 ID 和凭证。

    您需要以下 Amazon 账户的 ID 和登录凭证。您可以 IDs 通过登录Amazon Web Services Management Console并查看您的账户设置来找到 Amazon 账户。要获取凭证,请转到 IAM 控制台。

    • Amazon 您用来管理自己的账户 Amazon GameLift Servers 游戏服务器。

    • Amazon 您用来管理非账户的账户Amazon GameLift Servers 资源的费用。

    如果你使用的是同一个账号 Amazon GameLift Servers 而且非-Amazon GameLift Servers 资源,您只需要该账户的 ID 和证书。

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

    获取以下信息,以便两者进行 VPCs 对等互通:

    • 适合你的 VPC Amazon GameLift Servers 游戏服务器 — 这是你的 Amazon GameLift Servers 舰队编号。您的游戏服务器部署在 Amazon GameLift Servers 在 EC2 实例队列上。队列会自动放置在自己的 VPC 中,该虚拟私有云由 Amazon GameLift Servers 服务。您没有 VPC 的直接访问权限,因此使用实例集 ID 标识。

    • 为您的非用户提供的 VPCAmazon GameLift Servers Amazon 资源 — 您可以与任何运行在您有权访问的 Amazon 账户上 Amazon 并由其管理的资源建立 VPC 对等关系。如果您还没有为这些资源创建 VPC,请参阅 Amazon VPC 入门。创建 VPC 后,您可以通过登录Amazon Web Services Management Console适用于 Amazon 的 VPC 并查看您的 VPC 来找到 VPC ID VPCs。

    注意

    设置对等互连时,两者 VPCs 必须位于同一个区域。适合你的 VPC Amazon GameLift Servers 舰队游戏服务器与舰队位于同一区域。

  3. 授权 VPC 对等连接。

    在此步骤中,您将对来自的 future 请求进行预授权 Amazon GameLift Servers 将 VPC 与您的游戏服务器对等,将您的 VPC 与非游戏服务器对等Amazon GameLift Servers 资源的费用。此操作将更新您的 VPC 的安全组。

    要授权 VPC 对等互连,请调用服务 API CreateVpcPeeringAuthorization() 或使用 Amazon CLI 命令create-vpc-peering-authorization。使用管理您的非账户的账户拨打此电话Amazon GameLift Servers 资源的费用。确定以下信息:

    • 对等 VPC ID — 这是针对带有您的非的 VPC 的Amazon GameLift Servers 资源的费用。

    • Amazon GameLift Servers Amazon 账户 ID — 这是您用来管理自己的账户 Amazon GameLift Servers 舰队。

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

  4. 请求对等连接。

    有了有效的授权,你就可以申请 Amazon GameLift Servers 建立对等连接。

    要请求 VPC 对等互连,请调用服务 API CreateVpcPeeringConnection() 或使用 Amazon CLI 命令create-vpc-peering-connection。使用管理您的账户拨打此电话 Amazon GameLift Servers 游戏服务器。使用以下信息来标识要 VPCs 对等的两个:

    • 对等 VPC ID 和 Amazon 账户 ID — 这是您的非对等的 VPCAmazon GameLift Servers 资源以及您用来管理它们的账户。VPC ID 必须与有效对等授权上的 ID 匹配。

    • 舰队 ID — 用于标识您的 VPC Amazon GameLift Servers 游戏服务器。

  5. 跟踪对等连接状态。

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

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

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

建立对等连接后,您可以立即使用以下操作对其进行管理:

使用新实例集设置 VPC 对等连接

你可以创建一个新的 Amazon GameLift Servers 同时请求建立 VPC 对等连接。

  1. 获取 Amazon 账户 ID 和凭证。

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

    • Amazon 您用来管理自己的账户 Amazon GameLift Servers 游戏服务器。

    • Amazon 您用来管理非账户的账户Amazon GameLift Servers 资源的费用。

    如果你使用的是同一个账号 Amazon GameLift Servers 而且非-Amazon GameLift Servers 资源,您只需要该账户的 ID 和证书。

  2. 获取您的非的 VPC IDAmazon GameLift ServersAmazon 资源。

    如果您还没有为这些资源创建 VPC,请现在创建(请参阅 Amazon VPC 入门)。请确保您在计划创建新实例集的同一区域中创建新的 VPC。如果你不是-Amazon GameLift Servers 资源管理的 Amazon 账户或用户/用户组与您使用的账户或用户组不同 Amazon GameLift Servers,在下一步中请求授权时,您需要使用这些账户凭证。

    创建 VPC 后,您可以通过查看自己的,在 Amazon VPC 控制台中找到 VPC ID VPCs。

  3. 授权 VPC 对等互连使用非Amazon GameLift Servers 资源的费用。

    时间 Amazon GameLift Servers 创建新的队列和相应的 VPC,它还会向你的非队列发送请求,与 VPC 对等Amazon GameLift Servers 资源的费用。您需要预先对该请求进行授权。此步骤将更新您的 VPC 的安全组。

    使用管理您的非账户的账户凭证Amazon GameLift Servers 资源,调用服务 API CreateVpcPeeringAuthorization() 或使用 Amazon CLI 命令create-vpc-peering-authorization。确定以下信息:

    • 对等 VPC ID — 带有您的非对等虚拟私有云的 IDAmazon GameLift Servers 资源的费用。

    • Amazon GameLift Servers Amazon 账户 ID — 您用来管理您的账户的 ID Amazon GameLift Servers 舰队。

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

  4. 按照使用 Amazon CLI 创建新队列的说明进行操作。包括以下其他参数:

    • peer-vpc-aws-account-i d — 您用于通过非账户管理 VPC 的账户的 IDAmazon GameLift Servers 资源的费用。

    • peer-vpc-id— 带有您的非虚拟私有云的 VPC 的 IDAmazon GameLift Servers account。

使用 VPC 对等参数成功调用 create-fleet 后将会生成一个新实例集和一个新 VPC 对等请求。该实例集的状态设置为 New,并且将启动实例集激活过程。对等连接请求的状态设置为 initiating-request。您可以通过调describe-vpc-peering-connections用来跟踪对等互连请求的成功或失败。

在同时请求新实例集和 VPC 对等连接时,两个操作要么成功,要么失败。如果某个实例集在创建过程中失败,则不会建立 VPC 对等连接。同样,如果 VPC 对等连接由于任何原因失败,则新实例集将无法从 Activating 状态变为 Active 状态。

注意

新的 VPC 对等连接直到实例集准备好变为活动状态才能完成。这意味着连接不可用,且无法在游戏服务器构建安装过程中使用。

以下示例创建一个新实例集,并在预先建立的 VPC 和新实例集的 VPC 之间创建对等连接。预先建立的 VPC 由您的非 VPC 组合进行唯一标识Amazon GameLift Servers Amazon 账户 ID 和 VPC ID。

$ Amazon gamelift create-fleet --name "My_Fleet_1" --description "The sample test fleet" --ec2-instance-type "c5.large" --fleet-type "ON_DEMAND" --build-id "build-1111aaaa-22bb-33cc-44dd-5555eeee66ff" --runtime-configuration "GameSessionActivationTimeoutSeconds=300, MaxConcurrentGameSessionActivations=2, ServerProcesses=[{LaunchPath=C:\game\Bin64.dedicated\MultiplayerSampleProjectLauncher_Server.exe, Parameters=+sv_port 33435 +start_lobby, ConcurrentExecutions=10}]" --new-game-session-protection-policy "FullProtection" --resource-creation-limit-policy "NewGameSessionsPerCreator=3, PolicyPeriodInMinutes=15" --ec2-inbound-permissions "FromPort=33435,ToPort=33435,IpRange=0.0.0.0/0,Protocol=UDP" "FromPort=33235,ToPort=33235,IpRange=0.0.0.0/0,Protocol=UDP" --metric-groups "EMEAfleets" --peer-vpc-aws-account-id "111122223333" --peer-vpc-id "vpc-a11a11a"

可复制版本:

Amazon gamelift create-fleet --name "My_Fleet_1" --description "The sample test fleet" --fleet-type "ON_DEMAND" --metric-groups "EMEAfleets" --build-id "build-1111aaaa-22bb-33cc-44dd-5555eeee66ff" --ec2-instance-type "c5.large" --runtime-configuration "GameSessionActivationTimeoutSeconds=300,MaxConcurrentGameSessionActivations=2,ServerProcesses=[{LaunchPath=C:\game\Bin64.dedicated\MultiplayerSampleProjectLauncher_Server.exe,Parameters=+sv_port 33435 +start_lobby,ConcurrentExecutions=10}]" --new-game-session-protection-policy "FullProtection" --resource-creation-limit-policy "NewGameSessionsPerCreator=3,PolicyPeriodInMinutes=15" --ec2-inbound-permissions "FromPort=33435,ToPort=33435,IpRange=0.0.0.0/0,Protocol=UDP" "FromPort=33235,ToPort=33235,IpRange=0.0.0.0/0,Protocol=UDP" --peer-vpc-aws-account-id "111122223333" --peer-vpc-id "vpc-a11a11a"

VPC 对等连接问题疑难解答

如果您在建立 VPC 对等连接时遇到问题 Amazon GameLift Servers 游戏服务器,请考虑以下常见的根本原因:

  • 未找到对所请求连接的授权:

    • 检查非 VPC 授权的状态Amazon GameLift Servers VPC。它可能不存在或可能已过期。

    • 检查 VPCs 您要对等的两个区域的区域。如果它们不在同一个区域中,则无法建立对等连接。

  • 您的两 VPCs 个 CIDR 块(请参阅无效的 VPC 对等连接配置)重叠。分配给对等设备的 IPv4 CIDR 块 VPCs 不能重叠。您的 VPC 的 CIDR 网段 Amazon GameLift Servers 队列是自动分配的,无法更改,因此您需要更改非 VPC 的 CIDR 块Amazon GameLift Servers 资源的费用。要解决此问题,请执行以下操作:

    • 为你查找这个 CIDR 区块 Amazon GameLift Servers 致电舰队DescribeVpcPeeringConnections()

    • 前往 Amazon VPC 控制台,找到您的非虚拟私有网络Amazon GameLift Servers 资源,并更改 CIDR 块,使其不会重叠。

  • 新实例集未激活(当请求与新实例集建立 VPC 对等连接时)。如果新实例集未能进入活动状态,则没有要与之建立对等连接的 VPC,因此对等连接无法成功。