Amazon EC2 Systems Manager

问:什么是 Amazon EC2 Systems Manager?

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

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

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

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

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

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

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

问:EC2 Systems Manager 在哪些 AWS 区域可用?

EC2 Systems Manager 在多个公共区域可用。有关受支持区域的完整列表,请参阅 AWS 地区和终端节点

问:我可以在不使用公用 IP 的情况下,从 Amazon Virtual Private Cloud (VPC) 对 EC2 Systems Manager API 进行私有访问吗?

可以,您可以通过创建 VPC 终端节点来实现从 Amazon Virtual Private Cloud (VPC) 对 EC2 Systems Manager API 进行私有访问借助 VPC 终端节点,VPC 和 EC2 Systems Manager 之间的路由将由 AWS 网络处理,而无需使用 Internet 网关、NAT 网关或 VPN 连接。EC2 Systems Manager 所使用的最新一代 VPC 终端节点由 AWS PrivateLink 提供支持。AWS PrivateLink 是一种通过使用 VPC 中带有私有 IP 的弹性网络接口来支持各 AWS 服务之间的私有连接的技术。要了解关于 PrivateLink 的更多信息,请访问 PrivateLink 文档

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

EC2 Systems Manager 不收费。

Run Command

问:什么是 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、SDK 或 EC2 管理控制台进行检索。

State Manager

问:什么是 State Manager?

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

问:为什么要使用 State Manager?

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

问:如何创建策略?

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

问:可以配置的目标是什么?

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

Patch Manager

问:什么是 Patch Manager?

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

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

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

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

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

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

Patch Manager 支持修补基于 Windows 和 Linux 的实例。请访问我们的文档,以查看当前支持的版本。

问:如何选择要安装的修补程序?

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

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

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

Inventory

问:什么是 Inventory?

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

问:哪些人应该使用 Inventory?

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

问:我能否自定义 Inventory 收集的信息?

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

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

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

Automation

问:Automation 是什么?

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

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

Systems Manager 的 Automation 功能大大简化了 AMI 的维护工作,该功能允许您通过简化、可重复、可审核的流程来修补应用程序、为应用程序更新代理或将应用程序投入使用。或者,您还可以在工作流中使用 Run Command 和 AWS Lambda 来大规模地安排实例及其他 AWS 资源的配置和管理。

Parameter Store

问:什么是 Parameter Store?

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

问:为什么要使用 Parameter Store?

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

问:如何存储敏感数据?

安全字符串指的是需要以安全的方式存储和引用的所有敏感数据。如果您有不希望用户以明文形式引用的数据,或者您拥有可能被篡改或误用的数据的访问权限,则应在 Parameter Store 中使用安全字符串。您可以使用自己的 AWS Key Management Service (KMS) 密钥或 KMS 为您的用户账户提供的默认密钥来加密敏感数据。

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

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

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

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

维护时段

问:什么是维护时段?

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

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

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

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

您可以创建和计划任何 Run Command、Amazon EC2 Systems Manager Automation、AWS Step Functions 或 AWS Lambda 函数作为任务。

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

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