监控部署以实现自动回滚 - Amazon AppConfig
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

监控部署以实现自动回滚

在部署过程中,可以结合使用 Amazon AppConfig deployment strategies 和基于 Amazon CloudWatch 警报的自动回滚,来缓解配置数据格式错误或不正确导致应用程序出现错误的情况。完成配置后,如果一个或多个 CloudWatch 警报在部署期间进入 ALARM 状态,则 Amazon AppConfig 会自动将配置数据回滚到先前版本,从而防止应用程序中断或出错。还可以在部署仍在进行时,通过调用 StopDeployment API 操作来回滚配置。

重要

对于成功完成的部署,Amazon AppConfig 还支持通过在 StopDeployment API 操作中使用 AllowRevert 参数,来将配置数据还原到先前版本。对于某些客户来说,成功部署后还原到先前配置可以保证数据与部署前相同。还原操作还会忽略警报监视器,这可能会阻止在应用程序紧急情况下前滚。有关更多信息,请参阅 还原配置

要配置自动回滚,请在创建(或编辑)Amazon AppConfig 环境时,在 CloudWatch 警报字段中指定一个或多个 CloudWatch 指标的 Amazon 资源名称(ARN)。有关更多信息,请参阅 在 Amazon AppConfig 中为应用程序创建环境

用于监控自动回滚的建议指标

您选择进行监控的指标将取决于应用程序使用的硬件和软件。Amazon AppConfig 客户经常监控以下指标。有关按 Amazon Web Services 服务分组的建议指标的完整列表,请参阅《Amazon CloudWatch 用户指南》中的建议的警报

确定要监控的指标后,使用 CloudWatch 来配置警报。有关更多信息,请参阅使用 Amazon CloudWatch 告警

服务 指标 详细信息

Amazon API Gateway

4XXError

此警报检测较高的客户端错误率。这可能表明授权或客户端请求参数存在问题。这也可能意味着资源已被删除,或者客户端正在请求一个不存在的资源。请考虑启用 Amazon CloudWatch Logs,并检查是否存在任何可能导致 4XX 错误的错误。此外,可以考虑启用详细的 CloudWatch 指标,以便按资源和方法查看此指标,并缩小错误来源的范围。超出配置的节流限制也可能导致错误。

Amazon API Gateway

5XXError

此警报有助于检测较高的客户端错误率。这可能表明 API 后端、网络或 API 网关与后端 API 之间的集成存在问题。

Amazon API Gateway

延迟

此警报检测阶段中的高延迟。确定 IntegrationLatency 指标值以检查 API 后端延迟。如果这两个指标基本一致,则 API 后端是导致延迟更高的来源,您应该调查其中是否存在问题。另外,请考虑启用 CloudWatch Logs 并检查是否存在可能导致高延迟的错误。

Amazon EC2 Auto Scaling

GroupInServiceCapacity

此警报有助于检测组中的容量何时低于工作负载所需的理想容量。要排查问题,请检查您的扩展活动是否存在启动失败,并确认所需的容量配置是否正确。

Amazon EC2

CPUUtilization

此警报有助于监控 EC2 实例的 CPU 利用率。根据应用程序的不同,持续的高利用率级别可能是正常的。但是,如果性能下降,并且应用程序不受磁盘 I/O、内存或网络资源的限制,则达到极限的 CPU 可能表示存在资源瓶颈或应用程序性能问题。

Amazon ECS

CPUReservation

此警报有助于检测 ECS 集群的高 CPU 预留。高 CPU 预留可能表示集群将耗尽为任务注册的 CPU。

Amazon ECS

HTTPCode_Target_5XX_Count

此警报有助于检测 ECS 服务的服务器端高错误计数。这可能表示存在导致服务器无法处理请求的错误。

具有 Container Insights 的 Amazon EKS

node_cpu_utilization

此警报有助于检测 Amazon EKS 集群的 Worker 节点中的高 CPU 利用率。如果利用率一直很高,则可能表明需要将 Worker 节点替换为具有更高 CPU 的实例,或者需要横向扩展系统。

具有 Container Insights 的 Amazon EKS

node_memory_utilization

此警报有助于检测 Amazon EKS 集群的 Worker 节点中的高内存利用率。如果利用率一直很高,则可能表明需要扩展容器组(pod)副本的数量或优化您的应用程序。

具有 Container Insights 的 Amazon EKS

pod_cpu_utilization_over_pod_limit

此警报有助于检测 Amazon EKS 集群的容器组(pod)中的高 CPU 利用率。如果利用率一直很高,则可能表明需要增加受影响容器组(pod)的 CPU 限制。

具有 Container Insights 的 Amazon EKS

pod_memory_utilization_over_pod_limit

此警报有助于检测 Amazon EKS 集群的容器组(pod)中的高 CPU 利用率。如果利用率一直很高,则可能表明需要增加受影响容器组(pod)的 CPU 限制。

Amazon Lambda

错误

此警报检测高错误计数。错误包括代码引发的异常和 Lambda 运行时系统引发的异常。

Amazon Lambda

节流

此警报检测大量受限调用请求。限制在无并发可用于纵向扩展时发生。

Lambda Insights

memory_utilization

此警报用于检测 Lambda 函数的内存利用率是否接近配置的限制。

Amazon S3

4xxErrors

此警报有助于我们报告为响应客户端请求而发出的 4xx 错误状态代码的总数。例如,403 错误代码可能表示 IAM 策略不正确,404 错误代码可能表示客户端应用程序操作不当。

Amazon S3

5xxErrors

此警报有助于检测高客户端错误数。此类错误表明客户端发出了服务器无法完成的请求。这可以帮助您弄清楚您的应用程序因为 S3 而面临的问题。