问:什么是 Amazon EC2 Systems Manager?

Amazon EC2 Systems Manager 是一项灵活易用的管理服务,它使企业能够通过统一的 AWS 体验安全地管理在本地或在 AWS 中运行的工作负载。EC2 Systems Manager 采用高度自动化设计,专注于实现大规模的实例配置与管理,同时真正简化自动化工件的编写与维护。

问:如何开始使用 EC2 Systems Manager?

要开始使用,最佳做法是确保您的实例满足我们的《入门指南》中的基本要求。确认满足要求后,您可以从 EC2 管理控制台的左侧导航栏中,或使用 AWS 开发工具包和 AWS 命令行界面访问 EC2 Systems Manager 的各种功能。

问:EC2 Systems Manager 支持哪些操作系统?

EC2 Systems Manager 经过优化,可通过一种统一体验管理 Windows 和 Linux 平台。请参阅“支持的操作系统”,了解有关管理本地系统的更多详细信息。

问:EC2 Systems Manager 是否管理在本地运行的实例?

是,EC2 Systems Manager 支持对本地数据中心中运行的实例进行管理。有关更多详细信息,请参阅“EC2 Systems Manager 先决条件”。

问:EC2 Systems Manager 的费用是多少?

EC2 Systems Manager 不收费。

问:什么是 Run Command?

Run Command 是 EC2 Systems Manager 的一项功能,它提供一种简单、安全的方式对 EC2 实例或本地服务器远程执行命令或运行脚本,全部操作均从 EC2 API、CLI 或控制台中完成。借助 Run Command,您可以通过执行命令来轻松完成常见的管理任务,例如安装软件、执行脚本、更改配置等。

问:谁应该使用 Run Command?

Run Command 的目标使用者是开发人员、系统管理员以及其他需要以安全、可靠且可扩展的方式远程管理 EC2 实例的 IT 专业人员。

问:AWS 是否提供任何预定义命令?

是。AWS 提供预定义命令,旨在帮助您执行常见的管理任务。对于 Windows,您可以运行 PowerShell 命令或脚本、配置 Windows Update 设置、部署 MSI 应用程序等。对于 Linux,您可以运行任何 Shell 命令或脚本,并可以远程更新已安装的代理。

问:我是否可以创建自己的命令?

可以。Run Command 允许您轻松创建自定义命令,以执行环境所需的常见任务。

问:我还可以运行哪些其他类型的命令或脚本?

凡能够在 EC2 实例的命令窗口中输入的任何命令,您都可以运行。

问:我是否可以将相同的命令同时发送至多个 EC2 实例?

可以。您可以在发出命令时创建一个实例列表,这样便可以向实例队列轻松发出一个命令。

问:我是否可以检索对我的实例运行的命令的历史记录?

可以。Run Command 可以将每条命令的输出内容保留 30 天。此外,您还可以让 Run Command 在 Amazon S3 中存储所有日志文件的副本,或使用 AWS CloudTrail 捕获命令的输出。

问:我是否可以控制哪些人可以执行命令?

可以。使用已发布的 AWS Identity and Access Management (IAM) 权限和策略,您可以控制谁有权对特定实例执行命令或访问文档。例如,您可以允许某一 IAM 用户运行 PowerShell 命令,但禁止其将实例加入域。对于另一位 IAM 用户,则可以仅允许其运行非常具体的命令,例如重启服务。这样您就可以灵活地指定任何给定用户能够获得多少权限。

问:我是否可以查看正在运行的命令的状态?

Run Command 可以针对其上运行某命令的每个实例提供该命令的状态信息。所有这些信息均可通过 AWS CLI、开发工具包或 EC2 管理控制台进行检索。


问:什么是 State Manager?

State Manager 通过自动化流程为整套系统上的操作系统和应用程序定义和维护一致的配置。例如,配置和强制实施防火墙策略、维持反恶意软件定义的最新状态。通过重新应用配置策略,State Manager 可确保您的系统始终符合企业策略。

问:为什么要使用 State Manager?

企业在不断地向自动化 IT 的方向发展,应用程序分布于包括 AWS 和本地数据中心在内的不同环境和位置。但是,确保支持应用程序的基础设施的一致性成为一个难题。State Manager 允许您创建策略、重新应用这些策略以防止出现配置偏差,还可以监控预期状态的实现。

问:如何创建策略?

通过状态管理器文档可以轻松创建策略。此外,您还将获得预定义的配置,以用于执行安装应用程序、将实例加入域等操作。

问:可以配置哪些目标?

您可以灵活地确定实例或标签目标。这意味着,您可以灵活地将特定配置应用于实例组,如 Web 服务器。


问:什么是 Patch Manager?

Patch Manager 是一项专注于自动化的新修补服务,它便于客户保持 Windows 实例的最新状态。Patch Manager 通过实现内置的最佳实践 (如维护时段和动态补丁批准策略),帮助您简化修补过程。 

问:如何指定希望修补实例的时间?

您可以通过 Maintenance Windows 来定义执行修补的时间。Maintenance Windows 是 EC2 的一项新功能,允许您定义一个或多个可供您自己进行维护的循环时段。通过定义这些时段并将您的实例与其关联,您可以更加轻松地确保在明确定义的时段内完成您对实例执行的、可能影响工作负载可用性的任何维护活动。通过维护时段,您可以轻松计划您希望执行 Run Command 任务的时间。

问:如何自定义修补过程?

