使用 CloudWatch - Application Auto Scaling
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

如果我们为英文版本指南提供翻译,那么如果存在任何冲突,将以英文版本指南为准。在提供翻译时使用机器翻译。

使用 CloudWatch

您可以通过使用 Amazon CloudWatch,生成关于您的使用和性能的指标。 CloudWatch 从您的 AWS 资源以及您在 AWS,并将其处理为可读、近实时度量标准。这些指标保留 15 个月,以便您可以访问历史信息,从而更好地了解应用程序的执行情况。有关更多信息,请参阅 Amazon CloudWatch 用户指南.

CloudWatch 仪表板是 CloudWatch 您可以使用控制台来监控单个视图的资源,即使这些资源在不同地区传播。您可以使用 CloudWatch 控制面板创建 AWS 资源的所选指标的自定义视图。您可以在每个图表上选择用于每个指标的颜色,以便更轻松地跨多个图表跟踪同一指标。

创建 CloudWatch 控制面板

  1. 通过以下网址打开 CloudWatch 控制台:https://console.amazonaws.cn/cloudwatch/

  2. 在导航窗格中,选择 仪表板,然后选择 创建新仪表板.

  3. 输入控制面板的名称,例如要查看其 CloudWatch 数据的服务的名称。

  4. 选择 创建仪表板.

  5. 选择要添加到控制面板的小部件类型,例如折线图。然后选择 配置,然后选择要添加到仪表盘的度量。有关详细信息,请参阅 从A中添加或删除图表 CloudWatch 仪表板Amazon CloudWatch 用户指南

默认情况下,您在 CloudWatch 控制面板中创建的指标为平均值。

指标与维度

当您和与 Application Auto Scaling 集成的服务进行交互时,它们会将下表中显示的指标发送到 。CloudWatch. 在 CloudWatch 中,指标的分组首先依据服务命名空间,然后依据每个命名空间内的各种维度组合。

这些指标可帮助您发现应用程序的容量要求。您可以使用此信息静态设置容量或设置自动扩展。如果您的应用程序的工作负载不稳定,则表明您应该考虑使用自动扩展。

指标名称 Namespace 维度 适用于
CPU 使用率 AWS/ECS ClusterName、ServiceName ECS
MemoryUtilization AWS/ECS ClusterName、ServiceName ECS
CPU 使用率 AWS/EC2Spot FleetRequestId Spot 队列
NetworkIn AWS/EC2Spot FleetRequestId Spot 队列
NetworkOut AWS/EC2Spot FleetRequestId Spot 队列
RequestCountPerTarget AWS/ApplicationELB TargetGroup ECS、Spot 队列
YARNMemoryAvailablePercentage AWS/ElasticMapReduce ClusterId EMR
AvailableCapacity AWS/AppStream 队列 AppStream
CapacityUtilization AWS/AppStream 队列 AppStream
已配置读取容量单位 AWS/DynamoDB TableName、GlobalSecondaryIndexName DynamoDB
已配置写入容量单位 AWS/DynamoDB TableName、GlobalSecondaryIndexName DynamoDB
已使用读取容量单位 AWS/DynamoDB TableName、GlobalSecondaryIndexName DynamoDB
已使用写入容量单位 AWS/DynamoDB TableName、GlobalSecondaryIndexName DynamoDB
CPU 使用率 AWS/RDS DBClusterIdentifier、Role (READER) Aurora
DatabaseConnections AWS/RDS DBClusterIdentifier、Role (READER) Aurora
InvocationsPerInstance AWS/SageMaker EndpointName、VariantName SageMaker
InferenceUtilization AWS/Comprehend EndpointArn Comprehend
ProvisionedConcurrencyUtilization AWS/Lambda FunctionName、Resource :Lambda
已配置读取容量单位 AWS/Cassandra Keyspace,TableName Amazon Keyspaces
已配置写入容量单位 AWS/Cassandra Keyspace,TableName Amazon Keyspaces
已使用读取容量单位 AWS/Cassandra Keyspace,TableName Amazon Keyspaces
已使用写入容量单位 AWS/Cassandra Keyspace,TableName Amazon Keyspaces

虽然 CloudWatch 允许您为每个指标选择任何统计数据和周期,但并非所有的组合都有用。例如,CPU 利用率的平均、最小和最大统计数据均有用,但求和统计数据却无用。有关更多信息,请参阅上表提供的链接中的服务文档。

衡量应用程序性能的常用方法是平均 CPU 利用率。如果 CPU 利用率增加,而您没有足够的容量来处理它,则应用程序可能无响应。另一方面,如果在利用率低时您有太多的容量和资源正在运行,这会增加使用该服务的成本。

根据服务的不同,您还拥有跟踪可用预配置吞吐量的指标。例如,对于在具有预配置并发性的函数别名或版本上正在处理的调用数,Lambda 会发出 ProvisionedConcurrencyUtilization 指标。如果您正在启动大型作业并同时多次调用同一函数,则当作业超出可用的预配置并发性时,该作业可能会遇到延迟。另一方面,如果您的预配置并发性比您需要的多,则您的成本可能高于应有的成本。

如果您在 CloudWatch 控制台,确保已完成资源设置。在完全设置资源之前,不会显示指标。此外,如果某个指标在过去 14 天内未发布数据,在搜索要添加到 CloudWatch 控制面板上的图表的指标时,将找不到该指标。有关如何手动添加任何度量的信息,请参阅 在A上手动图表度量 CloudWatch 仪表板Amazon CloudWatch 用户指南.