亚马逊AWS官方博客

全新 AWS Auto Scaling – 适用于云应用程序的统一扩展

我已多次谈及服务器及其他云资源的扩展性问题!2006 年,我曾写过:“现在是可扩展的按需 Web 服务的时代。只需为您需要和使用的资源付费,无需额外多花一分钱。”我们发布 Amazon Elastic Compute Cloud (EC2) 后不久,即为了方便您使用这一服务,同时推出Elastic Load BalancingEC2 Auto ScalingAmazon CloudWatch。自那时起,我们已将 Auto Scaling 添加到了 ECSSpot 队列DynamoDBAuroraAppStream 2.0EMR 等其他 AWS 服务中。我们还添加了目标跟踪等功能,以便您可以更加轻松地根据应用程序适用的指标进行扩展。

推出 AWS Auto Scaling
现在,随着 AWS Auto Scaling 的推出,您可以更加轻松地在一个用户界面中使用多项 AWS 服务的 Auto Scaling 功能了。这一新服务整合了针对特定服务的现有扩展功能,并以此为基础构建。如 AWS CloudFormation 堆栈或 AWS Elastic Beanstalk 中所述,该服务可在构成应用程序所需的任何 EC2 Auto Scaling 组、EC2 Spot 队列、ECS 任务、DynamoDB 表、DynamoDB 全局二级索引和 Aurora 副本上运行 (我们还在探索通过其他方式将一组资源标记为应用程序,以便与 AWS Auto Scaling 结合使用)。

您再也无需为每项资源和服务设置警报和扩展操作了。您只需将 AWS Auto Scaling 指向应用程序并选择相关的服务和资源。然后为每项服务和资源选择所需的扩展选项,AWS Auto Scaling 便会完成剩下的操作,帮助您发现可扩展的资源,并制定可满足相关资源需求的扩展计划。

如果您之前尝试使用过我们的 Auto Scaling 选项,那么肯定知道在选择扩展阈值时如何取舍。AWS Auto Scaling 为您提供各种扩展选项:您可以优化可用性,保留大量资源以应对突然出现的需求高峰。您也可以优化成本,保留刚好够用的资源,并在高峰期缴纳可能会产生的资源税费。此外,您还可以选择一种折中的方式,留出充足但不过量的备用容量。除了优化可用性、成本或针对两者综合进行优化外,您还可以设置自定义扩展阈值。在上述任一情况下,AWS Auto Scaling 都会代表您创建扩展策略,包括每项资源适用的上限和下限。

AWS Auto Scaling 操作演示
我将在一个简单的 CloudFormation 堆栈上使用 AWS Auto Scaling,该堆栈由 EC2 实例的一个 Auto Scaling 组和两个 DynamoDB 表组成。首先,我从 Auto Scaling 组中删除现有的扩展策略:

然后打开新的 Auto Scaling 控制台并选择堆栈:

Elastic Beanstalk 应用程序始终在后台通过 CloudFormation 堆栈启动。在上面的屏幕截图中,awseb-e-sdwttqizbp-stack 是我启动的 Elastic Beanstalk 应用程序。

在继续操作前,我可以单击任意堆栈,了解更多相关信息:

我选择所需的堆栈,然后单击下一步以继续。然后,我输入扩展计划名称,并选择该计划涵盖的资源:

我为每类资源选择扩展策略:

选择所需的策略后,我单击下一步以继续。查看建议的扩展计划后,我单击 Create scaling plan (创建扩展计划) 继续操作:

扩展计划会在几分钟内创建完成并生效:

我可以单击计划来了解更多信息:

我还可以检验各项扩展策略:

我通过向初始 EC2 实例应用负载测试了新策略,并观察了实际发生的扩展活动:

我还查看了 EC2 Auto Scaling 组的 CloudWatch 指标:

现已推出
今天,我们在以下区域发布了 AWS Auto Scaling美国东部 (弗吉尼亚北部)美国东部 (俄亥俄)美国西部 (俄勒冈)欧洲 (爱尔兰)亚太区域 (新加坡),以后将面向更多区域提供该服务。AWS Auto Scaling 是一项免费服务;您只需为该服务创建的 CloudWatch 警报和您使用的 AWS 资源付费。

与其他新服务一样,现在只是我们长久且有趣的服务提供旅程的第一步!我们制定了长久的路线图,2018 年,我们会根据您的反馈,不断增添新功能和选项。

Jeff