实例集自动扩缩策略 - 部署 Amazon AppStream 2.0 的最佳实践

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

实例集自动扩缩策略

了解 AppStream 2.0 实例

AppStream 2.0 实例集实例的用户与实例集例的比例为 1:1。这意味着每个用户都有自己的流式处理实例。您同时连接的用户数量将决定实例集的大小。

扩缩策略

AppStream 2.0 实例集在应用程序自动扩缩组中启动。这使实例集可以根据使用情况进行扩缩,从而满足需求。随着使用量的增加,实例集会扩展,当用户断开连接时,实例集会相应缩减。这是通过设置扩缩策略来控制的。您可以设置基于计划的扩缩、分步扩缩和目标跟踪扩缩策略。有关这些扩缩策略的更多信息,请参阅Amazon AppStream 2.0 的实例集自动扩缩

分步扩缩

这些策略按当前实例集大小的一定百分比或特定实例数量来增加或减少实例集容量。分步扩缩策略由 AppStream 2.0 Capacity UtilizationAvailable CapacityInsufficient Capacity ErrorsCloudWatch 指标 触发。

使用分步扩缩策略时,AWS 建议您添加一定比例的容量,而不是固定数量的实例。这样可以确保您的扩缩操作与您的实例集大小成正比。这将有助于避免出现扩展速度过慢(因为您添加的实例数量相对于实例集规模太少)或实例集规模较小而实例过多的情况。

目标跟踪

通过目标跟踪扩缩,您可以为实例集指定容量利用率级别。应用程序自动扩缩可创建和管理触发扩缩策略的 CloudWatch 警报。这将增加或减少容量,使实例集保持或接近指定的目标值。为了确保应用程序可用性,实例集会以最快速度随此指标按比例扩展,但缩减会逐步进行。配置目标跟踪时,请考虑扩缩冷却时间,以确保在所需的时间间隔内进行扩展和缩减。

目标跟踪对于高流失率的情况非常有效。当大量用户在短时间内开始或结束会话,就会发生流失。您可以通过检查实例集的 CloudWatch 指标来识别流失情况。如果您的实例集的待处理容量不为零,而所需容量没有变化(或变化很小),则表明可能会出现高流失率。在高流失率的情况下,配置目标跟踪策略,让(100 — 目标利用率百分比)在 15 分钟内大于流失率。例如,如果您有 10% 的实例集将因用户流失而会在 15 分钟内终止,请将容量利用率目标设置为 90% 或更低,以抵消高流失率。

基于计划的扩缩

这些策略使您能够根据基于时间的计划设置所需的实例集容量。当您了解登录行为并且可以预测需求变化时,此策略就可以发挥作用。

例如,在工作日的开始,您可能预计有 100 个用户会在上午 9:00 请求流式处理连接。您可以配置基于计划的扩缩策略,在上午 8:40 将最小实例集大小设置为 100。这样就可以在工作日开始时创建并提供实例集实例,并允许 100 个用户同时连接。然后,您可以设置另一项计划策略,在下午 5:00 将实例集缩减到最少 10 个。这样您可以节省成本,因为下班后的会话需求少于工作日时段。

生产中的扩缩策略

您可以选择将不同类型的扩缩策略组合到一个实例集中,以帮助为您的用户行为定义精确的扩展策略。在前面的示例中,您可以将计划扩缩策略与目标跟踪或分步扩缩策略相结合,以保持特定的利用率水平。当紧急需要容量时,计划扩缩和目标跟踪扩缩的组合有助于减少利用率级别急剧增加所产生的影响。

当扩缩策略更改所需的实例数量时,连接到流会话的用户不会受到缩减或扩展的影响。扩缩策略不会让现有的流会话终止。现有会话将不受打扰地持续下去,直到用户结束会话或实例集策略超时。

使用 CloudWatch 指标监控 AppStream 2.0 的使用情况可以帮助您随着时间的推移优化扩缩策略。例如,在初始设置期间通常会超额配置资源,您可能会看到利用率长期处于较低水平。或者,如果实例集配置不足,您可能会看到高容量利用率和“容量不足”错误。查看 CloudWatch 指标有助于调整您的扩缩策略,帮助减少这些错误。有关更多信息以及您可以使用的 AppStream 2.0 扩缩策略的示例,请参阅扩缩 Amazon AppStream 2.0 实例集