

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 具有 EBS 卷的 Amazon EC2 备份和恢复
<a name="backup-recovery-ec2-ebs"></a>

AWS 提供了多种备份您的 Amazon EC2 实例的方法。本节介绍为存储而备份 Amazon Elastic Block Store (Amazon EBS) 卷或实例存储卷的不同方面。 AWS 如果备份符合您的要求，请考虑将其 AWS Backup 作为管理备份的首选。请记住，只有当备份可以恢复到预期功能时，备份才是合格的。应定期测试复原和恢复功能以确认这一点。

下图中的解决方案架构描述了一个完全存在的工作负载环境，其中大部分架构都基于 Amazon EC2。 AWS 如下图所示，该场景包括 Web 服务器、应用程序服务器、监控服务器、数据库、Active Directory 和灾难恢复（DR）复制。

![\[包含两个可用区、私有子网中的私有数据库和副本数据库以及灾难恢复复制的示例环境示意图。\]](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/backup-recovery/images/workload-environment-aws.png)


AWS 为该架构中代表的许多 Amazon EC2 服务器提供了许多功能齐全的服务，用于执行创建、预配置、备份、还原和优化实例和存储的无差别工作。考虑这些服务在您的架构中是否有意义，以减少复杂性和管理。 AWS 还提供服务以提高基于 Amazon EC2 的架构的可用性。特别是 Amazon EC2 Auto Scaling 和 Elastic Load Balancing 来补充您在 Amazon EC2 上的工作负载。使用这些服务可以提高架构的可用性和容错能力，并帮助您恢复受损的实例，同时最大限度减少对用户的影响。

EC2 实例主要将 Amazon EBS 卷用于持久性存储。Amazon EBS 提供了许多备份和恢复功能，本节将详细介绍这些功能。

**Topics**
+ [Amazon EC2 使用快照进行备份和恢复 AMIs](ec2-backup.md)
+ [使用 AMIs 和 EBS 快照创建 EBS 卷备份](new-ebs-volume-backups.md)
+ [还原 Amazon EBS 卷或 EC2 实例](restore.md)

# Amazon EC2 使用快照进行备份和恢复 AMIs
<a name="ec2-backup"></a>

考虑是否需要使用 Amazon 机器映像 (AMI) 创建 EC2 实例的完整备份或拍摄单个卷的快照。

## 使用 AMIs 或 Amazon EBS 快照进行备份
<a name="amis-snapshots"></a>

AMI 包括以下内容：
+ 一个或多个快照。 Instance-store-backed AMIs 包括实例根卷的模板（例如，操作系统、应用程序服务器和应用程序）。
+ 启动权限，用于控制哪些 AWS 账户可以使用 AMI 启动实例。
+ 数据块设备映射，指定在实例启动时要附加到实例的卷。

