Amazon Systems Manager 自动化 - Amazon Systems Manager
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

Amazon Systems Manager 自动化

Automation 是 Amazon Systems Manager 的一种功能,简化了 Amazon Elastic Compute Cloud (Amazon EC2)、Amazon Relational Database Service (Amazon RDS)、Amazon Redshift、Amazon Redshift、Amazon Simple Storage Service (Amazon S3) 等 Amazon 服务的常见维护、部署和修复任务。要开始使用自动化,请打开 Systems Manager 控制台。在导航窗格中,选择 自动化

Automation 可帮助您构建用于大规模部署、配置和管理 Amazon 资源的自动化解决方案。借助 Automation,您可以精确控制自动化的并发性。这意味着您可以指定同时定位多少资源,以及在停止自动化之前可能发生的错误数。

为了帮助您开始使用 Automation,Amazon 开发和维护了几个预先定义的运行手册。根据您的使用案例,您可以使用这些预定义的运行手册来执行各种任务,或者创建更适合您的需求的自定义运行手册。要监控自动化的进度和状态,您可以使用 Systems Manager Automation 控制台或您的首选命令行工具。Automation 还与 Amazon EventBridge 集成,可帮助您大规模构建事件驱动型架构。

我的组织如何从 Automation 获益?

Automation 具备下列优势:

  • 运行手册内容中的脚本支持

    使用 aws:executeScript 操作,您可以直接从运行手册中运行自定义 Python 和 PowerShell 函数。这使您可以更灵活地创建自定义运行手册,因为您可以完成其他 Automation 操作不支持的各种任务。您还可以更好地控制运行手册的逻辑。有关如何使用此操作以及如何帮助改进现有自动化解决方案的示例,请参阅 创作自动化运行手册

  • 从一个集中位置跨多个 Amazon Web Services 账户 和 Amazon Web Services 区域 运行自动化

    管理员可以从 Systems Manager 控制台跨多个账户和区域对资源运行自动化。

  • 增强操作安全

    管理员可以集中地授予和撤销对运行手册的访问。仅使用 Amazon Identity and Access Management (IAM) 策略,您就可以控制贵企业中的哪些个人用户或组能够使用 Automation 以及他们能够访问的运行手册。有关如何委托自动化访问权限的示例,请参阅 通过使用委托管理运行自动化

  • 自动执行常见 IT 任务

    自动执行常见任务可以帮助提高运营效率、强制执行组织标准并减少操作员错误。例如,您可以使用 AWS-UpdateCloudFormationStackWithApproval 运行手册来更新通过使用 Amazon CloudFormation 模板部署的资源。更新会应用新模板。在更新开始之前,您可以配置自动化以请求由一个或多个 IAM 用户的批准。

  • 安全地批量执行中断性任务

    Automation 包含诸如速率控制之类的功能,使您可以通过指定并发值和错误阈值来控制自动化在整个机群上的部署。有关使用速率控制的更多信息,请参阅 运行使用目标和速率控制的自动化

  • 简化复杂任务

    Automation 提供了预定义的运行手册,可简化复杂而耗时的任务,例如创建黄金 Amazon Machine Images (AMIs)。例如,您可以使用 AWS-UpdateLinuxAmiAWS-UpdateWindowsAmi 运行手册从源 AMI 创建黄金 AMIs。使用这些运行手册,您可以在应用更新前后运行自定义脚本。您还可以包含特定软件包或从安装中排除这些软件包。有关如何使用这些运行手册的示例,请参阅 自动化演练

  • 为输入定义约束条件

    您可以在自定义运行手册中定义约束条件,以限制 Automation 将为特定输入参数接受的值。例如,allowedPattern 将只接受与您定义的正则表达式匹配的输入参数的值。如果您为输入参数指定 allowedValues,只接受您在运行手册中指定的值。

  • 将自动化操作输出记录到 Amazon CloudWatch Logs 中

    为了满足组织的操作或安全要求,您可能需要提供在运行手册期间运行的脚本记录。使用 CloudWatch Logs,您可以监控、存储和访问各种 Amazon Web Services 的日志文件。您可以将 aws:executeScript 操作的输出发送到 CloudWatch Logs 日志组中用于调试和故障排除目的。在将日志数据发送到日志组时,可以使用您的 KMS 密钥进行 Amazon KMS 加密,也可以不加密。有关更多信息,请参阅使用 CloudWatch Logs 记录自动化操作输出

  • Amazon EventBridge 集成

    支持将 Automation 作为 Amazon EventBridge 规则中的目标类型。这意味着您可以通过使用事件触发运行手册。有关更多信息,请参阅 使用 Amazon EventBridge 监控 Systems Manager 事件引用:Amazon EventBridge 事件模式和 Systems Manager 类型

  • 分享组织最佳实践

    您可以在跨账户和区域共享的运行手册中定义资源管理、运营任务等的最佳实践。

