竞价平衡过程
Amazon GameLift Servers FleetIQ 会定期平衡具有竞价型实例的 Amazon EC2 Auto Scaling 组中的实例。对于使用 ON_DEMAND_ONLY 平衡策略或没有任何活动实例的游戏服务器组,此过程不处于活动状态。
竞价平衡有两个关键目标:
-
仅使用对游戏托管具有高可行性的竞价型实例类型持续刷新组。
-
使用多种可行的实例类型(在可能时),以减少游戏服务器意外中断的影响
Amazon GameLift Servers FleetIQ 通过评估组的实例类型并删除更可能导致游戏服务器中断的实例来平衡。为了避免在平衡过程中终止具有活动游戏的实例,最好是为生产中的游戏服务器组启用游戏服务器保护。
以下示例说明自动扩缩组中的实例如何受到竞价平衡的影响。
-
步骤 1:通过游戏服务器组,关联的 Amazon EC2 Auto Scaling 组设置为在启用游戏服务器保护的情况下启动类型为 m4.large、c4.large 和 c5.large 的实例。Amazon EC2 Auto Scaling 组已启动一个平衡集合,其中包含每种类型的两个竞价型实例。四个实例至少有一个处于 UTILIZED(被利用)状态的游戏服务器(显示为虚线边框),而两个实例当前不支持玩游戏。
-
步骤 2:Amazon GameLift Servers FleetIQ 评估所有三种实例类型的当前游戏托管可行性。此评估确定 c4.large 实例类型对于游戏服务器中断不可接受的可能性。Amazon GameLift Servers FleetIQ 立即更新 Amazon EC2 Auto Scaling 组配置,以暂时从实例类型列表中删除 c4.large,从而防止启动其他 c4.large 实例。
-
步骤 3:Amazon GameLift Servers FleetIQ 确定类型 c4.large 的现有实例,并采取措施将它们从组中删除。作为第一步,在 c4.large 实例上运行的所有游戏服务器都标记为耗尽。只有在没有其他游戏服务器可用的情况下,才能作为最后手段认领耗尽实例上的游戏服务器。此外,将触发具有耗尽实例的 Amazon EC2 Auto Scaling 组以启动新实例来替换它们。
-
步骤 4:随着新的可行实例上线,Amazon EC2 Auto Scaling 组将终止耗尽的实例。这种替换可确保该组的所需容量得到保持。要终止的第一个实例是没有已利用的游戏服务器且关闭了游戏服务器保护的 c4.large 实例。它被替换为一个新的 c5.large 实例。
-
步骤 5:对于具有游戏服务器保护的耗尽实例而言,在其游戏服务器支持玩游戏时,这些实例将继续运行。游戏结束后,一旦新的 m4.large 实例启动以取代剩余的 c5.large 实例的位置,后者就会终止。
由于此过程,自动扩缩组将保持其所需容量,同时此组将从使用三种实例类型平衡为使用两种。Amazon GameLift Servers FleetIQ 继续评估游戏托管可行性的实例类型的原始列表。当 c4.large 再次被视为可行的实例类型时,将更新 Amazon EC2 Auto Scaling 组以包含全部三种实例类型。该组随着时间推移自然地平衡。