Patch Manager 利用 Run Command 提供完全自动化的修补过程。尽管 Patch Manager 提供了预建的 Run Command 文档,但是您可以通过编写自己的 Run Command 文档轻松自定义修补过程。例如,可在部署修补之前停止 NT 服务。

问:用 Patch Manager 可以安装哪些类型的补丁?

Patch Manager 支持修补基于 Windows 的实例,并提供为 Windows Sever 2008 至 Windows Sever 2016 以及 Windows 7 – Windows 10 选择和部署补丁的功能。

问:如何选择要安装的补丁?

Patch Manager 允许您创建补丁基准,它定义了您已为实例部署批准或阻止的补丁集。在补丁基准中,您可以按产品 (例如,Windows Server 2008、Windows Server 2012 等)、类别 (例如,重要更新、安全更新等) 和严重程度 (对此您希望审查补丁的部署) 来选择补丁。然后,对于所选的每个类别,您可以定义将自动批准分发所含补丁的计划。除规则以外,您还可以指定补丁白名单和黑名单,它们分别用于指定要安装和要阻止的补丁。在进行修补时,Patch Manager 只为在该时间点前已获批准的补丁评估目标实例。

问:如何跟踪我的实例的合规性水平?

借助 Patch Manager,您可以查看补丁合规性信息,其中会指出修补过程的详细结果。通过 EC2 管理控制台或 API,您可以轻松获取每个实例的合规性详情汇总。此外,您还可以深入了解更多信息,并确定每个实例的已安装、缺少、不适用以及无法安装的补丁。


问:什么是 Inventory?

使用 EC2 Systems Manager 的 Inventory 功能可查看实例的软件目录和配置。您可以设置 Inventory 来收集各种实例属性的详细信息,例如已安装的应用程序、AWS 组件和代理、网络配置、操作系统详细信息等。然后可使用强大的查询功能来评估合规性并确定实例队列中需要修正的实例。

问:哪些人应该使用 Inventory?

在了解队列的配置和组成时,IT 管理员和开发运营专业人员会发现此功能非常有用。用户可以快速确定哪些实例缺少补丁或正在运行过期的应用程序版本。同样,管理员还可以运行许可审核来了解软件使用情况。最终结果是,系统管理员能够更好地排查问题和评估安全性。

问:我是否可以自定义 Inventory 收集的信息?

可以,您可以创建自己的自定义 Inventory 类型并有效扩展 Inventory 的架构。例如,可对实例进行配置以收集其他操作系统和 CIM 详细信息,或记录诸如本地服务器的机架位置和投入使用日期等项目。

问:如何跟踪一段时间内的配置更改?

您可以使用 AWS Config 通过 Config Rules 来监控实例对期望配置的符合性。此功能可使安全专家和合规性审核员对实例配置变化进行全面的审核跟踪,还可在出现不符合要求时接收主动通知。


问:Automation 是什么?

EC2 Systems Manager 的 Automation 功能简化了构建和维护 Amazon 系统映像 (AMI) 的流程。它为您提供了用于将补丁、应用程序更新和其他更改应用于 AMI 的可重复流程。

问:我可以实现哪些任务的自动化?

Systems Manager 的 Automation 功能大大简化了 AMI 的维护工作,该功能允许您通过简化、可重复、可审核的流程来修补应用程序、为应用程序更新代理或将应用程序投入使用。 


问:什么是 Parameter Store?

利用 Parameter Store 可以轻松地存储、引用配置参数及敏感信息 (如连接字符串和管理员密码) 并控制对它们的访问。

问:为什么要使用 Parameter Store?

您可以使用 Parameter Store 快速存储和引用配置及敏感信息。不必将数据存储在配置文件中或在纯文本中进行引用,您可以利用 Parameter Store 在应用程序或脚本中获取此信息。此外,您还可以控制谁有权访问参数,从而只让合适的用户群访问合适的信息。

问:如何存储敏感数据?

安全字符串指的是需要以安全的方式存储和引用的所有敏感数据。如果您有不希望用户以明文形式引用的数据,或者您拥有可能被篡改或误用的数据的访问权限,则应在 Parameter Store 中使用安全字符串。

问:可在哪些服务中引用我的参数?

您可以在各项 EC2 Systems Manager 服务 (如 Run Command、State Manager 和 Automation) 间轻松引用参数。

问:我是否可以跟踪使用情况并提供对特定参数的访问控制?

可以,使用 AWS IAM,您可以通过自定义权限向用户和资源 (如实例) 提供对参数访问的粒度访问控制。这意味着,您可以控制哪些用户可以访问哪些资源中的哪些参数。此外,您还可以使用 AWS CloudTrail 跟踪并审核参数 API 调用。


问:什么是维护时段?

维护时段是 EC2 Systems Manager 的一项功能,允许您定义一个或多个可执行任何会引起中断的操作的循环时段。通过定义这些时段并将您的实例与其关联,您可以更加轻松地确保在明确定义的时段内完成您对实例执行的、可能影响工作负载可用性的任何维护活动。

问:为什么要使用维护时段?

维护时段通过在明确定义的时段内自动执行任务,可显著减少任何运行或基础设施故障所造成的影响,从而有助于提高工作负载的可用性和可靠性。

问:可在维护时段内计划哪些类型的任务?

目前,您只能在维护时段内计划基于 Run Command 的任务。

问:可为维护时段选择哪些计划类型?

可为维护时段规划周期性日期 (例如,每个星期二的 22:00:00 或每月第一个星期日的 22:00:00)。您可以使用 Cron 或 Rate 表达式来定义计划。