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

执行自动升级

您可以使用 AWS Systems Manager SSM 文档在 AWS 上具有 Windows Server 2008 R2 和 SQL Server 2008 R2 Service Pack 3 的实例上执行自动升级。

Systems Manager Automation 文档提供了两个升级途径:

将在自动升级过程中使用以下 AWS 服务:

  • AWS Systems Manager。AWS Systems Manager 是一个功能强大的统一界面,可以集中管理您的 AWS 资源。有关更多信息,请参阅 AWS Systems Manager 用户指南

  • AWS Systems Manager 代理 (SSM 代理) 是一个 Amazon 软件,可以在 Amazon EC2 实例、本地服务器或虚拟机 (VM) 上安装和配置。SSM 代理让 Systems Manager 可以更新、管理和配置这些资源。代理在 AWS 云中处理 Systems Manager 服务的请求,然后按照请求中的指定运行它们。有关更多信息,请参阅 AWS Systems Manager 用户指南 中的使用 SSM 代理

  • AWS Systems Manager SSM 文档。SSM 文档定义 Systems Manager 对您的托管实例执行的操作。SSM 文档使用 JavaScript Object Notation (JSON) 或 YAML,并包括您指定的步骤和参数。本主题使用两个 Systems Manager SSM Automation 文档。有关更多信息,请参阅 AWS Systems Manager 用户指南 中的 AWS Systems Manager 文档

先决条件

要使用 AWS Systems Manager SSM 文档自动完成升级,您必须执行以下任务:

使用指定的权限创建 IAM 角色

有关如何创建 IAM 角色以允许 AWS Systems Manager 代表您访问资源的步骤,请参阅创建角色以向 AWS 服务委派权限。本主题还包含有关如何验证您的账户是否满足使用 Systems Manager 的先决条件的信息。

选择执行选项

在 Systems Manager 控制台上选择自动化时,请选择执行。在选择 SSM 文档后,将提示您选择自动化执行选项。您可以从以下选项中进行选择。在本主题后面提供的途径步骤中,我们使用简单执行选项。

简单执行

如果要更新单个实例,但不希望执行每个自动化步骤以审核结果,请选择该选项。在下面的升级步骤中更详细地介绍了该选项。

速率控制

如果要将升级应用于多个实例,请选择该选项。您可以定义以下设置。

  • 参数

    该设置(也会在“多账户和区域”设置中设置)定义了如何完成自动化。

  • 目标

    选择要将自动化应用到的目标。也会在“多账户和区域”设置中设置该设置。

  • 参数值

    使用自动化文档参数中定义的值。

  • 资源组

    在 AWS 中,资源是您可以使用的实体。示例包括 Amazon EC2 实例、AWS CloudFormation 堆栈或 Amazon S3 存储桶。如果您使用多个资源,将它们作为一个组进行管理可能是非常有用的,而不是在每个任务中将其从一个 AWS 服务移动到另一个 AWS 服务。在某些情况下,您可能希望管理大量相关的资源,例如,构成应用程序层的 EC2 实例。在这种情况下,您可能需要同时对这些资源执行批量操作。

  • 标签

    标签帮助您按不同的方式对 AWS 资源进行分类,例如,按用途、所有者或环境进行分类。如果您具有很多相同类型的资源,这种分类是非常有用的。您可以使用分配的标签快速识别特定的资源。

  • 速率控制

    也会在“多账户和区域”设置中设置速率控制。在设置速率控制参数时,您可以按目标数或队列百分比定义要将自动化应用到的队列数量。

多账户和区域

除了在“速率控制”中指定的参数(也会在“多账户和区域”设置中使用)以外,还具有两个其他设置:

  • 账户和组织单位 (OU)

    指定要在其中运行自动化的多个账户。

  • AWS 区域

    指定要在其中运行自动化的多个 AWS 区域。

手动执行

该选项类似于简单执行,但允许您逐个执行每个自动化步骤并审核结果。

升级途径