**注意**  
在大多数情况下， AMIs 对于 Windows，红帽、SUSE 和 SQL Server 需要在 AMI 上提供正确的许可信息。有关更多信息，请参阅[了解 AMI 计费信息](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ami-billing-info.html)。从快照创建 AMI 时，`RegisterImage` 操作会从快照的元数据获取正确的账单信息，但这需要存在相应的元数据。要验证是否应用了正确的账单信息，请检查新 AMI 上的**平台详细信息**字段。如果该字段为空或不匹配预期的操作系统代码（例如 Windows、Red Hat、SUSE 或 SQL），则 AMI 创建失败，您应丢弃 AMI 并按照[从实例创建 AMI](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami-ebs.html#how-to-create-ebs-ami) 中的说明操作。

您可以使用 AMI 启动置有预配置软件和数据的新实例。当您想要建立基准时，您可以创建 AMI，这是一种用于启动更多实例、可重复使用的配置。当您创建现有 EC2 实例的 AMI 时，将为附加到该实例的所有卷拍摄快照。快照包括设备映射。

您不能使用快照启动新实例，但您可以使用快照来替换现有实例上的卷。如果您遇到数据损坏或卷故障，则可以根据拍摄的快照创建卷并替换旧卷。您还可以使用快照来配置新卷并在新实例启动期间连接它们。

如果您使用的是由 AMIs AWS 维护和发布的平台和应用程序 AWS Marketplace，请考虑为数据保留单独的卷。您可以将数据卷备份为独立于操作系统和应用程序卷的快照。然后使用由 AWS 或从 AMIs发布的最新更新的数据卷快照 AWS Marketplace。这种方法需要仔细测试和规划，以便在新发布的数据上备份和恢复所有自定义数据，包括配置信息 AMIs。

您在 AMI 备份或快照备份之间做出选择会影响还原过程。如果您创建 AMI 作为实例备份，则必须在还原过程中从 AMI 启动 EC2 实例。您可能还需要关闭现有实例以避免潜在冲突。可能发生冲突的一个例子是加入域的 Windows 实例的安全标识符 (SIDs)。快照的恢复过程可能需要您分离现有卷并连接新恢复的卷。或者，您可能需要更改配置，将应用程序指向新连接的卷。

AWS Backup 支持实例级备份为 AMIs 和卷级备份作为单独的快照：
+ 要完整备份实例上的所有 EBS 卷，请[创建 EC2 实例的 AMI](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami-ebs.html)。如果想要回滚，请通过启动实例向导创建实例。在实例启动向导中，选择**我的 AMIs**。
+ 要备份单个卷，请[创建快照](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-creating-snapshot.html)。要恢复快照，请参阅[从快照创建卷](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-creating-volume.html#ebs-create-volume-from-snapshot)。你可以使用 AWS 管理控制台 或 AWS Command Line Interface (AWS CLI)。

实例 AMI 的成本仅包含实例上所有卷的存储空间，不包含元数据。EBS 快照的成本包含单个卷的存储空间。有关卷存储成本的更多信息，请参阅 [Amazon EBS 定价页面](https://aws.amazon.com/ebs/pricing/)。

## 服务器卷
<a name="server-volumes"></a>

EBS 卷是 Amazon EC2 的主要永久存储选项。您可以将此块存储用于存储结构化数据（例如数据库）或非结构化数据（例如卷上文件系统中的文件）。

EBS 卷放置在特定的可用性区域中。这些卷在多个服务器间进行复制，以防止由于任何单个组件发生故障而丢失数据。故障是指卷完全或部分丢失，具体取决于卷的大小和性能。

EBS 卷的设计年故障率（AFR）为 0.1-0.2％。这使得 EBS 卷的可靠程度比普通磁盘高 20 倍，后者通常在 AFR 约为 4% 时出现故障。例如，如果 1,000 个 EBS 卷运行 1 年，则应该会有一两个卷出现故障。

Amazon EBS 还支持快照功能，用于对您的数据进行 point-in-time备份。所有 EBS 卷类型都提供持久的快照功能，旨在实现 99.999% 的可用性。有关更多信息，请参阅 [Amazon 计算服务等级协议](https://aws.amazon.com/ec2/sla/)。

Amazon EBS 允许创建任何 EBS 卷的快照（备份）。快照是创建 EBS 卷备份的基本功能。快照为 EBS 卷拍摄副本并将其放入 Amazon S3 中，其中数据以冗余方式存储在多个可用区中。初始快照是卷的完整副本；正在进行的快照仅存储增量块级别的更改。有关如何创建Amazon EBS 快照的详细信息，请参阅 [Amazon EBS 文档](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-creating-snapshot.html)。

在拍摄快照的同一区域，您可以[从 Amazon EC2 控制台](https://docs.aws.amazon.com/prescriptive-guidance/latest/backup-recovery/restore.html)执行还原操作、删除快照或更新与快照关联的快照元数据（例如标签）。

恢复快照会创建一个包含完整卷数据的新 Amazon EBS 卷。如果您只需要部分恢复，则可以使用不同的设备名称将卷连接到正在运行的实例。然后将其装载，并使用操作系统复制命令将数据从备份卷拷贝到制作卷。

如亚马逊 EBS 文档中所述，也可以使用亚马逊 EBS 快照复制功能在 AWS 区域之间复制 A [mazon E](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-copy-snapshot.html) BS 快照。您可以使用此功能将备份存储在另一区域，而不必管理底层复制技术。

## 建立单独的服务器卷
<a name="separate-server"></a>

您可能已经为操作系统、日志、应用程序和数据使用了一组标准的独立卷。通过建立单独的服务器卷，可以缩小因磁盘空间耗尽而导致应用程序或平台故障时的影响范围。使用物理硬盘时，这种风险通常更大，因为您无法灵活地快速扩展存储量。对于物理驱动器，您必须购买新的驱动器，备份数据，然后在新驱动器上恢复数据。有了它 AWS，这种风险就会大大降低，因为您可以使用 Amazon EBS 来扩展您的预配置卷。有关更多信息，请参阅 [AWS 文档](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/modify-volume-requirements.html)。

为应用程序数据、用户数据、日志和交换文件保留单独的卷，以便您可以对这些资源使用不同的备份和还原策略。通过为数据分隔卷，您还可以根据数据的性能和存储要求使用不同类型的卷。然后，您可以针对不同工作负载优化和微调成本。

## 实例存储卷注意事项
<a name="instance-store-volumes"></a>

实例存储 为您的实例提供临时性块级存储。此存储位于已物理附加到主机的磁盘上。实例存储非常适合临时存储频繁更改的信息，例如缓冲区、缓存、暂存数据和其他临时内容。对于在一组实例集中复制的数据，例如负载均衡的 Web 服务器池，它们也更可取。

实例存储内的数据仅在与关联的实例的生命周期内保留。如果实例重启 (无论是故意还是意外)，实例存储内的数据都会保留下来。然而，在以下任一情况下，实例存储中的数据会丢失。
+ 底层驱动器故障。
+ 实例停止。
+ 实例终止。

因此，切勿依赖实例存储来存储珍贵且需要长期保存的数据。应使用更持久的数据存储，如 Amazon S3、Amazon EBS 或 Amazon EFS。

实例存储卷的常见策略是，基于恢复点目标 (RPO) 和恢复时间目标 (RTO)，根据需要定期将必要的数据保存到 Amazon S3。然后，当启动新实例时，您可以将数据从 Amazon S3 下载到您的实例存储。您也可以在实例停止之前将数据上传到 Amazon S3。为了保持持久性，请创建一个 EBS 卷，将其连接到您的实例，然后定期将数据从实例存储卷复制到 EBS 卷。有关更多信息，请参阅[AWS 知识中心](https://aws.amazon.com/premiumsupport/knowledge-center/back-up-instance-store-ebs/)。

## 为 EBS 快照添加标签并强制执行标准 AMIs
<a name="tagging"></a>

标记所有 AWS 资源是成本分配、审计、故障排除和通知的重要做法。标记对于 EBS 卷很重要，这样才能提供管理和恢复卷所需的相关信息。标签不会自动从 EC2 实例复制到源卷 AMIs 或从源卷复制到快照。确保您的备份过程包含来自这些来源的相关标签。这将帮助您设置快照元数据（如访问策略、附件信息和成本分配），以便将来使用这些备份。有关为 AWS 资源添加标签的更多信息，请参阅[标记最佳实践技术论文](https://d1.awsstatic.com/whitepapers/aws-tagging-best-practices.pdf)。

除了用于所有 AWS 资源的标签外，还可使用以下特定于备份的标签：
+ 源实例 ID
+ 源卷 ID（用于快照）
+ 恢复点描述

您可以使用 AWS Config 规则和 IAM 权限强制执行标签策略。IAM 支持强制使用标签，因此您可以编写 IAM policies，强制在处理 Amazon EBS 快照时使用特定标签。如果尝试 `CreateSnapshot` 操作时未使用 IAM 权限策略中定义的标签授予权限，则快照创建失败，访问被拒绝。有关更多信息，请参阅[关于在创建时标记 Amazon EBS 快照和实施更严格安全策略的博客文章](https://aws.amazon.com/blogs/compute/tag-amazon-ebs-snapshots-on-creation-and-implement-stronger-security-policies/)。

您可以使用 AWS Config 规则自动评估 AWS 资源的配置设置。为了帮助您入门， AWS Config 提供了名为托管规则的可自定义的预定义规则。您还可以创建自己的自定义规则。在 AWS Config 持续跟踪资源之间的配置更改的同时，它会检查这些更改是否违反了规则中的任何条件。如果某个资源违反了规则，则会将该资源和规则 AWS Config 标记为*不合规*。请注意，[必填标签托](https://docs.aws.amazon.com/config/latest/developerguide/required-tags.html)管规则目前不支持快照和。 AMIs

# 使用 AMIs 和 EBS 快照创建 EBS 卷备份
<a name="new-ebs-volume-backups"></a>

AWS 为创建、 AMIs 管理和快照提供了丰富的选项。您可以使用满足您需求的方法。许多客户面临的一个常见问题是管理快照生命周期，并根据目的、保留策略等明确调整快照。如果没有适当的标记，快照可能会被意外删除或作为自动清理过程的一部分删除。您最终还可能要为保留的过时快照付费，因为不清楚是否还需要这些快照。

## 在创建快照或 AMI 之前准备 EBS 卷
<a name="prepare-volume"></a>

在拍摄快照或创建 AMI 之前，请对 EBS 卷进行必要的准备。创建 AMI 会为连接到实例的每个 EBS 卷生成一个新的快照，因此这些准备工作也适用于 AMIs。

您可以通过启动 EC2 实例制作正在使用的已附加 EBS 卷的快照。但是，快照只能捕获发出快照命令时已经写入您的 EBS 卷的数据。其中可能不包括已由应用程序或操作系统缓存的任何数据。最佳做法是让系统处于不执行任何 I/O 的状态。理想情况下，计算机不接受流量并处于停止状态，但这种情况很少见，因为全天候的 IT 运营已成为常态。如果可以将系统内存中的任何数据刷新到应用程序正在使用的磁盘上，并且可以暂停对卷的任何文件写入操作，时间长到可以创建快照，那么快照就是完整的。

要进行干净的备份，必须暂停数据库或文件系统。执行此操作的方式取决于数据库或文件系统。

数据库的过程如下所示：

1. 如果可能，请将数据库置于热备份模式。

1. 运行 Amazon EBS 快照命令。

1. 使数据库退出热备份模式，或者，如果使用只读副本，则终止只读副本实例。

文件系统的过程类似，但它取决于操作系统或文件系统的功能。例如，XFS 是一个可以刷新其数据以实现一致备份的文件系统。有关更多信息，请参阅 [xfs\$1freeze](https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/storage_administration_guide/xfsfreeze)。或者，您可以使用支持冻结 I/O 的逻辑卷管理器简化此过程。

但是，如果您无法刷新或暂停向该卷写入所有文件，请执行以下操作：

1. 从操作系统中卸载卷。

1. 发出快照命令。

1. 重新装载卷以获得一致且完整的快照。当快照状态为“待处理”时，您可以重新挂载并使用卷。

快照过程在后台继续，快照创建速度很快，可以及时捕获某个点。您正在备份的卷将在几秒钟内卸载。您可以安排一个较小的备份窗口，在该窗口中客户端可以正常地处理中断。

当您为充当根设备的 EBS 卷创建快照时，应在拍摄快照之前停止实例。Windows 提供了卷影复制服务 (VSS) 来帮助创建应用程序一致的快照。 AWS 提供了一个 Systems Manager 文档，您可以运行该文档对支持 VSS 的应用程序进行映像级备份。这些快照包括这些应用程序和磁盘之间的挂起事务中的数据。在备份所有已附加的卷时，您无需关闭实例或将其断开连接。有关更多信息，请参阅 [AWS 文档](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/application-consistent-snapshots.html)。

**注意**  
如果您正在创建 Windows AMI 以便可以部署另一个类似的实例，请使用 [EC2Config 或 EC2 Launch](https://aws.amazon.com/premiumsupport/knowledge-center/sysprep-create-install-ec2-windows-amis/) 来对您的实例进行[系统预处理](https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/sysprep--system-preparation--overview)。然后，从已停止的实例创建一个 AMI。Sysprep 会从 Amazon EC2 Windows 实例中删除唯一信息，包括计算机名称和驱动程序。 SIDs重复 SIDs 可能会导致 Active Directory、Windows 服务器更新服务 (WSUS)、登录问题、Windows 音量密钥激活、微软 Office 和第三方产品出现问题。如果您的 AMI 用于备份目的，并且您想要在所有唯一信息完好无损的情况下还原同一实例，请不要将 Sysprep 用于您的实例。

## 从控制台手动创建 EBS 卷快照
<a name="manual-snapshots"></a>

在进行任何尚未在实例上全面测试的重大更改之前，请创建相应卷或整个实例的快照。例如，您可能需要在实例上升级或修补应用程序或系统软件之前创建快照。

您可以从控制台手动创建快照。在 Amazon EC2 控制台的 **Elastic Block Store Volumes （弹性块存储卷）**页面上，选择要备份的卷。在 **Actions （操作）**菜单上，选择 **Create snapshot （创建快照）**。您可以通过在筛选框中输入实例 ID 来搜索连接到特定实例的卷。

输入描述并添加相应的标签。添加 `Name` 标签以便日后更容易找到该卷。根据您的标记策略添加任何其他合适的标签。

## 正在创建 AMIs
<a name="create-ami"></a>

AMI 提供启动实例所需的信息。AMI 包括根卷和创建映像时附加到实例的 EBS 卷的快照。您不能仅从 EBS 快照启动新实例；必须从 AMI 启动新实例。

创建 AMI 时，将在您使用的账户和区域中创建。AMI 创建过程会为连接到实例的每个卷创建 Amazon EBS 快照，AMI 指的是这些 Amazon EBS 快照。这些快照存储在 Amazon S3 中，并且非常耐用。

创建 EC2 实例的 AMI 后，您可以使用 AMI 重新创建实例或启动实例的更多副本。您也可以 AMIs 从一个区域复制到另一个区域以进行应用程序迁移或灾难恢复

![\[创建映像、向实例启动映像并创建映像副本。\]](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/backup-recovery/images/ami-process.png)


除非您将虚拟机（例如 VMWARE 虚拟机）迁移到，否则必须从 EC2 实例创建 AMI AWS。要从 Amazon EC2 控制台创建 AMI，请选择实例，然后依次选择 **操作**、**映像**、**创建映像**。

## Amazon Data Lifecycle Manager
<a name="amazon-dlm"></a>

您可以使用 [Amazon Data Lifecycle Manager](https://docs.aws.amazon.com/ebs/latest/userguide/snapshot-lifecycle.html) 来自动创建、保留和删除 EBS 快照。自动化快照管理可以帮助您完成以下工作：
+ 通过实施定期备份计划来保护重要数据。
+ 按照审核员的要求或内部合规性保留备份。
+ 通过删除过时的备份来降低存储成本。

使用 Amazon Data Lifecycle Manager，您可以自动执行 EC2 实例（及其附加的 EBS 卷）或单独 EBS 卷的快照管理流程。它支持跨区域复制等选项，因此您可以自动将快照复制到其他 AWS 区域。将快照复制到备选区域是支持备选区域中灾难恢复工作和恢复选项的一种方法。您也可以使用 Amazon Data Lifecycle Manager 创建支持[快速快照还原](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-fast-snapshot-restore.html)的快照生命周期策略。

Amazon Data Lifecycle Manager 是 Amazon EC2 和 Amazon EBS 的内含功能。Amazon Data Lifecycle Manager 不收取任何费用。

## AWS Backup
<a name="aws-backup-volume"></a>

AWS Backup 与 Amazon Data Lifecycle Manager 截然不同，因为您可以创建包含多项 AWS 服务的资源的备份计划。您可以协调备份以覆盖正在一起使用的资源，而不必单独协调资源的备份。

AWS Backup 还包括备份存储库的概念，它可以限制对已完成备份的恢复点的访问。恢复操作可以从每个资源启动， AWS Backup 而不是继续执行每个单独的资源并恢复创建的备份。 AWS Backup 还包括许多其他功能，例如审计管理和报告。有关更多信息，请参见本指南的 [使用 AWS Backup 备份和恢复[使用 AWS Backup 备份和恢复](aws-backup.md)](aws-backup.md) 部分。

## 执行多卷备份
<a name="multi-volume"></a>

如果要使用快照备份 RAID 阵列中 EBS 卷上的数据，则快照必须保持一致。原因在于这些卷的快照是独立创建的。从不同步的快照恢复 RAID 阵列中的 EBS 卷会降低阵列的完整性。

要为您的 RAID 阵列创建一组一致的快照，请使用 [CreateSnapshots](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateSnapshots.html)API 操作，或者登录 Amazon EC2 控制台并选择**弹性块存储**、**快照**、**创建快照**。

![\[用于创建多卷快照的 “Create Snapshot （创建快照）” 屏幕。\]](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/backup-recovery/images/multi-volume-snapshot.png)


在 RAID 配置中连接了多个卷的实例快照将合并为多卷快照。多卷快照可在连接 point-in-time到 EC2 实例的多个 EBS 卷之间提供数据协调且崩溃一致的快照。您不需要停止实例以在多个卷之间协调来实现一致性，因为快照将跨多个 EBS 卷自动拍摄。启动卷的快照后（通常是一两秒钟），文件系统可以继续其操作。

创建快照后，每个快照将视为单个快照。您可以执行与单卷快照相同的所有快照操作，例如恢复、删除、跨区域和帐户复制。您还可以标记多卷快照，就像您使用单卷快照执行的操作一样。我们建议您标记多卷快照以在恢复、复制或保留操作期间集中管理它们。有关详情，请参阅 [AWS 文档](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/application-consistent-snapshots.html)。

您也可以从逻辑卷管理器或文件系统级别的备份中执行这些备份。在这些情况下，使用传统的备份代理可通过网络备份数据。互联网和 [AWS Marketplace](https://aws.amazon.com/marketplace/) 中提供了许多基于代理的备份解决方案。

另一种方法是创建存在于单个大卷上的主系统卷的副本。这简化了备份过程，因为只需要备份一个大卷，而且备份不在主系统上进行。但是，首先要确定单个卷在备份期间能否充分发挥作用，以及最大卷大小是否适合应用程序。

## 保护您的 Amazon EC2 备份
<a name="protecting"></a>

重要的是要考虑备份的安全性，并防止意外或恶意删除备份。您可以综合使用多种方法来实现此目的。为防止由于安全漏洞而丢失重要备份，我们建议您将备份复制到其他 AWS 帐户。如果您有多个 AWS 帐户，则可以指定一个单独的帐户作为您的存档帐户，所有其他帐户都可以将备份复制到该帐户。例如，您可以使用 [AWS Backup中的跨账户备份](https://docs.aws.amazon.com/aws-backup/latest/devguide/create-cross-account-backup.html)完成此操作。

您的灾难恢复计划可能还要求您能够在另一个 AWS 区域 实例中重现 EC2 实例，以防出现区域故障。您可以通过将备份复制到同一账户内的其他区域来实现这一目标。这可以提供额外的意外删除保护层，并支持灾难恢复 (DR) 目标。 AWS Backup 为[跨区域备份](https://docs.aws.amazon.com/aws-backup/latest/devguide/cross-region-backup.html)提供支持。

考虑阻止 IAM 对 [ec2: DeleteSnapshot](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DeleteSnapshot.html) 和 [ec2: DeregisterImage](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DeregisterImage.html) 操作的权限。相反，您可以让您的保留策略和方法管理 EBS 快照和 Amazon EC2 AMIs 的生命周期。阻止删除操作是为 EBS 快照实施一次写入多次读取 (WORM) 策略的一种方法。您还可以使用[AWS Backup 文件库锁定](https://docs.aws.amazon.com/aws-backup/latest/devguide/vault-lock.html)，它为 EBS 快照和其他 AWS 资源提供支持。

此外，可以考虑通过阻止 ec2: AMIs 和 [ec2[: ModifySnapshotAttribute](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifySnapshotAttribute.html)](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyImageAttribute.html) IAM 操作来阻止用户共享ModifyImageAttribute和 EBS 快照。这将防止您的 AMIs和快照与组织外部的 AWS 帐户共享。如果您正在使用 AWS Backup，请限制用户对备份存储库执行类似的操作。有关更多信息，请参见本指南的 [使用 AWS Backup 备份和恢复](aws-backup.md) 部分。

Amazon EBS 包含[回收站功能](https://docs.aws.amazon.com/ebs/latest/userguide/recycle-bin.html)，可帮助您恢复意外删除的 EBS 快照。如果您允许用户删除快照，请开启此功能，这样所需的快照就不会被永久删除。用户在删除多个快照时应特别小心，因为 Amazon EC2 控制台允许您在一次操作中选择多个快照并将其删除。此外，在使用清理脚本和自动化时要小心，以免无意中删除所需快照。回收站功能有助于提供保护，使其免受此类情况的侵害。

## 归档 EBS 快照
<a name="archiving"></a>

如果您不打算保留在 90 天或更长时间内恢复的卷副本以供参考，[归档 EBS 快照](https://docs.aws.amazon.com/ebs/latest/userguide/snapshot-archive.html)是一种经济实惠的方法。在永久删除 EBS 卷的所有相关快照之前，这可能是一个不错的中间步骤。例如，对于不再使用的 EBS 卷，您可以考虑将存档快照作为一个 end-of-lifecycle步骤。存档而不是删除也是一种更具成本效益的删除保留方法，而不是使用回收站。

## 使用 Systems Manager 自动创建快照和 AMI AWS CLI AWS SDKs
<a name="automating"></a>

您的备份方法可能需要在创建快照或 AMI 之前或之后进行操作。例如，您可能需要停止和启动服务以停止文件系统。或者，您可能需要在 AMI 创建期间停止并启动您的实例。您可能还需要共同创建架构中多个组件的备份，每个组件都有自己的创建前和创建后步骤。

通过自动化备份过程并验证备份过程是否得到一致应用，可以缩短备份的维护时段时间。要自动执行自定义的创建前和创建后操作，请使用 AWS CLI 和 SDK 编写备份过程脚本。

您的自动化可以在 Systems Manager 运行手册中定义，该运行手册可以按需运行，也可以在 Systems Manager 维护时段内运行。您可以向用户授予运行 Systems Manager 运行手册的权限，而无需向他们授予对 Amazon EC2 破坏性命令的权限。这还可以帮助您验证您的用户是否一致地应用了您的备份过程和标记。您可以使用 [AWS-CreateSnapshot 和 [AWS-CreateImage](https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-aws-createimage.html)](https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-aws-createsnapshot.html) 运行手册来创建快照 AMIs，也可以向其他用户授予使用快照的权限。[https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-aws-updatelinuxami.html](https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-aws-updatelinuxami.html)

您还可以使用 AWS CLI 和[AWS Tools for Windows PowerShell](https://aws.amazon.com/powershell/)自动创建快照和 AMI。您可以使用 aws [ec2 create-sn](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-snapshot.html) apsho AWS CLI t 命令创建 EBS 卷的快照，这是自动化的一个步骤。您可以使用 [aws ec2 create-snapshots](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-snapshots.html) 命令为连接到 EC2 实例的所有卷创建崩溃一致的同步快照。

您可以使用 AWS CLI 创建新 AMIs的。您可以使用 [aws ec2 register-image](https://docs.aws.amazon.com/cli/latest/reference/ec2/register-image.html) 命令为 EC2 实例创建新映像。要自动关闭实例、创建映像和重启实例，请将此命令与 [aws ec2 stop-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/stop-instances.html) 和 [aws ec2 start-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/start-instances.html) 命令结合使用。

# 还原 Amazon EBS 卷或 EC2 实例
<a name="restore"></a>

如果您只需要恢复连接到 EC2 实例的单个卷，则可以单独恢复该卷，分离现有卷，然后将恢复的卷连接到 EC2 实例。如果您需要恢复整个 EC2 实例，包括其所有关联卷，则必须使用实例的 Amazon 机器映像 (AMI) 备份。

为了减少恢复时间和对相关应用程序和进程的影响，您的恢复过程必须考虑它所取代的资源。为了获得最佳结果，请定期在较低环境（例如非生产环境）中测试恢复过程，以验证您的过程是否符合恢复点目标 (RPO) 和恢复时间目标 (RTO)，以及恢复过程是否按预期运行。考虑恢复过程将如何影响依赖于您要恢复实例的应用程序和服务，然后根据需要协调恢复。尽量自动化并测试恢复过程，以降低恢复过程失败或实施不一致的风险。

如果您使用 Elastic Load Balancing，并且有多个实例为流量提供服务，则可能会使出现故障或受损的实例停止服务。然后，您可以恢复一个新实例来替换它，同时其他实例继续为流量提供服务，而不会对用户造成干扰。

描述的以下还原过程适用于未使用 Elastic Load Balancing 的实例：
+ 从 EBS 快照恢复单个文件和目录
+ 从Amazon EBS 快照还原 EBS 卷
+ 从 EBS 快照创建或恢复 EC2 实例
+ 从 AMI 还原正在运行的实例

## 从 EBS 快照恢复文件和目录
<a name="restore-files"></a>

[EBS 快照](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-snapshots.html)提供了用于创建快照的原始卷的 point-in-time精确副本。要还原单个文件或目录，必须执行以下操作：

1. [首先，从 EBS 快照中恢复卷](https://docs.aws.amazon.com/prescriptive-guidance/latest/backup-recovery/restore.html#restore-snapshot)，该快照包含文件或目录。

1. 将卷附加到要将文件还原到的 EC2 实例。

1. 将文件从还原卷复制到 EC2 实例卷。

1. 分离并删除已恢复的卷。

## 从Amazon EBS 快照还原 EBS 卷
<a name="restore-snapshot"></a>



您可以恢复连接到现有 EC2 实例的卷，方法是根据其快照创建卷并将其附加到您的实例。您可以使用控制台、 AWS CLI或 API 操作根据现有快照创建卷。然后，您可以使用操作系统将卷挂载到实例。

请注意，来自 Amazon EBS 快照的数据会异步加载到 EBS 卷中。如果应用程序访问未加载数据的卷，则从 Amazon S3 加载数据时，延迟将比正常情况更高。为避免对延迟敏感的应用程序造成这种影响，您有两种选择：
+ 您可以[初始化 EBS 卷](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-initialize.html)。
+ Amazon EBS 支持 [快速快照恢复](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-fast-snapshot-restore.html)，无需初始化您的卷，但需额外付费。

如果要更换必须使用相同装入点的卷，请卸载该卷，以便可以将新卷装入原处。要卸载该卷，请先停止所有正在使用该卷的进程。如果要替换根卷，则在分离根卷之前必须先停止实例。

例如，按照以下步骤使用控制台将卷恢复到之前的 point-in-time备份：

1. 在 Amazon EC2 控制台的 **弹性块存储** 菜单上，选择 **快照**。

1. 搜索要还原的快照，然后将其选中。

1. 选择 **Actions （操作）**，然后选择 **Create Volume （创建卷）**。

1. 在与 EC2 实例相同的可用区中创建新卷。

1. 在 Amazon EC2 控制台选择实例。

1. 在实例详细信息中，在**根设备**条目或**块设备**条目中记下要替换的设备名称。

1. 附加卷。根卷和非根卷的过程有所不同。

   根卷：

   1. 请停止 EC2 实例。

   1. 在 **EC2 弹性块存储卷**菜单上，选择要替换的根卷。

   1. 依次选择 **操作** 和 **分离卷**。

   1. 在 **EC2 弹性块存储卷**菜单上，选择新卷。

   1. 依次选择 **操作** 和 **附加卷**。

   1. 选择要将卷连接到的实例，并使用您之前记下的相同设备名称。

   非根卷：

   1. 在 **EC2 Elastic Block Store Volumes （EC2 弹性块存储卷）**菜单上，选择要替换的非根卷。

   1. 依次选择 **操作** 和 **分离卷**。

   1. 在 **EC2 弹性块存储卷**菜单上选择新卷，然后依次选择 **操作**、**附加卷**，即可连接新卷。选择要将其附加到的实例，然后选择可用的设备名称。

   1. 使用实例的操作系统，卸载现有卷，然后将新卷装入原处。

      在 Linux 操作系统下，您可以使用 `umount` 命令。在 Windows 中，您可以使用逻辑卷管理器 (LVM)，例如磁盘管理系统实用程序。

   1. 在 **EC2 弹性块存储卷** 菜单上选择该卷，然后依次选择**操作**、**分离卷**，即可分离之前可能要替换的任何卷。

您也可以将 AWS CLI 与操作系统命令结合使用来自动执行这些步骤。

## 从 EBS 快照创建或恢复 EC2 实例
<a name="instance-from-snapshot"></a>

要创建用于还原整个 EC2 实例的备份，我们建议创建 Amazon 机器映像 (AMI)。AMI 会捕获虚拟化类型等计算机信息。他们还为连接到 EC2 实例的每个卷创建快照，包括其设备映射，以便可以在相同的配置下恢复快照。

**注意**  
在大多数情况下， AMIs 对于 Windows，红帽、SUSE 和 SQL Server 需要在 AMI 上提供正确的许可信息。有关更多信息，请参阅[了解 AMI 计费信息](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ami-billing-info.html)。从快照创建 AMI 时，`RegisterImage` 操作会从快照的元数据获取正确的账单信息，但这需要存在相应的元数据。要验证是否应用了正确的账单信息，请检查新 AMI 上的**平台详细信息**字段。如果该字段为空或不匹配预期的操作系统代码（例如 Windows、Red Hat、SUSE 或 SQL），则 AMI 创建失败，您应丢弃 AMI 并按照[从实例创建 AMI](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami-ebs.html#how-to-create-ebs-ami) 中的说明操作。

如果您必须使用 EBS 快照来恢复实例，请先从 EBS 快照创建 AMI，该快照将成为新 EC2 实例的根卷：

1. 在 Amazon EC2 控制台的 **弹性块存储** 菜单上，选择 **快照**。

1. 搜索将用于为您的新 EC2 实例创建根卷的快照，然后将其选中。

1. 依次选择 **Actions （操作）** 和 **Create Image from Snapshot （从快照创建映像）**。

1. 输入映像名称（例如 `YYYYMMDD-restore-for-i-012345678998765de`），然后为新映像选择相应的选项。

1. （仅适用于 Windows、Red Hat、SUSE 和 SQL Server）要验证是否应用了正确的账单信息，请检查新 AMI 上的**平台详细信息**字段。如果该字段为空或不匹配预期的操作系统代码（例如 **Windows** 或 **Red Hat**），则 AMI 创建失败，您应丢弃 AMI 并按照[从实例创建 AMI](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami-ebs.html#how-to-create-ebs-ami) 中的说明操作。

映像创建并可用后，您可以启动一个新的 EC2 实例，该实例将使用 EBS 快照作为根卷。

## 从 AMI 还原正在运行的实例
<a name="restore-ami"></a>

您可以从 AMI 备份中启动新实例，以替换现有正在运行的实例。一种方法是停止现有实例，在从 AMI 启动新实例时将其保持离线状态，然后执行所有必要的更新。这种方法降低了两个实例同时运行时发生冲突的风险。如果您的实例提供的服务出现故障，或者您在维护时段内执行恢复，则这是一种可以接受的方法。测试新实例后，您可以重新指定分配给旧实例的任何弹性 IP 地址。然后，您可以更新任何域名服务 (DNS) 记录以指向新实例。

但是，如果在还原期间必须最大限度地减少服务中实例的停机时间，请考虑从 AMI 备份启动和测试新实例。然后将现有实例替换为新实例。

当两个实例都在运行时，您必须防止新实例造成任何平台级或应用程序级冲突。例如，使用相同 SIDs和计算机名称运行的加入域的 Windows 实例可能会遇到问题。对于需要唯一标识符的网络应用程序和服务，您可能会遇到类似问题。

为防止其他服务器和服务在新实例准备就绪之前连接到该实例，请使用安全组暂时阻止新实例的所有入站连接，但您自己用于访问和测试的 IP 地址除外。您也可以暂时阻止新实例的出站连接，以防止服务和应用程序启动对其他资源的任何连接或更新。新实例准备就绪后，停止现有实例，在新实例上启动服务和进程，然后解除对您实现的所有入站或出站网络连接的封锁。