为组织中的实例配置补丁 - Amazon Systems Manager
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

为组织中的实例配置补丁

借助(Quick SetupAmazon Systems Manager 的一项功能),您可以创建由 Patch Manager 提供支持的补丁策略。补丁策略定义了自动修补 Amazon Elastic Compute Cloud (Amazon EC2) 实例和其他托管节点时要使用的计划和基准。使用单一补丁策略配置,您可以为贵组织中多个 Amazon Web Services 区域 的所有账户定义修补、仅为所选的账户和区域定义修补,或为单个账户区域对定义修补。有关补丁策略的更多信息,请参阅 使用 Quick Setup 补丁策略

先决条件

要使用 Quick Setup 为节点定义补丁策略,该节点必须是托管节点。有关管理节点的更多信息,请参阅 设置 Amazon Systems Manager

重要

补丁合规性扫描方法 – Systems Manager 支持多种方法来扫描托管式节点,可以满足补丁合规性。若同时执行上述方法中的多种方法,您看到的补丁合规信息将始终是最近一次扫描的结果。先前扫描的结果将被覆盖。如果扫描方法使用不同的补丁基准,有不同的批准规则,那么补丁合规信息可能会出现意外变更。有关更多信息,请参阅 避免意外覆盖补丁合规性数据

关联合规性状态和补丁策略 – Quick Setup 补丁策略下的托管式节点的修补状态与该节点的 State Manager 关联执行状态相匹配。如果关联执行状态为 Compliant,则还会将托管式节点的修补状态标记为 Compliant。如果关联执行状态为 Non-Compliant,则还会将托管式节点的修补状态标记为 Non-Compliant

支持补丁策略配置的区域

以下区域当前支持 Quick Setup 中的补丁策略配置:

  • 美国东部(俄亥俄州)(us-east-2)

  • 美国东部(弗吉尼亚州北部)(us-east-1)

  • 美国西部(北加利福尼亚)(us-west-1)

  • 美国西部(俄勒冈州)(us-west-2)

  • 亚太地区(孟买)(ap-south-1)

  • 亚太地区(首尔)(ap-northeast-2)

  • 亚太地区(新加坡)(ap-southeast-1)

  • 亚太地区(悉尼)(ap-southeast-2)

  • 亚太地区(东京)(ap-northeast-1)

  • 加拿大(中部)(ca-central-1)

  • 欧洲地区(法兰克福)(eu-central-1)

  • 欧洲地区(爱尔兰)(eu-west-1)

  • 欧洲(伦敦)(eu-west-2)

  • 欧洲地区(巴黎)(eu-west-3)

  • 欧洲地区(斯德哥尔摩)(eu-north-1)

  • 南美洲(圣保罗)(sa-east-1)

补丁策略 S3 存储桶的权限

创建补丁策略时,Quick Setup 会创建一个 Amazon S3 存储桶,其中包含一个名为 baseline_overrides.json 的文件。此文件存储了有关为补丁策略指定的补丁基准的信息。

S3 存储桶以 aws-quicksetup-patchpolicy-account-id-quick-setup-configuration-id 格式命名。

例如:aws-quicksetup-patchpolicy-123456789012-abcde

如果您要为组织创建补丁策略,则存储桶将在组织的管理账户中创建。

对于以下两种使用案例,您必须向其他 Amazon 资源提供使用 Amazon Identity and Access Management(IAM)policy 访问此 S3 存储桶的权限:

无论哪种情况,您需要的权限策略位于下面的 Quick Setup S3 存储桶的策略权限

情况 1:将您自己的实例配置文件或服务角色与托管式节点一起使用,而不是 Quick Setup 提供的实例配置文件或服务角色

补丁策略配置包括一个选项,用于将所需的 IAM policy 添加到附加于实例的现有实例配置文件中

