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

使用 AWS CLI、适用于 Windows PowerShell 的 AWS 工具 或者 AWSEC2-ManageVssIO SSM 文档创建 VSS 应用程序一致性快照,

本部分包括通过使用 AWS CLI 或 适用于 Windows PowerShell 的 AWS 工具 创建启用 VSS 的 EBS 快照的步骤。本节还包含使用 AWSEC2-ManageVssIO SSM 文档创建启用了 VSS 的快照的高级方法。

使用 AWS CLI 或 Windows PowerShell 工具 安装 VSS 程序包

使用以下命令行步骤之一下载并将 VSS 组件安装到 EC2 实例上的 Windows。

使用 AWS CLI 安装 VSS 程序包

可以使用以下过程下载 AwsVssComponents 程序包,并从 AWS CLI 中使用 Run Command 在实例上安装该程序包。该程序包安装两个组件:VSS 请求程序和 VSS 提供程序。系统将这些组件复制到实例上的某个目录,然后将提供程序 DLL 注册为 VSS 提供程序。

使用 AWS CLI 安装 VSS 程序包

  1. Install and configure the AWS CLI, if you have not already.

    For information, see Install or Upgrade and then Configure the AWS CLI in the AWS Systems Manager 用户指南.

  2. 运行以下命令下载并安装 Systems Manager 所需的 VSS 组件。

    aws ssm send-command ()document-name "AWS-ConfigureAWSPackage" -instance-ids "i-12345678" -parameters '{"action":["Install"],"name":["AwsVssComponents"]}'

使用 Windows PowerShell 工具 安装 VSS 程序包

使用以下过程用 Run Command 从 Windows PowerShell 工具 下载 AwsVssComponents 程序包并在实例上进行安装。该程序包安装两个组件:VSS 请求程序和 VSS 提供程序。系统将这些组件复制到实例上的某个目录,然后将提供程序 DLL 注册为 VSS 提供程序。

使用 适用于 Windows 的 AWS 工具 PowerShell 安装 VSS 程序包

  1. 打开 适用于 Windows PowerShell 的 AWS 工具 并运行以下命令以指定您的凭证。您必须在 Amazon EC2 中具有管理员权限,或者 IAM 中为您授予了相应的权限。有关更多信息,请参阅 AWS Systems Manager 用户指南 中的设置 AWS Systems Manager

    Set-AWSCredentials –AccessKey key_name –SecretKey key_name
  2. 运行以下命令,以便为 PowerShell 会话设置区域。该示例使用 us-east-2 区域。

    Set-DefaultAWSRegion -Region us-east-2
  3. 运行以下命令下载并安装 Systems Manager 所需的 VSS 组件。

    Send-SSMCommand -DocumentName AWS-ConfigureAWSPackage -InstanceId "$instance"-Parameter @{'action'='Install';'name'='AwsVssComponents'}

使用 AWS CLI、Windows PowerShell 工具 或 AWSEC2-ManageVssIO SSM 文档创建启用 VSS 的 EBS 快照

使用以下命令行步骤之一创建启用了 VSS 的 EBS 快照。

使用 AWS CLI 创建启用了 VSS 的 EBS 快照

使用以下过程来利用 AWS CLI 创建启用了 VSS 的 EBS 快照。在运行该命令时,您可以指定以下参数:

  • 实例 (必需):指定一个或多个 Amazon EC2 Windows 实例。您可以手动指定实例,也可以指定标签。

  • 描述 (可选):指定关于此备份的详细信息。

  • 标签 (可选):指定要分配给快照的键值标签对。标签可以帮助您找到、管理和从快照列表还原卷。默认情况下,系统使用 Name 密钥填充标签参数。对于此密钥的值,指定要应用于此过程创建的快照的名称。您还可以使用以下格式向此列表中添加自定义标签:Key=Environment,Value=Test;Key=User,Value=TestUser1

    此参数是可选的,但是我们建议您标记快照。默认情况下,系统使用设备 ID 和 AppConsistent 标记快照 (用于表示成功的启用 VSS 的应用程序一致性 EBS 快照)。

  • 排除引导卷 (可选):使用此参数从备份过程中排除引导卷。

使用 AWS CLI 创建启用了 VSS 的 EBS 快照

  1. Install and configure the AWS CLI, if you have not already.

    For information, see Install or Upgrade and then Configure the AWS CLI in the AWS Systems Manager 用户指南.

  2. 运行以下命令以创建启用了 VSS 的 EBS 快照。

    aws ssm send-command -document-name "AWSEC2-CreateVssSnapshot" -instance-ids "i-12345678" -parameters '{"ExcludeBootVolume":["False"],"description":["Description"],"tags":["Key=key_name,Value=tag_value"]}'

如果成功,则该命令使用新快照填充 EBS 快照列表。您可以通过搜索指定的标签或搜索 AppConsistent 在 EBS 快照列表中查找这些快照。如果命令执行失败,请查看命令输出,了解执行失败的详细原因。

您可以创建使用 AWSEC2-CreateVssSnapshot SSM 文档的维护时段任务以自动执行备份。有关更多信息,请参阅 AWS Systems Manager 用户指南 中的使用维护时段(控制台)

使用 适用于 Windows 的 AWS 工具 PowerShell 创建启用了 VSS 的 EBS 快照