谁应该使用 Automation?

  • 任何希望大规模提高其运营效率、减少与手动干预相关的错误以及缩短解决常见问题的时间的 Amazon 客户。

  • 希望自动执行部署和配置任务的基础设施专家。

  • 想要可靠地解决常见问题、提高故障排除效率和减少重复性操作的管理员。

  • 想要自动执行通常需要手动执行的任务的用户。

什么是自动化?

自动化由运行手册中定义的所有任务组成,并由 Automation 服务执行。Automation 使用以下组件运行自动化。

概念 详细信息

自动化运行手册

Systems Manager 自动化运行手册定义 Systems Manager 对托管式节点和 Amazon 资源执行的自动化操作。自动化包含几个预定义的自动化运行手册,您可以用它们来执行常见任务,例如重启一个或多个 Amazon EC2 实例,或创建 Amazon Machine Image (AMI)。您也可以创建自己的运行手册。运行手册使用 JavaScript Object Notation (JSON) 或 YAML,并包括您指定的步骤和参数。步骤按先后顺序运行。有关更多信息,请参阅 使用运行手册

运行手册是 Automation 类型的 Systems Manager 文档,而不是CommandPolicySession 文档。运行手册支持 0.3 版架构。命令文档使用 1.2、2.0 或 2.2 版本的架构。策略文档使用 2.0 或更高版本的架构。

自动化操作

运行手册中定义的自动化包括一个或多个步骤。每步都与特定操作相关。此操作确定本步的输入、行为和输出。在运行手册的 mainSteps 部分定义步骤。自动化支持 20 种不同的操作类型。有关更多信息,请参见 Systems Manager 自动化操作参考

自动化配额

每个 Amazon Web Services 账户 账户可以同时运行 100 项自动化。这包括子自动化(由其他自动化启动的自动化)和速率控制自动化。如果您尝试运行的自动化多于此数量,Systems Manager 会将额外的自动化添加到一个队列中,状态显示为“待处理”。有关运行自动化的更多信息,请参阅 运行简单的自动化

自动化队列配额

如果尝试运行的自动化数量超过并发自动化限制,后续自动化将添加到队列中。每个 Amazon Web Services 账户 可以排列 1000 个自动化。自动化完成(或达到最终状态)后,队列中的第一个自动化将启动。

速率控制自动化配额

每个 Amazon Web Services 账户 可以同时运行 25 项速率控制自动化。如果您尝试运行的速率控制自动化多于并发费率控制自动化限制,Systems Manager 会将后续速率控制自动化添加到一个队列中,状态显示为“待处理”。有关运行速率控制自动化的更多信息,请参阅 运行使用目标和速率控制的自动化

速率控制自动化队列配额

如果尝试运行的自动化数量超过并发速率控制自动化限制,后续自动化将添加到队列中。每个 Amazon Web Services 账户 可以排列 1000 个速率控制自动化。自动化完成(或达到最终状态)后,队列中的第一个自动化将启动。