共有两种升级途径,它们使用两个不同的 AWS Systems Manager Automation 文档。

  • AWSEC2-CloneInstanceAndUpgradeWindows。该脚本从您的账户的 Windows Server 2008 R2 实例中创建 Amazon 系统映像 (AMI),并将该 AMI 升级到 Windows Server 2012 R2。该多步骤过程最多可能需要两小时才能完成。

    在该工作流程中,自动化从实例中创建一个 AMI,然后在您提供的 VPC 和子网中启动新的 AMI。自动化工作流程执行从 Windows Server 2008 R2 到 Windows Server 2012 R2 的就地升级。该工作流程还会更新或安装升级的实例所需的 AWS 驱动程序。在升级完成后,该工作流程创建新的 AMI 并终止升级的实例。

  • AWSEC2-CloneInstanceAndUpgradeSQLServer。该脚本从您账户的运行 SQL Server 2008 R2 SP3 的 Amazon EC2 实例中创建一个 AMI,然后将该 AMI 升级到 SQL Server 2016 SP2。该多步骤过程最多可能需要两小时才能完成。

    在该工作流程中,自动化从实例中创建一个 AMI,然后在您提供的子网中启动新的 AMI。接下来,自动化执行 SQL Server 2008 R2 到 SQL Server 2016 SP2 的就地升级。在升级完成后,自动化创建新的 AMI,然后再终止升级的实例。

    在自动升级过程中包含两个 AMI:

    • 当前运行的实例。第一个 AMI 是当前运行的实例,不会升级该实例。该 AMI 用于启动另一个实例以运行就地升级。在该过程完成后,将从您的账户中删除该 AMI,除非您明确要求保留原始实例。该设置是由 KeepPreUpgradeImageBackUp 参数处理的(默认值为 false,这表示默认删除该 AMI)。

    • 升级的 AMI。该 AMI 是自动化过程的结果。第二个 AMI 包含 SQL Server 2016 SP2 而不是 SQL Server 2008 R2。

    最终结果是一个 AMI,它是升级的 AMI 实例。

    在升级完成后,您可以在 VPC 中启动新的 AMI 以测试应用程序功能。在测试后,在执行另一个升级之前,请计划应用程序停机,然后再完全切换到升级的实例。

执行自动升级的步骤

将 Windows 2008 R2 升级到 2012 R2

该升级途径需要满足额外的先决条件才能成功完成。可以在 AWS Systems Manager 用户指南AWSEC2-CloneInstanceAndUpgradeWindows 自动化文档详细信息中找到这些先决条件。

在验证额外的必需任务后,请按照以下步骤使用 AWS Systems Manager 上的自动化文档将 Windows 2008 R2 实例升级到 Windows 2012 R2。

  1. AWS 管理控制台 打开 Systems Manager。

  2. 从左侧导航窗格中,选择自动化

  3. 选择执行自动化

  4. 搜索名为 AWSEC2-CloneInstanceAndUpgradeWindows 的自动化文档。

  5. 在显示该文档名称时,选择该文档。在选择该文档时,将显示文档详细信息。

  6. 选择下一步以输入该文档的参数。在页面顶部选择简单执行

  7. 根据以下准则输入请求的参数。

    • InstanceID

      类型:字符串

      (必需)运行 Windows Server 2012 R2 的实例。

    • InstanceProfile

      类型:字符串

      (必需)IAM 实例配置文件。这是用于针对 Amazon EC2 实例和 AWS AMI 执行 Systems Manager 自动化的 IAM 角色。有关更多信息,请参阅 AWS Systems Manager 用户指南 中的为 Systems Manager 创建 IAM 实例配置文件

    • SubnetId

      类型:字符串

      (必需)这是执行升级过程的子网以及源 EC2 实例所在的位置。验证子网是否具有到 AWS 服务(包括 Amazon S3)和 Microsoft 的出站连接(以下载补丁)。

    • KeepPreUpgradedBackUp

      类型:字符串

      (可选)如果该参数设置为 true,自动化将保留从实例中创建的映像。默认设置为 false.

    • RebootInstanceBeforeTakingImage

      类型:字符串

      (可选)默认值为 false(无重新引导)。如果该参数设置为 true,Systems Manager 将在创建升级 AMI 之前重新引导实例。

  8. 在输入参数后,选择执行。在自动化开始时,您可以监控执行进度。

  9. 在自动化完成时,您将看到 AMI ID。您可以启动 AMI 以验证是否升级了 Windows 操作系统。

    注意

    自动化不需要运行所有步骤。根据自动化和实例行为,可以有条件地执行这些步骤。Systems Manager 可能会跳过一些不需要的步骤。

    此外,一些步骤可能会超时。Systems Manager 尝试升级并安装所有最新的补丁。不过,根据给定步骤的可定义超时设置,补丁有时会超时。在发生这种情况时,Systems Manager 自动化继续执行下一步,以确保将内部操作系统升级到 Windows Server 2012 R2。

  10. 在自动化完成后,您可以使用 AMI ID 启动 Amazon EC2 实例以检查升级。有关如何从 AWS AMI 中创建 Amazon EC2 实例的更多信息,请参阅如何从自定义 Amazon 系统映像 (AMI) 中启动 EC2 实例?