使用以下过程来利用 适用于 Windows 的 AWS 工具 PowerShell 创建启用了 VSS 的 EBS 快照。在运行该命令时,您可以指定以下参数:

  • 实例 (必需):指定一个或多个 Amazon EC2 Windows 实例。您可以手动指定实例,也可以指定标签。

  • 描述 (可选):指定关于此备份的详细信息。

  • 标签 (可选):指定要分配给快照的键值标签对。标签可以帮助您找到、管理和从快照列表还原卷。默认情况下,系统使用 Name 密钥填充标签参数。对于此密钥的值,指定要应用于此过程创建的快照的名称。您还可以使用以下格式向此列表中添加自定义标签:Key=Environment,Value=Test;Key=User,Value=TestUser1

    此参数是可选的,但是我们建议您标记快照。默认情况下,系统使用设备 ID 和 AppConsistent 标记快照 (用于表示成功的启用 VSS 的应用程序一致性 EBS 快照)。

  • 排除引导卷 (可选):使用此参数从备份过程中排除引导卷。

使用 适用于 Windows 的 AWS 工具 PowerShell 创建启用了 VSS 的 EBS 快照

  1. 打开 适用于 Windows PowerShell 的 AWS 工具 并运行以下命令以指定您的凭证。您必须在 Amazon EC2 中具有管理员权限,或者 IAM 中必须为您授予了相应的权限。有关更多信息,请参阅 AWS Systems Manager 用户指南 中的设置 AWS Systems Manager

    Set-AWSCredentials –AccessKey key_name –SecretKey key_name
  2. 执行以下命令为 PowerShell 会话设置区域。该示例使用 us-east-2 区域。

    Set-DefaultAWSRegion -Region us-east-2
  3. 执行以下命令创建启用了 VSS 的 EBS 快照。

    Send-SSMCommand -DocumentName AWSEC2-CreateVssSnapshot -InstanceId "$instance" -Parameter @{'ExcludeBootVolume'='False';'description'='a_description' ;'tags'='Key=key_name,Value=tag_value'}

如果成功,则该命令使用新快照填充 EBS 快照列表。您可以通过搜索指定的标签或搜索 AppConsistent 在 EBS 快照列表中查找这些快照。如果命令执行失败,请查看命令输出,了解执行失败的详细原因。如果命令成功完成,但特定卷备份失败,您可以在 EBS 快照列表中排查失败的原因。

您可以创建使用 AWSEC2-CreateVssSnapshot SSM 文档的维护时段任务以自动执行备份。有关更多信息,请参阅 AWS Systems Manager 用户指南 中的使用维护时段(控制台)

通过使用 AWSEC2-ManageVssIO SSM 文档(高级)创建启用 VSS 的 EBS 快照

您可以使用以下脚本和预定义的 AWSEC2-ManageVssIO SSM 文档以临时暂停 I/O,创建启用了 VSS 的 EBS 快照,然后重新启动 I/O。该过程在运行命令的用户的上下文中运行。如果用户具有足够的权限来创建和标记快照,那么 AWS Systems Manager 可以创建和标记启用了 VSS 的 EBS 快照,而实例上无需更多 IAM 快照角色。

相反,AWSEC2-CreateVssSnapshot 文档要求您将 IAM 快照角色分配给要创建 EBS 快照的每个实例。如果您出于策略或合规性原因不希望向您的实例提供其他 IAM 权限,则可以使用以下脚本。

开始前的准备工作

请注意有关该过程的以下重要详细信息:

  • 除了根卷以外,该过程使用 PowerShell 脚本 (CreateVssSnapshotAdvancedScript.ps1) 为指定的实例上的所有其他卷拍摄快照。如果需要拍摄根卷的快照,您必须使用 AWSEC2-CreateVssSnapshot SSM 文档。

  • 该脚本调用两次 AWSEC2-ManageVssIO 文档。第一次将 Action 参数设置为 Freeze,这会暂停实例上的所有 I/O。第二次将 Action 参数设置为 Thaw,这会强制恢复 I/O。

  • 在未使用 CreateVssSnapshotAdvancedScript.ps1 脚本的情况下,不要尝试使用 AWSEC2-ManageVssIO 文档。VSS 中的限制要求调用 FreezeThaw 操作相隔不超过十秒钟,在不使用脚本的情况下手动调用这些操作会导致错误。

通过使用 AWSEC2-ManageVssIO SSM 文档创建启用 VSS 的 EBS 快照

  1. 打开 适用于 Windows PowerShell 的 AWS 工具 并运行以下命令以指定您的凭证。您必须在 Amazon EC2 中具有管理员权限,或者 IAM 中为您授予了相应的权限。有关更多信息,请参阅 AWS Systems Manager 用户指南 中的设置 AWS Systems Manager

    Set-AWSCredentials –AccessKey key_name –SecretKey key_name
  2. 执行以下命令为 PowerShell 会话设置区域。该示例使用 us-east-2 区域。

    Set-DefaultAWSRegion -Region us-east-2
  3. 下载 CreateVssSnapshotAdvancedScript.zip 文件并提取文件内容。

  4. 在文本编辑器中打开 CreateVssSnapshotAdvancedScript.zip,编辑脚本底部的示例调用以包含有效的 EC2 实例 ID、快照描述和所需的标签值,然后从 PowerShell 中运行该脚本。

如果成功,则该命令使用新快照填充 EBS 快照列表。您可以通过搜索指定的标签或搜索 AppConsistent 在 EBS 快照列表中查找这些快照。如果命令执行失败,请查看命令输出,了解执行失败的详细原因。如果命令成功完成,但特定卷备份失败,您可以在 EBS 卷列表中排查失败的原因。