如果您不选择此选项,但想要 Quick Setup 使用此补丁策略修补托管式节点,则必须确保实施以下内容:

  • IAM 托管式策略 AmazonSSMManagedInstanceCore 必须附加到用于向托管式节点提供 Systems Manager 权限的 IAM 实例配置文件或 IAM 服务角色

  • 您必须将访问补丁策略存储桶的权限添加为 IAM 实例配置文件或 IAM 服务角色的内联策略。您可以提供对所有 aws-quicksetup-patchpolicy 存储桶的通配符访问权限,或仅对为组织或账户创建的特定存储桶提供通配符访问权限,如前面的代码示例所示。

  • 您必须使用以下键值对标记 IAM 实例配置文件或 IAM 服务角色。

    Key: QSConfigId-quick-setup-configuration-id, Value: quick-setup-configuration-id

    quick-setup-configuration-id 表示应用于创建补丁策略配置时使用的 Amazon CloudFormation 堆栈的参数值。要检索此 ID,请执行以下操作:

    1. 打开 Amazon CloudFormation 控制台,地址:https://console.aws.amazon.com/cloudformation

    2. 选择用于创建补丁策略的堆栈名称。名称的格式,例 StackSet-AWS-QuickSetup-PatchPolicy-LA-q4bkg-52cd2f06-d0f9-499e-9818-d887cEXAMPLE

    3. 选择参数选项卡。

    4. 参数列表的密钥列中,找到密钥 QSConfigurationId。在其行的列中,找到配置 ID,例如 abcde

      在此示例中,对于要应用于实例配置文件或服务角色的标签,密钥为 QSConfigId-abcde,值为 abcde

有关向 IAM 角色添加标签的信息,请参阅《IAM 用户指南》中的标记 IAM 角色管理实例配置文件(Amazon CLI 或 Amazon API)的标签

情况 2:使用 VPC 端点连接到 Systems Manager

如果您使用 VPC 端点连接到 Systems Manager,则 S3 的 VPC 端点策略必须允许访问 Quick Setup 补丁策略 S3 存储桶。

有关为 S3 的 VPC 端点策略添加权限的信息,请参阅《Amazon S3 用户指南》中的使用桶策略控制从 VPC 端点的访问

Quick Setup S3 存储桶的策略权限

您可以提供对所有 aws-quicksetup-patchpolicy 存储桶的通配符访问权限,或仅对为组织或账户创建的特定存储桶提供通配符访问权限。要为下述两种情况提供必要的权限,请使用任一格式。

All patch policy buckets
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AccessToAllPatchPolicyRelatedBuckets", "Effect": "Allow", "Action": "s3:GetObject", "Resource": "arn:aws:s3:::aws-quicksetup-patchpolicy-*" } ] }
Specific patch policy bucket
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AccessToMyPatchPolicyRelatedBucket", "Effect": "Allow", "Action": "s3:GetObject", "Resource": "arn:aws:s3:::aws-quicksetup-patchpolicy-account-id-quick-setup-configuration-id"Footnote callout 1 to explain a line in a JSON policy } ] }

1 创建补丁策略配置后,您可以在 S3 控制台中找到存储桶的全名。例如:aws-quicksetup-patchpolicy-123456789012-abcde

补丁策略操作中的随机补丁基准 ID

补丁策略的修补操作使用 AWS-RunPatchBaseline SSM Command 文档中的 BaselineOverride 参数。

您使用 AWS-RunPatchBaseline 在修补策略之外进行修补时,可以使用 BaselineOverride 指定要在操作期间使用的补丁基准列表,这些基准不同于指定的默认基准。您在名为 baseline_overrides.json 的文件中创建此列表,并将其手动添加到您拥有的 Amazon S3 存储桶,如 使用基准覆盖参数 中所述。

但是,对于基于补丁策略的修补操作,Systems Manager 会自动创建 S3 存储桶并向其中添加 baseline_overrides.json 文件。然后,每次 Quick Setup 运行修补操作(使用 Run Command)功能时,系统都会为每个补丁基准生成一个随机 ID。对于每个补丁策略修补操作,此 ID 都是不同的,并且它代表的补丁基准不会在您的账户中存储或访问。

因此,您将不会在修补日志中看到配置中选择的补丁基准 ID。这适用于 Amazon 托管式补丁基准和您可能选择的自定义补丁基准。日志中报告的基准 ID 是为此特定修补操作生成的基准 ID。

此外,如果您尝试在 Patch Manager 中查看有关使用随机 ID 生成的补丁基准的详细信息,系统会报告此补丁基准不存在。此为预期行为,可以安全忽略。

创建补丁策略

要创建补丁策略,请在 Systems Manager 控制台中执行以下任务。

使用 Quick Setup 创建补丁策略
  1. 访问 https://console.aws.amazon.com/systems-manager/,打开 Amazon Systems Manager 控制台。

    如果您正在为组织设置修补,请确保您已登录到该组织的管理账户。您无法使用委派管理员账户或成员账户设置策略。

  2. 在导航窗格中,选择 Quick Setup

  3. Patch Manager(补丁管理器)选项卡上,选择 Create(创建)。

    提示

    如果您的账户中已经有一个或多个配置,请先选择选项卡或配置部分的中的创建按钮以查看卡片。

  4. Configuration name(配置名称)中输入名称以帮助识别补丁策略。

  5. Scanning and installation(扫描和安装)部分的 Patch operation(补丁操作)下,选择补丁策略是 Scan(扫描)指定目标还是在指定目标 Scan and install(扫描并安装)补丁。

  6. Scanning schedule(扫描计划)下,选择 Use recommended defaults(使用推荐的默认值)或 Custom scan schedule(自定义扫描计划)。默认扫描计划将在世界标准时间每天凌晨 1 点扫描目标。

    • 如果选择 Custom scan schedule(自定义扫描计划),请选择 Scanning frequency(扫描频率)。

    • 如果您选择 Daily(每日),请以 UTC 为单位输入要扫描目标的时间。

    • 如果选择 Custom CRON Expression(自定义 CRON 表达式),请以 CRON 表达式的形式输入计划。有关为 Systems Manager 设置 CRON 表达式的更多信息,请参阅 参考:适用于 Systems Manager 的 Cron 和 Rate 表达式

      此外,选择 Wait to scan targets until first CRON interval(等到第一个 CRON 间隔才扫描目标)。默认情况下,在节点成为目标时 Patch Manager 立即对其进行扫描。

  7. 如果选择 Scan and install(扫描并安装),请选择向指定目标安装补丁时要使用的 Installation schedule(安装计划)。如果您选择 Use recommended defaults(使用推荐的默认值),则 Patch Manager 将在世界标准时间星期天凌晨 2 点安装补丁。

    • 如果选择 Custom install schedule(自定义安装计划),请选择 Installation frequency(安装频率)。

    • 如果您选择 Daily(每日),请输入要对目标更新安装的时间。

    • 如果选择 Custom CRON expression(自定义 CRON 表达式),请以 CRON 表达式的形式输入计划。有关为 Systems Manager 设置 CRON 表达式的更多信息,请参阅 参考:适用于 Systems Manager 的 Cron 和 Rate 表达式

      此外,清除 Wait to install updates until first CRON interval(等到第一个 CRON 间隔才安装更新),以便在节点成为目标时立即在节点上安装更新。默认情况下,Patch Manager 等到第一个 CRON 间隔出现才会安装更新。

    • 安装补丁后,请选择 Reboot if needed(需要时重新启动)以重新启动节点。建议在安装后重新启动,但可能会导致可用性问题。

  8. Patch baseline(补丁基准)部分中,选择扫描和更新目标时要使用的补丁基准。

    默认情况下,Patch Manager 使用预定义的补丁基准。有关更多信息,请参阅 关于预定义基准

    如果您选择 Custom patch baseline(自定义补丁基准),请为不想使用预定义 Amazon 补丁基准的操作系统更改所选补丁基准。

    注意

    如果您使用 VPC 端点连接到 Systems Manager,确保 S3 的 VPC 端点策略必须允许访问此 S3 存储桶。有关更多信息,请参阅 补丁策略 S3 存储桶的权限

    重要

    如果您在 Quick Setup 中使用补丁策略配置,则系统会每小时与 Quick Setup 同步一次您对自定义补丁基准所做的更新。

    如果删除了补丁策略中引用的自定义补丁基准,那么补丁策略的 Quick Setup Configuration details(配置详细信息)页面上会显示一个横幅。横幅将通知您,补丁策略引用的补丁基准已不存在,且后续的修补操作将失败。在这种情况下,返回 Quick Setup Configurations(配置)页面,选择 Patch Manager 配置,然后选择 Actions(操作),Edit configuration(编辑配置)。已删除的补丁基准名称将突出显示,您必须为受影响的操作系统选择新的补丁基准。

  9. (可选)在 Patching log storage(修补日志存储)部分中,选择 Write output to S3 bucket(将输出写入 S3 存储桶),将补丁操作日志存储在 Amazon S3 存储桶中。

    注意

    如果您要为组织设置补丁策略,则您的组织的管理账户必须至少具有此存储桶的只读权限。策略中包含的所有组织单位都必须具有存储桶的写入权限。有关向不同账户授予存储桶访问权限的信息,请参阅 Amazon Simple Storage Service 用户指南中的示例 2:存储桶所有者授予跨账户存储桶权限

  10. 选择浏览 S3,以选择要在其中存储补丁日志输出的存储桶。管理账户必须具有对此存储桶的读取权限。在 Targets(目标)部分配置的所有非管理账户和目标都必须具有对所提供的 S3 存储桶的写入权限才能进行记录。

  11. Targets(目标)部分中,选择以下选项之一以确定此补丁策略操作的账户和区域。

    注意

    如果您使用单一账户,用于组织和组织单位 (OU) 的选项将不可用。您可以选择是将此配置应用于账户 Amazon Web Services 区域 中的所有区域,还是仅将此配置应用于您选择的区域。

    • Entire organization(整个组织):组织中的所有账户和区域。

    • Custom(自定义):仅限您指定的 OU 和区域。

      • Target OUs(目标组织单位)部分,选择要设置补丁策略的组织单位。

      • Target Regions(目标区域)部分,选择要设置补丁策略的区域。

    • Current account(当前账户):只有您在当前登录的账户中指定的区域才是目标区域。选择以下操作之一:

      • Current Region(当前区域):仅以在控制台中选择的区域中的托管节点为目标。

      • Choose Regions(选择区域):选择要将补丁策略应用到的各个区域。

  12. 对于 Choose how you want to target instances(选择您希望如何定位实例),请选择以下选项之一来标记要修补的节点:

    • All managed nodes(所有托管节点):选定 OU 和区域中的所有托管节点。

    • Specify the resource group(指定资源组):从列表中选择资源组的名称以将其关联资源作为目标。

      注意

      目前,仅单个账户配置支持选择资源组。要修补多个账户中的资源,请选择不同的目标选项。

    • Specify a node tag(指定节点标签):只有使用您指定的键值对标记的节点才会在您的目标账户和区域中得到修补。

    • Manual(手动):从列表中手动选择所有指定账户和区域的托管节点。

      注意

      此选项目前仅支持 Amazon EC2 实例。

  13. Rate control(速率控制)部分,执行以下操作:

    • 对于 Concurrency(并发),输入要同时运行补丁策略的节点数量或百分比。

    • 对于 Error threshold(错误阈值),输入在补丁策略失败之前可能出现错误的节点数量或百分比。

  14. 选择将所需的 IAM policy 添加到附加到实例的现有实例配置文件复选框。

    此选择会将此 Quick Setup 配置创建的 IAM policy 应用于已附加实例配置文件(EC2 实例)或服务角色(混合激活节点)的节点。若您的托管式节点已经附加实例配置文件或服务角色,但它不包含使用 Systems Manager 所需的所有权限,我们推荐选择该选项。

    此处的选择将应用于稍后在此补丁策略配置应用的账户和区域中创建的托管节点。

    重要

    如果您不选中此复选框,但想要 Quick Setup 使用此补丁策略修补托管式节点,则必须确保实施以下内容:

    向您的 IAM 实例配置文件IAM 服务角色添加权限,以访问为补丁策略创建的 S3 存储桶

    使用特定的键值对标记 IAM 实例配置文件或 IAM 服务角色。

    有关信息,请参阅情况 1:将您自己的实例配置文件或服务角色与托管式节点一起使用,而不是 Quick Setup 提供的实例配置文件或服务角色

  15. 选择创建

    在创建补丁策略后要查看补丁状态,您可以从 Quick Setup 页面访问配置。