将 SQL Server 2008 R2 升级到 SQL Server 2016

该升级途径需要满足额外的先决条件才能成功完成。可以在 AWS Systems Manager 用户指南AWSEC2-CloneInstanceAndUpgradeSQLServer 自动化文档详细信息中找到这些先决条件。

在验证额外的必需任务后,请按照以下步骤使用 AWS Systems Manager 上的自动化文档将 SQL Server 2008 R2 数据库引擎升级到 SQL Server 2016。

  1. 如果尚未挂载,请下载 SQL Server 2016 .iso 文件并将其挂载到源服务器中。

  2. 在挂载该 .iso 文件后,复制所有组件文件,并将其放在所选的任何卷上。

  3. 拍摄该卷的 EBS 快照,并将快照 ID 复制到剪贴板以供以后使用。有关创建 EBS 快照的更多信息,请参阅 Amazon Elastic Compute Cloud 用户指南 中的创建 EBS 快照

  4. 将实例配置文件附加到 EC2 源实例。这允许 Systems Manager 与 EC2 实例通信,并在将其添加到 AWS Systems Manager 服务后在其中运行命令。对于该示例,我们将角色命名为 SSM-EC2-Profile-Role 并将 AmazonSSMManagedInstanceCore 策略附加到该角色。请参阅 AWS Systems Manager 用户指南 中的为 Systems Manager 创建 IAM 实例配置文件

  5. 在 AWS Systems Manager 控制台的左侧导航窗格中,选择托管实例。验证您的 EC2 实例是否位于托管实例列表中。如果在几分钟后没有看到您的实例,请参阅 AWS Systems Manager 用户指南 中的我的实例在哪里?

  6. 在左侧导航窗格中,选择自动化

  7. 选择执行自动化

  8. 选择 AWSEC2-CloneInstanceAndUpgradeSQLServer SSM 文档旁边的按钮,然后选择下一步

  9. 确保选择了简单执行选项。

  10. 根据以下准则输入请求的参数。

    • InstanceId

      类型:字符串

      (必需)运行 SQL Server 2008 R2(或更高版本)的实例。

    • IamInstanceProfile

      类型:字符串

      (必需)IAM 实例配置文件。

    • SnapshotId

      类型:字符串

      (必需)SQL Server 2016 安装介质的快照 ID。

    • SubnetId

      类型:字符串

      (必需)这是执行升级过程的子网以及源 EC2 实例所在的位置。验证子网是否具有到 AWS 服务(包括 Amazon S3)和 Microsoft 的出站连接(以下载补丁)。

    • KeepPreUpgradedBackUp

      类型:字符串

      (可选)如果该参数设置为 true,自动化将保留从实例中创建的映像。默认设置为 false.

    • RebootInstanceBeforeTakingImage

      类型:字符串

      (可选)默认值为 false(无重新引导)。如果该参数设置为 true,Systems Manager 将在创建升级 AMI 之前重新引导实例。

  11. 在输入这些参数后,选择执行。在自动化开始时,您可以监控执行进度。

  12. 执行状态显示成功时,展开输出以查看 AMI 信息。您可以使用 AMI ID 为所选的 VPC 启动 SQL Server 2016 实例。

  13. 打开 EC2 控制台。在左侧导航窗格中,选择 AMI。将会看到新的 AMI。

  14. 要验证是否成功安装了 SQL Server 2016,请选择新的 AMI,然后选择启动

  15. 为该 AMI 选择所需的实例类型、要部署到的 VPC 和子网以及要使用的存储。由于您从 AMI 中启动新的实例,因此,将以选项形式向您提供这些卷以包含在启动的新 EC2 实例中。您可以删除其中的任何卷,也可以添加卷。

  16. 添加标签以帮助您识别实例。

  17. 将一个或多个安全组添加到实例中。

  18. 选择 Launch Instance

  19. 选择实例的标签名称,然后在操作下拉列表中选择连接

  20. 验证 SQL Server 2016 是否为新实例上的新数据库引擎。