AWS Systems Manager
用户指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

AWS Systems Manager Automation

Systems Manager Automation 简化了 Amazon EC2 实例和其他 AWS 资源的常见维护和部署任务。使用 Automation 可以执行以下操作。

  • 构建 Automation 工作流程以配置和管理实例及 AWS 资源。

  • 创建自定义工作流程,或者使用由 AWS 维护的预定义工作流程。

  • 使用 Amazon CloudWatch Events 接收有关 Automation 任务和工作流程的通知。

  • 使用 Amazon EC2 或 AWS Systems Manager 控制台监控 Automation 进度和执行情况详细信息。

Automation 使用案例

本部分包括 AWS Systems Manager Automation 的常见使用案例。

执行常见 IT 任务

Automation 可以根据计划简化常见 IT 任务,如更改一个或多个实例的状态 (使用审批工作流程) 和管理实例状态。下面是一些示例:

  • 使用 AWS-StopEC2InstanceWithApproval 文档请求一个或多个 AWS Identity and Access Management (IAM) 用户批准实例停止操作。在获得批准后,Automation 将停止实例。

  • 通过使用 Amazon CloudWatch Events 或使用维护时段任务,使用 AWS-StopEC2Instance 文档按计划自动停止实例。例如,您可以配置 Automation 工作流程以在每个星期五晚上停止实例,然后在每个星期一早晨重新启动这些实例。

  • 使用 AWS-UpdateCloudFormationStackWithApproval 文档来更新通过使用 CloudFormation 模板部署的资源。更新会应用新模板。在更新开始之前,您可以配置 Automation 以请求由一个或多个 IAM 用户批准。

有关如何使用 状态管理器 运行 Automation 工作流程的更多信息,请参阅 使用 状态管理器 通过触发器运行 Automation 工作流程

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

Systems Manager 包含可通过使用 Amazon EC2 标签帮助您确定大型目标实例组的功能以及可根据您定义的限制帮助实施更改的速度控制功能。

使用 AWS-RestartEC2InstanceWithApproval 文档以定位包含多个实例的 AWS 资源组。您可以配置 Automation 工作流程来使用速度控制功能。例如,您可以指定应同时重新启动的实例数量。您还可以指定在取消 Automation 工作流程之前允许的最大错误数。

简化复杂任务

Automation 为简化复杂任务提供一键式自动化,例如创建黄金 Amazon 系统映像 (AMI) 和恢复无法访问的 EC2 实例。下面是一些示例:

  • 使用 AWS-UpdateLinuxAmiAWS-UpdateWindowsAmi 文档从源 AMI 创建黄金 AMI。在应用更新前后,您可以运行自定义脚本。您还可以包含特定程序包或从安装中排除这些程序包。有关如何运行这些工作流程的示例,请参阅 Automation 演练

  • 使用 AWSSupport-ExecuteEC2Rescue 文档恢复受损的实例。出于各种原因,实例可能无法访问,包括网络配置错误、RDP 问题或防火墙设置。以前,对实例进行故障排除并重新获得其访问权限需要执行几十个手动步骤,然后才能重新获得访问权限。使用 AWSSupport-ExecuteEC2Rescue 文档,您可以通过指定实例 ID 并单击一个按钮来重新获得访问权限。有关如何运行该工作流程的示例,请参阅在无法访问的实例上运行 EC2Rescue 工具

增强操作安全

使用委托管理,您可以限制或提升各种类型任务的用户权限。

借助委托管理,您可以提供对特定资源上特定任务的权限,而无需为用户授予访问资源的直接权限。这可以提升整体安全配置文件。例如,假定用户 1 没有重新启动 EC2 实例的权限,但您希望授权该用户执行此操作。那么不用为用户 1 授予直接权限,您可以执行以下操作:

  • 创建一个 IAM 角色,并为其授予成功停止和启动 EC2 实例所需的权限。

  • 创建 Automation 文档并在文档中嵌入该角色。(执行此操作最简单方法是自定义 AWS-RestartEC2Instance 文档并在文档中嵌入该角色,而不用分配 Automation 服务角色 [或代入角色])。

  • 修改 User1 的 IAM 权限并授予用户运行本文档的权限。

有关如何委托对 Automation 工作流程的访问的示例,请参阅通过使用委托管理运行 Automation 工作流程

分享最佳实践

Automation 允许您与组织中的其余人员分享最佳实践。

您可以在 Automation 文档中创建资源管理的最佳实践,并轻松地在 AWS 区域和组中共享这些文档。您也可以约束文档接受的参数的允许值。

概念

AWS Systems Manager Automation 使用以下概念。

概念 详细信息

Automation 文档

Systems Manager Automation 文档定义 Automation 工作流程(Systems Manager 在托管实例和 AWS 资源上执行的操作)。Automation 包含几个预定义的 Automation 文档,您可以用它们来执行常见任务,例如重启一个或多个 Amazon EC2 实例,或创建 Amazon 系统映像 (AMI)。文档使用 JavaScript Object Notation (JSON) 或 YAML,并包括您指定的步骤和参数。步骤按先后顺序运行。有关更多信息,请参阅 使用 Automation 文档

Automation 操作

Automation 文档中定义的 Automation 工作流程中包含一个或多个步骤。每个步骤都与特定操作或插件相关。此操作确定本步的输入、行为和输出。步骤定义在 Automation 文档的 mainSteps 部分。有关更多信息,请参见 Systems Manager Automation 操作参考

自动化队列

每个 AWS 账户可以同时运行 25 项自动化。如果您尝试运行的自动化多于此数量,Systems Manager 会将额外的执行添加到一个队列中,状态显示为“待处理”。Automation 完成(或达到最终状态)后,队列中的第一个执行将启动。每个 AWS 账户可以在队列中加入 75 个 Automation 执行。

本页内容: