

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

# Amazon EBS 快照
<a name="ebs-snapshots"></a>

您可以通过制作 point-in-time副本（称为 Amazon EBS 快照）来备份 *Amazon EBS* 卷上的数据。快照是**增量备份**，这意味着我们仅保存卷上自最新快照之后发生更改的块。由于无需复制数据，这将最大限度缩短创建快照所需的时间和增加存储成本节省。

**重要**  
AWS 不会自动备份存储在 EBS 卷上的数据。为满足数据恢复能力和灾难恢复的需要，您应定期创建 EBS 快照，或者使用 [使用 Amazon Data Lifecycle Manager 自动备份](snapshot-lifecycle.md) 或 [AWS Backup](https://docs.aws.amazon.com/aws-backup/latest/devguide/whatisbackup.html) 设置自动快照创建。

快照存储在 Amazon S3 中您无法直接访问的 S3 存储桶中。您可以使用 Amazon EC2 控制台或 Amazon EC2 API 创建和管理快照。您无法使用 Amazon S3 控制台或 Amazon S3 API 访问您的快照。

快照数据会自动复制到区域内的所有可用区。这为快照数据提供了高可用性和持久性，并使您能够还原该区域任何可用区中的卷。

每个快照都包含将数据（拍摄快照时存在的数据）还原到新 EBS 卷所需的所有信息。当您从快照创建 EBS 卷时，新卷将开始作为用于创建快照的卷的精确副本。

有关更多信息，请参阅 [Amazon EBS 快照](https://aws.amazon.com/ebs/snapshots/)产品页面。

**快照事件**  
您可以通过 “ CloudWatch 事件” 跟踪 EBS 快照的状态。有关更多信息，请参阅 [EBS 快照事件](ebs-cloud-watch-events.md#snapshot-events)。

**快照定价**  
快照的费用取决于存储的数据量。由于快照是增量的，因此删除快照可能不会降低您的数据存储成本。删除快照时，专由某个快照引用的数据将被删除，但保留其他快照引用的数据。有关更多信息，请参阅 *AWS Billing 用户指南*中的 [Amazon Elastic Block Store 卷和快照](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/checklistforunwantedcharges.html#checkebsvolumes)。

**Topics**
+ [Amazon EBS 快照的工作原理](how_snapshots_work.md)
+ [Amazon EBS 快照生命周期](ebs-snapshot-lifecycle.md)
+ [Amazon EBS 快速快照还原](ebs-fast-snapshot-restore.md)
+ [Amazon EBS 快照锁](ebs-snapshot-lock.md)
+ [阻止 Amazon EBS 快照的公开访问](block-public-access-snapshots.md)
+ [Amazon EBS local snapshots on Outposts](snapshots-outposts.md)
+ [本地区域中的本地快照](snapshots-localzones.md)

# Amazon EBS 快照的工作原理
<a name="how_snapshots_work"></a>

您从卷创建的第一个快照始终是*完整快照*。它包括创建快照时写入卷的所有数据块。同一卷的后续快照为*增量快照*。这些快照仅包括自上次创建快照以来写入卷的已更改数据块和新数据块

完整快照的大小取决于备份数据的大小，而非源卷的大小。同样地，与完整快照相关的存储成本取决于快照的大小，而非源卷的大小。例如，您创建了仅包含 `50 GiB` 数据的 `200 GiB` Amazon EBS 卷的第一个快照。这会生成大小为 `50 GiB` 的完整快照，并且您需要为 `50 GiB` 快照存储付费。

同样，增量快照的大小和存储成本取决于自上次快照创建以来写入卷的任何数据的大小。继续前面的示例，如果您在更改 `20 GiB` 数据和添加 `10 GiB` 数据后创建 `200 GiB` 卷的第二个快照，则增量快照的大小为 `30 GiB`。然后，您需要为额外的 `30 GiB` 快照存储付费。

有关快照定价的更多信息，请参阅 [Amazon EBS 定价](https://aws.amazon.com/ebs/pricing/)。

**重要**  
归档增量快照时，增量快照将转换为完整快照，其中包括创建快照时写入卷的所有块。然后，快照将移动到 Amazon EBS 快照归档层。归档层中的快照费率与标准层中的快照费率不同。有关更多信息，请参阅 [归档 Amazon EBS 快照的定价和计费](snapshot-archive-pricing.md)。

以下部分阐述了 EBS 快照如何捕获卷在某一时间点的状态，以及正在更改的卷的后续快照如何创建这些更改的历史记录。

 **同一卷的多个快照** 

在本部分的图表中，大小为 `15 GiB` 的卷 1 在 3 个时间点上显示。为这三个卷状态分别制作快照。该图表明确显示以下内容：
+ 在**状态 1** 中，该卷具有 `10 GiB` 数据。**快照 A** 是为该卷制作的第一个快照。**快照 A** 是完整快照，所有 `10 GiB` 数据均已备份。
+ 在**状态 2** 中，该卷仍包含 `10 GiB` 数据，但是，捕获**快照 A** 后仅 `4 GiB` 数据发生更改。**快照 B** 是增量快照。只需要备份已更改的 `4 GiB` 数据。未更改的其他 `6 GiB` 数据（已在**快照 A** 中备份）将由**快照 B** *引用*，而不会再次备份。这通过虚线箭头指示。
+ 在**状态 3** 中，捕获**快照 B** 后，`2 GiB` 数据已添加到该卷中，共计 `12 GiB` 数据。**快照 C** 是增量快照。只需要对捕获**快照 B** 之后添加的 `2 GiB` 数据进行备份。如虚线箭头所示，**快照 C** 还引用了存储在**快照 B** 中的 `4 GiB` 数据和存储在**快照 A** 中的 `6 GiB` 数据。
+ 三个快照共需 `16 GiB` 存储空间。这相当于快照 A 需要 10 GiB，快照 B 需要 4 GiB，快照 C 需要 2 GiB。

![\[捕获初始卷状态和数据更改后的两个后续状态的快照。\]](http://docs.aws.amazon.com/zh_cn/ebs/latest/userguide/images/snapshot_1a.png)


 **不同卷的增量快照** 

本节中的图表显示了如何从不同卷获取增量快照。

1. 大小为 `14 GiB` 的**卷 1** 包含 `10 GiB` 数据。因为**快照 A** 是为该卷捕获的首个快照，是完整快照，因此会备份所有 `10 GiB` 数据。

1. **卷 2** 是从**快照 A** 创建的，所以它是**卷 1** 在拍摄快照时的精准副本。

1. 随着时间的推移，`4 GiB` 的数据将添加到**卷 2**，并且其数据总大小为 `14 GiB`。

1. **快照 B** 是基于**卷 2** 制作的。对于**快照 B**，仅备份从**快照 A** 创建卷后添加的 `4 GiB` 数据。未更改的其他 `10 GiB` 数据（已存储在**快照 A** 中）将由**快照 B** 引用，而不会再次备份。

   **快照 B** 是**快照 A** 的增量快照，即使它是从不同的卷创建的。

**重要**  
该图表假定您拥有**卷 1** 和**快照 A**，并且**卷 2** 使用与卷 1 相同的 KMS 密钥进行加密。如果 **Vol 1** 归另一个 AWS 账户所有，并且该账户使用了 **Snap A** 并与你共享，那么 **Snap B** 将是完整快照。或者，如果**卷 2 ** 使用与**卷 1** 不同的 KMS 密钥进行加密，则**快照 B** 将是完整快照。

![\[捕获初始卷状态和数据更改后的两个后续状态的快照。\]](http://docs.aws.amazon.com/zh_cn/ebs/latest/userguide/images/snapshot_1c.png)


有关删除快照后如何管理数据的更多信息，请参阅[删除 Amazon EBS 快照](ebs-deleting-snapshot.md)。

# Amazon EBS 快照生命周期
<a name="ebs-snapshot-lifecycle"></a>

Amazon EBS 快照的生命周期始于创建过程。从 Amazon EBS 卷创建快照。可以使用快照还原新的 Amazon EBS 卷。可以在相同区域或不同区域创建快照副本。您可以公开或私下与其他 AWS 账户人共享快照。这些账户可以从共享快照还原卷，也可以在自有账户中创建共享快照的副本。如果不需要立即访问快照，则可以将其存档以节省存储成本。

下图显示了可以在快照生命周期中对快照执行的操作。

![\[快照生命周期\]](http://docs.aws.amazon.com/zh_cn/ebs/latest/userguide/images/snapshot-lifecycle.png)


**Topics**
+ [创建 快照](ebs-creating-snapshot.md)
+ [查看快照信息](ebs-describing-snapshots.md)
+ [复制快照](ebs-copy-snapshot.md)
+ [共享快照](ebs-modifying-snapshot-permissions.md)
+ [归档快照](snapshot-archive.md)
+ [删除快照](ebs-deleting-snapshot.md)

# 创建 Amazon EBS 快照
<a name="ebs-creating-snapshot"></a>

您可以创建 Amazon EBS 卷的 Amazon EBS 快照来创建该卷的 point-in-time备份。您可以创建**单个 Amazon EBS 卷**的快照，也可以为挂载到 Amazon EC2 实例的全部卷或部分卷创建**多卷快照**。

快照创建是异步进行的。快照会立即创建，但在所有数据都传输到 Amazon S3 之前，它会一直保持 `pending` 状态。这可能需要几个小时才能完成，具体取决于卷上已修改的数据块数量。在此期间，您可以继续使用卷，而不会影响快照。快照仅包含请求快照时写入卷的数据。它不包括应用程序或操作系统缓存的数据。

**提示**  
为确保快照的一致性和完整性，我们建议在创建快照之前暂停对卷的写入。如果无法暂停对卷的写入，我们建议在创建快照之前从实例中卸载该卷。快照进入 `pending` 状态后，您可以重新挂载并恢复写入。  
如果创建充当 Amazon EC2 实例的根设备的卷的快照，我们建议您在拍摄快照之前停止该实例。

**Topics**
+ [快照加密](#create-snapshot-encryption)
+ [快照目标](#create-snapshot-destinations)
+ [自动化快照](#create-snapshots-automate)
+ [创建快照的注意事项](#create-snapshots-considerations)
+ [创建卷的快照](ebs-create-snapshot.md)
+ [创建多卷快照](ebs-create-snapshots.md)

## 快照加密
<a name="create-snapshot-encryption"></a>

快照会自动获得与其创建时所在的卷相同的加密状态。从未加密的卷创建的快照不会进行加密。从已加密的卷创建的快照将自动使用与卷相同的 KMS 密钥进行加密。

**提示**  
如果需要从未加密的卷创建已加密的快照，请首先创建该卷的未加密快照，然后创建该快照的加密副本。

## 快照目标
<a name="create-snapshot-destinations"></a>

源资源（卷或实例）的位置决定了您可以创建快照的位置。
+ 如果源资源位于某个区域中，则必须在与源资源相同的区域中创建快照。
+ 如果源资源位于本地区域，则可以在同一本地区域或其父区域中创建快照。有关更多信息，请参阅 [本地区域中的本地快照](snapshots-localzones.md)。
+ 如果源资源位于 Outpost 上，则可以在同一 Outpost 或其父区域中创建快照。有关更多信息，请参阅 [Amazon EBS local snapshots on Outposts](snapshots-outposts.md)。

## 自动化快照
<a name="create-snapshots-automate"></a>

您可以使用 [Amazon Data Lifecycle Manager](snapshot-lifecycle.md) 和 [AWS Backup](https://docs.aws.amazon.com/aws-backup/latest/devguide/multi-volume-crash-consistent.html) 自动创建快照。

## 创建快照的注意事项
<a name="create-snapshots-considerations"></a>
+ 我们建议您不要创建挂载到处于休眠状态或已启用休眠的 Amazon EC2 实例的卷的快照。有关更多信息，请参阅 [Amazon EC2 实例休眠的工作原理](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-hibernate-overview.html#instance-hibernate-limitations)。
+ 尽管您可以在某个卷的前一个快照处于 `pending` 状态时拍摄该卷的快照，但如果同一个卷的多个快照处于 `pending` 状态，则可能会导致该卷的性能降低，直至这些快照完成。
+ 处于 `pending` 状态的快照数量以及对于每个卷类型可以请求的并发快照数量均有限制。有关更多信息，请参阅 [Quotas for Amazon EBS](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-resource-quotas.html)。如果超出其中一个配额，请等待当前快照完成，然后重试。

# 创建 EBS 卷的快照
<a name="ebs-create-snapshot"></a>

您可以创建单个卷的单个快照。或者，要自动创建快照，请使用 [Amazon Data Lifecycle Manager](snapshot-lifecycle.md) 或 [AWS Backup](https://docs.aws.amazon.com/aws-backup/latest/devguide/multi-volume-crash-consistent.html)。要为 EC2 实例创建所有卷的快照，请使用[多卷快照](ebs-create-snapshots.md)。

------
#### [ Console ]

**创建快照**

1. 打开位于 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) 的 Amazon EC2 控制台。

1. 在导航窗格中，选择 **Snapshots**（快照）、**Create snapshot**（创建快照）。

1. 对于**资源类型**，选择**卷**。

1. 对于 **Volume ID**（卷 ID），选择需要从其创建快照的卷。**加密**字段指示卷和生成的快照的加密状态。不可修改。

1. （*可选*）对于**描述**，输入快照的简短描述。

1. 如果卷位于 Outpost 或本地区域中，则会出现**快照目标**字段。请执行以下操作之一：
   + 如果卷位于本地区域中，请选择**本地区域**以在同一个本地区域中创建快照，或者选择 **AWS 区域**以在本地区域的父区域中创建快照。
   + 如果卷位于 Outpost 上，请选择 **AWS Outpost** 以在同一 Outpost 上创建快照，或者选择 **AWS 区域**以在 Outpost 的父区域中创建快照。
**注意**  
如果卷位于某个区域中，则不会显示**快照目标**。快照将在与卷相同的区域中自动创建。

1. （*可选*）要为快照分配自定义标签，请在**标签**部分中选择**添加标签**，然后输入键值对。最多可以添加 50 个标签。

1. 选择**创建快照**。

------
#### [ AWS CLI ]

**创建快照**  
使用 [create-snapshot](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-snapshot.html) 命令。

```
aws ec2 create-snapshot  \
    --volume-id vol-01234567890abcdef \
    --description "Snapshot of the root volume for i-1234567890abcdef0"
```

------
#### [ PowerShell ]

**创建快照**  
使用 [New-EC2Snapshot](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Snapshot.html) cmdlet。

```
New-EC2Snapshot `
    -VolumeId vol-01234567890abcdef `
    -Description "Snapshot of the root volume for i-1234567890abcdef0"
```

------

# 从 EC2 实例创建多卷 EBS 快照
<a name="ebs-create-snapshots"></a>

默认情况下，当您从 Amazon EC2 实例创建多卷快照时，Amazon EBS 会创建挂载到该实例的所有 Amazon EBS 卷的快照。但是，如果需要，您可以选择排除根卷或特定数据卷。

**提示**  
我们建议您为多卷快照添加标签，以便轻松地识别和集中管理它们。您还可以将标签从源卷复制到相应的快照，以设置快照元数据（例如访问策略、挂载信息和成本分配），从而匹配源卷。

**多卷快照的注意事项**
+ 如果所有快照都成功完成，则会向您的 AWS 账户发送一个结果为`createSnapshots` CloudWatch 的事件。`succeeded`如果多卷快照集中的任何一个快照失败，则所有其他快照都将进入`error`状态，结果为`createSnapshots` CloudWatch 的事件将发送到您的账户。`failed`有关更多信息，请参阅 [创建多个快照（createSnapshots）](ebs-cloud-watch-events.md#create-snapshots-complete)。
+ 多卷快照支持最多 128 个 Amazon EBS 卷挂载到实例，包括根卷和最多 127 个数据卷。
+ 多卷快照集中的每个快照都是一个单独的快照，可以相同的方式使用，并且支持与单独快照相同的功能。
+ 您可以使用 [AWS Systems Manager 命令文档](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/create-vss-snapshots-ssm.html)为附加到 Amazon EC2 Windows 实例的所有 Amazon EBS 卷拍摄应用程序一致性快照。

------
#### [ Console ]

**创建多卷快照**

1. 打开位于 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) 的 Amazon EC2 控制台。

1. 在导航窗格中，选择 **Snapshots**（快照）、**Create snapshot**（创建快照）。

1. 对于**资源类型**，选择**实例**。

1. 对于 **Description **（描述），输入快照的简短描述。此描述适用于所有快照。

1. 如果实例位于 Outpost 或本地区域中，则会出现**快照目标**字段。请执行以下操作之一：
   + 如果实例位于本地区域中，请选择**本地区域**以在同一个本地区域中创建快照，或者选择 **AWS 区域**以在本地区域的父区域中创建快照。
   + 如果实例位于 Outpost 上，请选择 **AWS Outpost** 以在同一 Outpost 上创建快照，或者选择 **AWS 区域**以在 Outpost 的父区域中创建快照。
**注意**  
如果实例位于某个区域中，则不会显示**快照目标**。快照将在与实例相同的区域中自动创建。

1. （*可选*）要排除实例的根卷，请选择**排除根卷**。

1. （*可选*）要排除数据卷，请选择**排除特定的数据卷**。**Attached data volumes**（附加的数据卷）部分列出了当前附加到所选实例的所有数据卷。

   选择要排除的数据卷。只有未选中的卷才会包含在多卷快照集中。

1. （*可选*）若要自动将标签从源卷复制到相应快照，对于**从源卷复制标签**，选择**复制标签**。

1. （*可选*）若要为快照分配其他自定义标签，请在**标签**部分选择**添加标签**，然后输入键值对。最多可以添加 50 个标签。

1. 选择**创建快照**。

------
#### [ AWS CLI ]

**创建多卷快照**  
使用 [create-snapshots](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-snapshots.html) 命令。

```
aws ec2 create-snapshots \
    --instance-specification InstanceId=i-1234567890abcdef0 \
    --description "from a multi-volume snapshot of i-1234567890abcdef0"
```

要排除根卷，请在 `--instance-specification` 选项中添加下面的内容。

```
ExcludeBootVolume=true
```

要排除数据卷，请在 `--instance-specification` 选项中添加下面的内容。

```
ExcludeDataVolumeIds=vol-01234567890abcdef
```

------
#### [ PowerShell ]

**创建多卷快照**  
使用 [New-EC2SnapshotBatch](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2SnapshotBatch.html) cmdlet。

```
New-EC2SnapshotBatch `
    -InstanceSpecification_InstanceId i-1234567890abcdef0 `
    -Description "from a multi-volume snapshot of i-1234567890abcdef0"
```

要排除根卷，请添加下面的参数。

```
-InstanceSpecification_ExcludeBootVolume $true
```

要排除数据卷，请添加下面的参数。

```
-InstanceSpecification_ExcludeDataVolumes "vol-01234567890abcdef"
```

------

# 查看 Amazon EBS 快照信息
<a name="ebs-describing-snapshots"></a>

您可以查看有关您的快照的详细信息。

------
#### [ Console ]

**查看快照信息**

1. 打开位于 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) 的 Amazon EC2 控制台。

1. 在导航窗格中，选择**快照**。

1. 要仅查看您拥有的快照，请在屏幕左上角选择 **Owned by me**（我拥有的）。您还可以使用标签和快照属性筛选快照列表。在 **Filter**（筛选条件）字段中，选择属性字段，然后选择或输入属性值。例如，要仅查看加密的快照，请选择 **Encryption**（加密），然后输入 `true`。

1. 要查看有关特定快照的更多信息，请在列表中选择其 ID。
**注意**  
**完整快照大小**字段以字节为单位显示快照的完整大小。这**不是**快照的增量大小。相反，它表示在创建快照时写入源卷的所有块的大小。  
**卷大小**字段显示如果未指定其他大小则将从快照创建的 EBS 卷的大小。

------
#### [ AWS CLI ]

**查看快照信息**  
可以使用 [describe-hosts](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-snapshots.html) 命令。

**Example 示例 1：基于标签进行筛选**  
以下示例描述具有标签 Stack=production 的快照。  

```
aws ec2 describe-snapshots --filters Name=tag:Stack,Values=production
```

**Example 示例 2：基于卷进行筛选**  
以下示例描述从指定卷创建的快照。  

```
aws ec2 describe-snapshots --filters Name=volume-id,Values=vol-049df61146c4d7901
```

**Example 示例 3：基于快照期限进行筛选**  
您可以使用 JMESPath 表达式筛选结果。例如，以下命令显示您的账户在指定日期之前创建的所有快照。 IDs 如果未指定所有者，则结果将包括所有公有快照。  

```
aws ec2 describe-snapshots \
    --filters Name=owner-id,Values=123456789012 \
    --query "Snapshots[?(StartTime<='2024-03-31')].[SnapshotId]" \
    --output text
```
以下命令显示在 IDs 指定日期范围内创建的所有快照。  

```
aws ec2 describe-snapshots \
    --filters Name=owner-id,Values=123456789012 \
    --query "Snapshots[?(StartTime>='2024-01-01') && (StartTime<='2024-12-31')].[SnapshotId]" \
    --output text
```

------
#### [ PowerShell ]

**查看快照信息**  
使用 [Get-EC2Snapshot](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Snapshot.html) cmdlet。

**示例 1：描述快照**  
以下 示例描述了指定的快照。

```
Get-EC2Snapshot -SnapshotId snap-0abcdef1234567890
```

**示例 2：基于卷进行筛选**  
以下示例描述从指定卷创建的快照。

```
Get-EC2Snapshot`
    -Filter @{Name="volume-id"; Values="vol-01234567890abcdef"}
```

------

## 快照状态
<a name="snapshot-states"></a>

从创建直至永久删除，Amazon EBS 快照会历经不同状态的转换。

下图阐释了快照状态之间的转换。创建快照时，其进入 `pending` 状态。当快照准备就绪后，其进入 `completed` 状态。若决定不再需要某个快照，可以删除该快照。如果删除与回收站保留规则匹配的快照，该快照会保留在回收站中并进入 `recoverable` 状态。如果从回收站还原快照，该快照会进入 `recovering` 状态，然后进入 `completed` 状态。否则，将永久删除此快照。

![\[包含已分配块的快照\]](http://docs.aws.amazon.com/zh_cn/ebs/latest/userguide/images/snapshot-statuses.png)


下表汇总了快照状态。


| Status | 说明 | 
| --- | --- | 
| pending |  快照创建过程仍在进行中。处于 `pending` 状态时，快照无法使用。  | 
| completed | 快照创建过程已完成，快照可供使用。 | 
| recoverable | 快照目前在回收站中。要使用快照，您必须首先从回收站中还原快照。 | 
| recovering | 正在从回收站中还原快照。快照还原后会转换到 completed 状态并且可供使用。 | 
| error | 快照创建过程已失败。处于 error 状态时，快照无法使用。 | 

# 复制 Amazon EBS 快照
<a name="ebs-copy-snapshot"></a>

在您创建快照并且快照达到 `completed` 状态后，可以创建其副本。快照副本是原始副本的精确副本，但它具有唯一资源 ID。您可以复制您拥有的快照以及私下或公开与您共享的快照。您可能需要为以下使用场景复制快照：
+ 地理扩展：您需要在新区域中启动您的应用程序。
+ 迁移：您需要将应用程序迁移到新目标，以实现更好的可用性或最大限度地降低成本。
+ 灾难恢复：您需要将数据和日志备份到辅助区域，以实现数据冗余。
+ 加密：您需要加密以前未加密的快照或使用其他 KMS 密钥重新加密已加密的快照。
+ 复制共享快照：您需要复制与您共享的快照。
+ 数据保留和审计要求 — 您需要将加密快照从一个 AWS 账户复制到另一个账户，以保留用于审计或数据保留的数据。如果您的主账户遭到入侵，使用其他 AWS 账户可以保护您。

要复制多卷快照，请使用您在创建期间分配的标签来识别该集合中的所有快照，然后将快照单独复制到所需的区域。

有关复制 Amazon RDS 快照的信息，请参阅 *Amazon RDS 用户指南* 中的[复制数据库快照](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CopySnapshot.html)。

**定价**  
有关复制快照的定价信息，请参阅 [Amazon EBS 定价](https://aws.amazon.com/ebs/pricing/)。

**Topics**
+ [复制快照的注意事项](#snapshot-copy-consids)
+ [快照副本的目的地](#snapshot-copy-destinations)
+ [增量快照复制](#ebs-incremental-copy)
+ [基于时间的副本](time-based-copies.md)
+ [加密和快照复制](#creating-encrypted-snapshots)
+ [复制快照](#ebs-snapshot-copy)

## 复制快照的注意事项
<a name="snapshot-copy-consids"></a>
+ 您可以复制 AWS Marketplace、虚拟机导入/导出和 Storage Gateway 快照，但必须验证目标区域是否支持该快照。
+ 每个目标限制并发快照复制请求不得超过 `20` 个。如果您超出此配额，会收到 `ResourceLimitExceeded` 错误。如果收到此错误，请等待一个或多个复制请求完成，然后再发出新的快照复制请求。
+ 用户定义的标签不会从源快照复制到快照副本。您可以在复制操作期间或之后添加用户定义的标签。
+ 由快照复制操作创建的快照具有任意性的卷 ID，例如 `vol-ffff` 或 `vol-ffffffff`。这些任意音量 IDs 不应用于任何目的。
+ 为快照复制操作指定的资源级权限可以应用于快照副本和源快照。有关示例，请参阅[示例：复制快照](https://docs.aws.amazon.com/ebs/latest/userguide/security_iam_id-based-policy-examples.html#iam-copy-snapshot)。
+ 如果复制已启用快速快照还原的快照，则快照副本不会自动启用快速快照还原。您必须为快照副本明确启用快速快照还原。
+ 如果将快照复制到新 KMS 密钥并将其加密，则会创建完整（非增量）副本。这会产生额外的存储成本。
+ 如果将快照复制到新区域，则会创建完整（非增量）副本。这会产生额外的存储成本。
+ 如果使用外部或跨区域数据传输，则将收取额外的 [EC2 数据传输](https://aws.amazon.com/ebs/pricing/)费用。如果在启动后删除任何快照，仍需要为已传输的数据付费。

## 快照副本的目的地
<a name="snapshot-copy-destinations"></a>

源快照的位置决定了您是否可以复制它。
+ 如果源快照位于某个区域，您可以在该区域内复制它，或者将其复制到另一个区域、与该区域关联的 Outpost 或该区域中的本地区域。
+ 如果源快照位于某个本地区域，您可以将其复制到同一本地区域内、同一区域组中的另一个本地区域，或者复制到该本地区域的父区域。
+ 如果源快照位于 Outpost 上，则无法复制它。

## 增量快照复制
<a name="ebs-incremental-copy"></a>

同一账户和区域内使用相同 KMS 密钥的快照复制操作始终是增量复制。但是，如果您使用不同的 KMS 密钥加密快照副本，则该副本是完整副本。

在跨区域或账户复制快照时，如果满足以下条件，则副本为增量副本：
+ 快照以前已复制到目标区域或账户。
+ 最新的快照副本仍位于目标区域或账户中。
+ 最新的快照副本尚未归档。
+ 目标区域或账户中的所有快照副本均未加密，或者是使用同一 KMS 密钥加密的。

**提示**  
我们建议您使用卷 ID 和创建时间来标记快照副本，以便在目标区域或账户中跟踪卷的最新快照副本。

要查看您的快照副本是否为增量副本，请查看 CopySn [apshot 事件](ebs-cloud-watch-events.md#copy-snapshot-complete) CloudWatch 。

# Amazon EBS 快照和 EBS 支持的基于时间的副本 AMIs
<a name="time-based-copies"></a>

基于时间的副本可以确保在指定的时间范围内在区域内和跨 AWS 区域复制 EBS 快照和 EBS 支持的 AMIs 副本，从而帮助您满足数据复制的合规性或业务要求。基于时间的副本还可以帮助备份管理员满足严格的灾难恢复要求（恢复点目标和恢复时间目标），并通过确保快照和EB AMIs S支持的复制时间可预测来提高开发灵活性。

使用基于时间的快照和 EBS 支持的 AMI 复制操作，您可以指定一个完成持续时间（15 分钟到 48 小时），在此期间必须完成复制。必须以 15 分钟为增量指定完成持续时间。

**Topics**
+ [配额](#time-based-copies-quota)
+ [确定完成持续时间](#time-based-copies-how)
+ [注意事项](#time-based-copies-considerations)
+ [监控](#time-based-copies-monitoring)
+ [定价和计费](#time-based-copies-pricing)

## 配额
<a name="time-based-copies-quota"></a>

下面的配额适用于基于时间的快照和 EBS 支持的 AMI 复制操作：


| 配额 | 说明 | 配额值 | 可调整 | 
| --- | --- | --- | --- | 
| 快照复制操作吞吐量配额 | 单次基于时间的快照复制操作可达到的最大吞吐量。 对于 AMI 复制操作，配额适用于与 AMI 关联的每个单独的快照。  | 500 MiB/s | 否 | 
| 累积快照副本吞吐量配额 | 源区域和目标区域之间基于时间的并发快照复制操作可以实现的最大累积吞吐量。 对于 AMI 复制操作，与 AMI 关联的每个单独的快照都会计入配额。 | 2,000 miB/s | [是](https://console.aws.amazon.com/servicequotas/home/services/ebs/quotas/L-E137849C) | 

当您启动**基于时间的快照复制操作**时，需要指定完成持续时间。请求所使用的吞吐量取决于快照数据的大小和请求的完成持续时间。例如，如果您复制一个包含 225,000 MiB (0.214 TiB) 数据的快照，并且您请求的完成持续时间为 15 分钟，则吞吐量为 250 MiB/s （225,000 MiB ε 15 分钟 = 250 MiB/s）。

当您启动**基于时间的 AMI 复制操作**时，您指定的完成持续时间将应用于与 AMI 关联的每个快照。由于每个快照的大小可能不同，因此每个快照都以不同的吞吐量进行复制，可确保在完成持续时间内复制所有快照。例如，假设您有一个 AMI 包含以下关联的快照：
+ 快照 1：200,000 MiB
+ 快照 2：500,000 MiB
+ 快照 3：450,000 MiB

如果为此 AMI 启动基于时间的复制，并指定完成持续时间 60 分钟，则该请求将使用以下吞吐量：
+ 快照 1：55.56 MiB/s （200,000 MiB ε 60 分钟 = 55.56 MiB/s）
+ 快照 2：138.89 MiB/s （500,000 MiB ε 60 分钟 = 138.89 MiB/s）
+ 快照 3：125 MiB/s （450,000 MiB ε 60 分钟 = 125 MiB/s）

这意味着该请求使用累积快照副本吞吐量配额的 319.45 MiB/s 来确保复制在 60 分钟内完成。

如果您启动基于时间的快照或 EBS 支持的 AMI 复制请求，并且您的可用累积快照复制吞吐量配额：
+ 大于或等于所需的吞吐率，则复制将在请求的完成持续时间内完成。
+ 小于所需的吞吐率但大于零，则请求会成功，但所需的时间将比您请求的要长。复制会使用您可用的吞吐量配额完成。
+ 为零（已达到配额），则请求会失败。

## 确定完成持续时间
<a name="time-based-copies-how"></a>

对于基于时间的快照或 EBS 支持的 AMI 复制操作，您可以请求的最短完成持续时间为 15 分钟，您可以请求的最长完成持续时间为 48 小时。必须以 15 分钟为增量指定完成持续时间。

**基于时间的并发快照复制操作**  
只要所有并发操作的总吞吐量不超过您的累积快照副本吞吐量配额（默认为 2,000 MiB/s ），您就可以在同一源区域和目标区域之间执行基于时间的并发快照复制操作。

要确定现有快照是否能达到所需的完成持续时间，请将所有快照的总大小除以所需的完成持续时间，以确定所需的吞吐率。

**提示**  
如果您不知道快照中数据的确切大小，则可以使用完整的快照大小作为代理。要获取完整的快照大小，请使用 desc [ribe-](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-snapshots.html) AWS CLI snapshots 命令。

```
required throughput rate = combined snapshot size ÷ required completion duration
```

如果所需的吞吐率小于您的累积快照复制吞吐量配额，则可以达到所需的完成持续时间。如果所需的吞吐率大于您的累积快照复制吞吐量配额，我们建议您请求将配额提高到比所需吞吐率至少高 10%。

**提示**  
Amazon EC2 控制台提供了一个计算器，可用于检查特定时间段内在两个区域之间复制的快照数据量，并检查根据特定的累积快照复制吞吐量配额可针对该数据量实现的最短完成持续时间。计算器使用该`SnapshotCopyBytesTransferred` CloudWatch 指标来计算一段时间内在两个区域之间复制的数据。要打开计算器，请在 Amazon EC2 控制台导航面板中，选择**快照**，然后选择**操作**、**启动复制持续时间计算器**。  
Local Zones 和 Wavelength Z AWS Outposts ones 不支持快照复制持续时间计算器。

**单个基于时间的快照复制操作**  


您可以通过将快照数据的大小除以快照复制操作吞吐量配额（500 MiB/s）来计算单个基于时间的快照复制操作的最短完成持续时间。

**提示**  
如果您不知道快照中数据的确切大小，则可以使用完整的快照大小作为代理。要获取完整的快照大小，请使用 desc [ribe-](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-snapshots.html) AWS CLI snapshots 命令。

```
minimum completion duration = Max(15 minutes, (snapshot data size ÷ 500 MiB/s)
```

例如，对于包含 900,000 MiB 数据的快照，最短完成持续时间为 30 分钟。

```
minimum completion duration = Max(15 minutes, (900,000 MiB ÷ 500 MiB/s)
= Max(15 minutes, 30 minutes)
= 30 minutes
```

**基于时间的 AMI 复制操作**  
当您为具有单个关联快照的 EBS 支持的 AMI 启动基于时间的 AMI 复制操作时，其行为方式将与**单个基于时间的快照复制操作**相同，并且具有相同的吞吐量限制。

当您为具有多个关联快照的 EBS 支持的 AMI 启动基于时间的 AMI 复制操作时，其行为方式与**并发基于时间的快照复制操作**相同，并且具有相同的吞吐量限制。每个关联的快照都会导致一个单独的快照复制请求，并且每个请求都会占用您的累积快照复制吞吐量配额。您指定的完成期限将应用于每个关联的快照。

## 注意事项
<a name="time-based-copies-considerations"></a>
+ 在同一区域内复制快照或跨区域复制快照时，您可以启动基于时间的快照和 EBS 支持的 AMI 复制操作。
+ 如果对同一快照或 AMI 启动两个基于时间的复制操作，则第二个复制操作的完成持续时间仅在第一个复制操作完成后才开始。
+ Local Zones 和 Wavelength Zones 不支持基于时间的复制操作和快照复制持续时间计算器。 AWS Outposts

## 监控
<a name="time-based-copies-monitoring"></a>

您可以使用 Amazon EC2 控制台和 AWS CLI监控基于时间的快照和 EBS 支持的 AMI 复制操作的进度。在控制台中，选择快照，然后在**详细信息选项卡**中检查**进度**字段。使用 AWS CLI，检查 desc [ribe-snapshots 命令响应](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-snapshots.html)中的`Progress`输出元素。

您可以通过检查控制台中的**开始时间**和**完成时间**之间的差异，或者检查 `describe-snapshots` 响应中的 `StartTime` 和 `CompletionTime` 之间的差异，来检查基于时间的快照或 EBS 支持的 AMI 复制操作是否在请求的完成持续时间内完成。

您还可以使用 `copySnapshot` Amazon EventBridge 事件来监控基于时间的复制操作的结果。该事件指示操作是否已完成以及是否满足了请求的完成持续时间。如果未满足完成持续时间，则该事件会包含有关原因的更多信息。有关更多信息，请参阅 [EBS 快照事件](ebs-cloud-watch-events.md#snapshot-events)。

## 定价和计费
<a name="time-based-copies-pricing"></a>

**注意**  
与标准快照复制操作类似，如果将快照复制到新区域，则会创建一个完整（非增量）副本，这会导致额外的存储成本。同一快照的后续副本是增量副本。此外，如果您使用外部或跨区域数据传输，则需支付额外的 Amazon EC2 数据传输费用。

基于时间的快照和 EBS 支持的 AMI 复制操作需额外收费。基于时间的复制操作按基于所请求完成持续时间的费率针对复制的快照数据量（以 GiB 为单位）计费。固定费率如下：

**注意**  
必须以 15 分钟为增量指定完成持续时间。最短完成持续时间为 15 分钟，最长完成持续时间为 48 小时。
+ 15 分钟：每 GiB 数据 0.020 美元
+ 30 分钟到 45 分钟：每 GiB 数据 0.018 美元
+ 1 小时到 1 小时 45 分钟：每 GiB 数据 0.016 美元
+ 2 小时到 3 小时 45 分钟：每 GiB 数据 0.014 美元
+ 4 小时到 7 小时 45 分钟：每 GiB 数据 0.012 美元
+ 8 小时到 15 小时 45 分钟：每 GiB 数据 0.010 美元
+ 16 小时或更长时间：每 GiB 数据 0.005 美元

例如，如果您复制一个包含 3,000 GiB 数据的快照，完成持续时间为 8 小时，则需要支付 30 美元（0.010 美元 x 3,000 GiB）的费用。

如果您启动了基于时间的复制操作，但由于超过配额而无法满足所请求完成持续时间，则需要根据实际完成持续时间而不是所请求完成持续时间付费。例如，如果请求的完成持续时间为 1 小时，但操作在 2 小时内完成，则需要按照 2 小时完成持续时间的费率进行计费。

如果 Amazon EBS 无法达到所请求完成持续时间，或者由于服务端问题而取消了请求，则不会收取基于时间的快照复制操作的额外费用。

如果在基于时间的快照复制操作仍在进行时删除快照副本，则将按指定的完成持续时间对应的费率针对截至该时间点已复制的数据付费。

## 加密和快照复制
<a name="creating-encrypted-snapshots"></a>

**注意**  
Amazon S3 服务器端加密（256 位 AES）可在复制操作期间保护传输中的快照数据。

您可以创建未加密的源快照的已加密快照副本。并且，您可以使用与源快照不同的 KMS 密钥加密快照副本。但是，在复制操作过程中更改快照副本的加密状态可能会生成完整（非增量）副本，这可能产生更多的数据传输和存储费用。

**提示**  
使用与您共享的已加密快照时，我们建议您通过复制快照并使用您拥有的 KMS 密钥来重新加密该快照。如果原始 KMS 密钥泄露或拥有者撤销您的访问权限（可能会导致您无法访问快照以及从中创建的任何加密卷），这可以保护您。

**复制加密快照的权限**

要复制加密快照，您的用户必须具有以下权限才能使用 Amazon EBS 加密。
+ 
  + `kms:DescribeKey`
  + `kms:CreateGrant`
  + `kms:GenerateDataKey`
  + `kms:GenerateDataKeyWithoutPlaintext`
  + `kms:ReEncrypt`
  + `kms:Decrypt`
+ 要复制从其他 AWS 账户共享的加密快照，您必须有权使用用于加密该快照的客户托管密钥。有关更多信息，请参阅 [共享用于加密共享的 Amazon EBS 快照的 KMS 密钥](share-kms-key.md)。

**快照副本的加密结果**  
下表描述了在复制您拥有的快照以及与您共享的快照时的加密结果。


| 目标区域的默认加密 | 源快照 | 快照副本加密结果 | 备注 | 
| --- | --- | --- | --- | 
| 已禁用 | 未加密 | 可选加密 | 如果加密副本，则可以指定要使用的 KMS 密钥。如果您对副本进行加密，但未指定 KMS 密钥，则默认使用指定的加密密钥。 | 
| 已禁用 | 已加密 | 自动加密 | 您可以指定要使用的 KMS 密钥。如果未指定 KMS 密钥，则使用 AWS 托管式密钥 （aws/ebs）。 | 
| 已启用 | 未加密 | 自动加密 | 您可以指定要使用的 KMS 密钥。如果未指定 KMS 密钥，则默认使用指定用于加密的密钥。 | 
| 已启用 | 已加密 | 自动加密 | 您可以指定要使用的 KMS 密钥。如果未指定 KMS 密钥，则默认使用指定用于加密的密钥。 | 

## 复制快照
<a name="ebs-snapshot-copy"></a>

您可以将快照从一个区域复制到另一个区域。您可以将未加密的快照复制到加密的快照。但是，如果您在未获得加密密钥使用权限的情况下试图复制加密快照，则操作将会静默失败，并且快照副本会收到“无法访问给定密钥 ID”状态消息。

------
#### [ Console ]

**复制快照**

1. 打开位于 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) 的 Amazon EC2 控制台。

1. 在导航窗格中，选择**快照**。

1. 选择要复制的快照，然后选择 **Actions**（操作）、**Copy snapshot**（复制快照）。

1. （可选）在 **Description **（描述）中，输入快照副本的简短描述。

   在默认情况下，描述包括源快照的相关信息，以便您能区别副本和原始内容。

1. 指定快照副本的目标位置。
   + 要将快照复制到同一区域或其他区域，请选择 **AWS 区域**，然后选择目标区域。
   + 要将快照复制到本地区域，请选择 **AWS 本地区域**，然后选择目标本地区域。
   + （*仅限 Outpost 客户*）要将快照复制到 Outpost，请选择 **AWS Outpost**，然后输入目标 Outpost 的 ARN。

1. 如果需要在特定时间范围内完成快照复制，请选择**启用基于时间的复制**。在**完成期限**中，以 15 分钟为增量输入所需的完成期限。有关更多信息，请参阅 [Amazon EBS 快照和 EBS 支持的基于时间的副本 AMIs](time-based-copies.md)。

   如果不需要在特定时间范围内完成快照复制，则不要启用基于时间的复制。在这种情况下，快照复制会尽快完成。

1. （*仅限 Outpost 客户*）要在所选区域中的 Outpost 上创建快照副本，对于**快照目标**，请选择 **AWS Outpost**，然后对于**目标 Outpost ARN**，请输入要将快照复制到的 Outpost 的 ARN。仅当您在所选区域中拥有 Outpost 时，才会出现**快照目标**字段。

1. 指定快照副本的加密状态。

   如果源快照已加密，或者您的账户已启用[默认加密](encryption-by-default.md)，则快照副本会自动加密。如果源快照未加密，并且在默认情况下未为您的账户启用加密，则您可以选择启用或禁用加密。

1. 选择**复制快照**。

------
#### [ AWS CLI ]

**将快照复制到其他区域**  
使用 [copy-snapshot](https://docs.aws.amazon.com/cli/latest/reference/ec2/copy-snapshot.html) 命令。以下示例将指定的快照从源区域复制到当前区域，当前区域由 `--region` 选项指定。

```
aws ec2 copy-snapshot \
    --source-snapshot-id snap-0abcdef1234567890 \
    --source-region us-east-1 \
    --region us-west-2
```

**将未加密的快照复制到加密的快照**  
使用 [copy-snapshot](https://docs.aws.amazon.com/cli/latest/reference/ec2/copy-snapshot.html) 命令。以下示例将指定的未加密快照从源区域复制到当前区域，并使用指定的 KMS 密钥对新快照进行加密。

```
aws ec2 copy-snapshot \
    --source-snapshot-id snap-0abcdef1234567890 \
    --source-region us-east-1 \
    --encrypted \
    --kms-key-id alias/my-kms-key
```

------
#### [ PowerShell ]

**将快照复制到其他区域**  
使用 [Copy-EC2Snapshot](https://docs.aws.amazon.com/powershell/latest/reference/items/Copy-EC2Snapshot.html) cmdlet。以下示例将指定的快照从源区域复制到当前区域，当前区域由 `--region` 选项指定。

```
 Copy-EC2Snapshot `
    -SourceSnapshotId snap-0abcdef1234567890 `
    -SourceRegion us-east-1 `
    -Region us-west-2
```

**将未加密的快照复制到加密的快照**  
使用 [Copy-EC2Snapshot](https://docs.aws.amazon.com/powershell/latest/reference/items/Copy-EC2Snapshot.html) cmdlet。以下示例将指定的未加密快照从源区域复制到当前区域，并使用指定的 KMS 密钥对新快照进行加密。

```
 Copy-EC2Snapshot `
    -SourceSnapshotId snap-0abcdef1234567890 `
    -SourceRegion us-east-1 `
    -Encrypted $true `
    -KmsKeyId alias/my-kms-key
```

------

# 与其他账户共享 Amazon EBS 快照 AWS
<a name="ebs-modifying-snapshot-permissions"></a>

如果您想与其他 AWS 账户共享快照，可以修改快照的权限。您可以与所有其他 AWS 账户公开共享快照，也可以与您指定的个人 AWS 账户私下共享快照。您已授权的用户可以使用您共享的快照来创建自己的 EBS 卷，同时您的原始快照不受影响。

**重要**  
共享快照时，您可以让其他人访问快照上的所有数据。仅与您信任的人共享*所有*快照数据的快照。

要防止公开共享快照，您可以启用 [阻止 Amazon EBS 快照的公开访问](block-public-access-snapshots.md)。

**Topics**
+ [共享快照之前](#share-snapshot-considerations)
+ [共享快照](#share-unencrypted-snapshot)
+ [共享 KMS 密钥](share-kms-key.md)
+ [使用共享的快照](view-shared-snapshot.md)
+ [确定共享快照的用途](#shared-snapshot-cloudtrail-logging)

## 共享快照之前
<a name="share-snapshot-considerations"></a>

共享快照时需考虑以下事项：
+ 如果为此区域阻止公开访问快照，将阻止尝试公开共享快照的行为。仍然可以私下共享快照。
+ 快照受限于在其中创建它们的区域。要与其他区域共享快照，请将快照复制到该区域，然后分享副本。有关更多信息，请参阅 [复制 Amazon EBS 快照](ebs-copy-snapshot.md)。
+ 您无法共享使用默认 AWS 托管式密钥加密的快照。您只能共享使用客户托管密钥加密的快照。有关更多信息，请参阅 *AWS Key Management Service 开发人员指南*中的[创建密钥](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html)。
+ 您只能公开共享未加密的快照。
+ 共享加密快照时，还必须共享用于加密快照的客户托管密钥。有关更多信息，请参阅[共享用于加密共享的 Amazon EBS 快照的 KMS 密钥](share-kms-key.md)。

## 共享快照
<a name="share-unencrypted-snapshot"></a>

您可以公开共享快照，也可以与特定 AWS 账户共享快照。

------
#### [ Console ]

**共享快照**

1. 打开位于 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) 的 Amazon EC2 控制台。

1. 在导航窗格中，选择**快照**。

1. 选择快照，然后依次选择 **Actions**（操作）、**Modify Permissions**（修改权限）。

1. 请指定快照的权限。*Current setting*（当前设置）表示快照的当前共享权限。
   + 要与所有 AWS 账户公开共享快照，请选择**公开**。
   + 要与特定 AWS 账户私下共享快照，请选择 “**私人**”。然后，在**共享账户**部分中，选择**添加账户**，接着输入要与之共享的账户的 12 位账户 ID（不带连字符）。

1. 选择**保存更改**。

------
#### [ AWS CLI ]

使用快照的 `createVolumePermission` 属性指定快照的权限。要使快照公开可用，请将组设置为 `all`。要与特定 AWS 账户共享快照，请将用户设置为该 AWS 账户的 ID。

**公开共享快照**  
使用 [modify-snapshot-attribute](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-snapshot-attribute.html) 命令。

对于 `--attribute`，请指定 `createVolumePermission`。对于 `--operation-type`，请指定 `add`。对于 `--group-names`，请指定 `all`。

```
aws ec2 modify-snapshot-attribute \
    --snapshot-id snap-0abcdef1234567890 \
    --attribute createVolumePermission \
    --operation-type add \
    --group-names all
```

**私密共享快照**  
使用 [modify-snapshot-attribute](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-snapshot-attribute.html) 命令。

对于 `--attribute`，请指定 `createVolumePermission`。对于 `--operation-type`，请指定 `add`。对于`--user-ids`，请指定要与 IDs 之共享快照的 AWS 账户的 12 位数。

```
aws ec2 modify-snapshot-attribute \
    --snapshot-id snap-0abcdef1234567890 \
    --attribute createVolumePermission \
    --operation-type add \
    --user-ids 123456789012 111122223333
```

------
#### [ PowerShell ]

使用快照的 `createVolumePermission` 属性指定快照的权限。要使快照公开可用，请将组设置为 `all`。要与特定 AWS 账户共享快照，请将用户设置为该 AWS 账户的 ID。

**公开共享快照**  
使用 [Edit-EC2SnapshotAttribute](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2SnapshotAttribute.html) cmdlet。

对于 `-Attribute`，请指定 `CreateVolumePermission`。对于 `-OperationType`，请指定 `Add`。对于 `-GroupName`，请指定 `all`。

```
Edit-EC2SnapshotAttribute `
    -SnapshotId snap-0abcdef1234567890 `
    -Attribute CreateVolumePermission `
    -OperationType Add `
    -GroupName all
```

**私密共享快照**  
使用 [Edit-EC2SnapshotAttribute](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2SnapshotAttribute.html) cmdlet。

对于 `-Attribute`，请指定 `CreateVolumePermission`。对于 `-OperationType`，请指定 `Add`。对于`UserId`，请指定要与 IDs 之共享快照的 AWS 账户的 12 位数。

```
Edit-EC2SnapshotAttribute `
    -SnapshotId snap-0abcdef1234567890 `
    -Attribute CreateVolumePermission `
    -OperationType Add `
    -UserId 123456789012 111122223333
```

------

# 共享用于加密共享的 Amazon EBS 快照的 KMS 密钥
<a name="share-kms-key"></a>

共享加密快照时，还必须共享用于加密快照的客户托管密钥。您可以在创建客户托管密钥时或以后的某个时间向客户托管密钥应用跨账户权限。

必须为正在访问加密快照的共享客户托管密钥用户授予对密钥执行以下操作的权限：
+ `kms:DescribeKey`
+ `kms:CreateGrant`
+ `kms:GenerateDataKey`
+ `kms:GenerateDataKeyWithoutPlaintext`
+ `kms:ReEncrypt`
+ `kms:Decrypt`

**提示**  
为遵循最小特权原则，请不要允许对 `kms:CreateGrant` 拥有完全访问权限。相反，使用`kms:GrantIsForAWSResource`条件密钥允许用户仅在 AWS 服务代表用户创建授权时才允许用户在 KMS 密钥上创建授权。

有关如何控制对客户托管密钥的访问权限的更多信息，请参阅 *AWS Key Management Service 开发人员指南*中的[使用 AWS KMS中的密钥策略](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html)。

**使用 AWS KMS 控制台共享客户托管密钥**

1. 在 [https://console.aws.amazon.com/km AWS KMS](https://console.aws.amazon.com/kms) s 处打开控制台。

1. 要更改 AWS 区域，请使用页面右上角的区域选择器。

1. 在导航窗格中，选择**客户托管密钥**。

1. 在**别名**列中，选择用于加密快照的客户托管密钥的别名（文本链接）。密钥详细信息将在新页面中打开。

1. 在**密钥政策**部分中，您会看到*政策视图*或*默认视图*。策略视图显示密钥策略文档。默认视图显示**密钥管理员**、**密钥删除**、**密钥使用**和**其他 AWS 账户**几个部分。如果您在控制台中创建了策略，但尚未对其进行自定义，则会显示默认视图。如果默认视图不可用，则需要在策略视图中手动编辑策略。有关更多信息，请参阅 *AWS Key Management Service 开发人员指南*中的[查看密钥策略（控制台）](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-viewing.html#key-policy-viewing-console)。

   根据您可以访问的视图，使用策略视图或默认视图向策略中添加一个或多个 AWS 账户 IDs ，如下所示：
   + （策略视图）选择**编辑**。在以下 IDs 对 AWS 账单中添加一个或多个账户：`"Allow use of the key"`和`"Allow attachment of persistent resources"`。选择**保存更改**。在以下示例中， AWS 账户 ID `444455556666` 已添加到策略中。

     ```
     {
       "Sid": "Allow use of the key",
       "Effect": "Allow",
       "Principal": {"AWS": [
         "arn:aws:iam::111122223333:user/KeyUser",
         "arn:aws:iam::444455556666:root"
       ]},
       "Action": [
         "kms:Encrypt",
         "kms:Decrypt",
         "kms:ReEncrypt*",
         "kms:GenerateDataKey*",
         "kms:DescribeKey"
       ],
       "Resource": "*"
     },
     {
       "Sid": "Allow attachment of persistent resources",
       "Effect": "Allow",
       "Principal": {"AWS": [
         "arn:aws:iam::111122223333:user/KeyUser",
         "arn:aws:iam::444455556666:root"
       ]},
       "Action": [
         "kms:CreateGrant",
         "kms:ListGrants",
         "kms:RevokeGrant"
       ],
       "Resource": "*",
       "Condition": {"Bool": {"kms:GrantIsForAWSResource": true}}
     }
     ```
   + （默认视图）向下滚动到 “**其他 AWS 账户**”。选择 “**添加其他 AWS 账户**”，然后根据提示输入 AWS 账户 ID。要添加其他账户，请选择**添加其他 AWS 账户**并输入 AWS 账户 ID。添加完所有 AWS 账户后，选择 **Save changes**（保存更改）。

# 使用与您共享的 Amazon EBS 快照
<a name="view-shared-snapshot"></a>

**使用共享的未加密快照**  
按 ID 或描述查找共享快照。您可以像使用账户中拥有的任何其他快照一样使用此快照。例如，您可以从快照中创建卷或将卷复制到其他区域。

**使用共享的已加密快照**  
按 ID 或描述查找共享快照。在您的账户中创建共享快照的副本，并使用您拥有的 KMS 密钥对副本进行加密。然后，您可以使用副本创建卷，也可以将其复制到不同的区域。

------
#### [ Console ]

**查看快照权限**

1. 打开位于 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) 的 Amazon EC2 控制台。

1. 在导航窗格中，选择**快照**。

1. 选择快照。

1. 如果筛选条件为**由我拥有**，则快照归此账户所有。如果筛选条件为**私有快照**，则快照要么归此账户所有，要么专门与此账户共享。选择一个快照，然后在**详细信息**选项卡上，检查**所有者**是指定了此账户还是其他账户。

------
#### [ AWS CLI ]

**查看快照权限**  
使用[describe-snapshot-attribute](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-snapshot-attribute.html)命令获取指定快照的快照权限。

```
aws ec2 describe-snapshot-attribute \
    --snapshot-id snap-0abcdef1234567890 \
    --attribute createVolumePermission
```

下面是示例输出。

```
{
    "SnapshotId": "snap-0abcdef1234567890",
    "CreateVolumePermissions": [
        {
            "UserId": "111122223333"
        }
    ]
}
```

------
#### [ PowerShell ]

**查看快照权限**  
使用 [Get-EC2SnapshotAttribute](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2SnapshotAttribute.html) cmdlet。

```
(Get-EC2SnapshotAttribute `
    -SnapshotId snap-0abcdef1234567890 `
    -Attribute createVolumePermission).CreateVolumePermissions
```

下面是示例输出。

```
Group UserId
----- ------
      111122223333
```

------

## 确定共享快照的用途
<a name="shared-snapshot-cloudtrail-logging"></a>

您可以使用 AWS CloudTrail 来监控您与他人共享的快照是否被复制或用于创建卷。对您共享的快照执行操作 CloudTrail 时，会记录以下事件：:
+ **SharedSnapshotCopyInitiated**— 正在复制共享快照。
+ **SharedSnapshotVolumeCreated**— 正在使用共享快照来创建卷。

有关使用的更多信息 CloudTrail，请参阅使用[记录亚马逊 EC2 和 Amazon EBS API 调用 AWS CloudTrail](https://docs.aws.amazon.com//AWSEC2/latest/UserGuide/monitor-with-cloudtrail.html)。

# 归档 Amazon EBS 快照
<a name="snapshot-archive"></a>

Amazon EBS 快照归档是一个存储层，可用于长期低成本地存储很少访问且不需要频繁或快速检索的快照。

默认情况下，快照在创建时将存储在 Amazon EBS 快照标准层中（*标准层*）。存储在标准层中的快照可递增。这意味着只在卷上保存在最新快照之后发生更改的数据块。

归档快照时，增量快照将转换为完整快照，然后从标准层移动到 Amazon EBS 快照归档层（*归档层*）。完整快照包括创建快照时写入卷的所有数据块。

当您需要访问归档的快照时，可以将其从归档层还原到标准层，然后像使用账户中任何其它快照一样使用它。

Amazon EBS 快照归档为您存储极少需要访问的快照达 90 天或更长时间，同时存储成本降低 75%。

一些典型的使用案例包括：
+ 存档卷的唯一快照，例如 end-of-project快照
+ 出于合规性考虑，存档完整的 point-in-time增量快照。
+ 归档月度、季度或每年的增量快照。

**Topics**
+ [配额](#archive-quotas)
+ [注意事项和限制](snapshot-archive-considerations.md)
+ [定价和计费](snapshot-archive-pricing.md)
+ [指南和最佳实践](archiving-guidelines.md)
+ [所需的权限](snapshot-archiving-iam.md)
+ [归档快照](archive-snapshot.md)
+ [还原已归档的快照](restore-archived-snapshot.md)
+ [修改还原期](modify-temp-restore-period.md)
+ [查看归档快照](view-archived-snapshot.md)
+ [监控快照归档](monitor-snapshot-archiving.md)

## 配额
<a name="archive-quotas"></a>

本部分介绍了归档快照和正在进行的快照的默认配额。


| 配额 | 默认配额 | 
| --- | --- | 
| 每卷的已归档快照 | 25 | 
| 每个账户的正在并发进行的快照归档 | 25 | 
| 每个账户的正在并发进行的快照还原 | 5 | 

如果您需要的数量超过默认限制，请填写 Cent 支持 er C [reate cas](https://console.aws.amazon.com/support/home#/case/create?issueType=service-limit-increase&limitType=service-code-ebs) e 表单以申请提高限额。

# 归档 Amazon EBS 快照的注意事项和限制
<a name="snapshot-archive-considerations"></a>

归档 Amazon EBS 快照时请记住以下事项。

**注意事项**
+ 最短归档期为 90 天。如果您在最短 90 天的归档期限到来之前删除或永久还原已归档的快照，则需要为归档层的剩余天数付费（四舍五入到最接近的小时数）。有关更多信息，请参阅 [归档 Amazon EBS 快照的定价和计费](snapshot-archive-pricing.md)。
+ 将归档快照从归档层还原到标准层最长可能需要 72 小时，具体时间取决于快照的大小。
+ 归档的快照始终是完整的快照。完整快照包含创建快照时写入卷的所有块。完整快照可能会大于它赖以创建的增量快照。但是，如果您在标准层上只有一个卷的一个快照，则归档层中的完整快照的大小将与标准层中的快照大小相同。这是因为卷的第一个快照始终是完整快照。要获取完整的快照大小，请使用 desc [ribe-](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-snapshots.html) AWS CLI snapshots 命令。
+ 建议将月度、季度或每年快照存档。与将单个卷的每日增量快照保存在标准层中相比，将单个卷的每日增量快照存档可能会导致成本增加。
+ 在归档快照时，快照谱系中其它快照引用的快照数据将保留在标准层中。与保留在标准层中的引用数据相关的数据和存储成本将分配给谱系中的下一个快照。这可以确保谱系中的后续快照不会受到归档的影响。
+ 如果删除与回收站保留规则匹配的归档快照，则归档的快照将在保留规则定义的保留期内保留在回收站中。要使用快照，您必须首先从回收站中恢复快照，然后从归档层中还原它。有关更多信息，请参阅[回收站](recycle-bin.md)和[归档 Amazon EBS 快照的定价和计费](snapshot-archive-pricing.md)。
+ 您不能在块设备映射中使用已归档快照或创建 Amazon EBS 卷。
+ 您可以存档 AWS Backup 使用 AWS Backup 控制台 APIs、或命令行工具创建的快照。有关更多信息，请参阅《AWS Backup 开发人员指南**》中的[制定备份计划](https://docs.aws.amazon.com/aws-backup/latest/devguide/creating-a-backup-plan.html)。

**限制**
+ 您只能归档状态为 `completed` 状态的快照。
+ 您只能归档您在账户中拥有的快照。要归档与您共享的快照，首先将快照复制到您的账户，然后将快照副本归档。
+ 在使用归档快照之前，必须先将其还原到标准层。要通过 `CreateVolume` 和 `RunInstances` API 操作从快照创建卷，以及共享或复制快照，都需要恢复到标准层。有关更多信息，请参阅 [还原已归档的 Amazon EBS 快照](restore-archived-snapshot.md)。
+  AMIs 只有禁用了所有关联的快照，您才能存档与一个或多个关联 AMIs 的快照。有关更多信息，请参阅[禁用 AMI](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/disable-an-ami.html)。
+ 如果关联的快照已暂时恢复，则无法启用已禁用的 AMI。在启用 AMI 之前，必须永久恢复所有关联的快照。
+ 在快照归档或快照还原过程启动后，您无法取消它。
+ 您不能共享已归档的快照。如果归档了与其它账户共享的快照，则在归档快照后，与之共享快照的账户将失去访问权限。
+ 您不能复制已归档的快照。如果需要复制归档的快照，则必须首先将其还原。
+ 您不能为归档快照启用快速快照还原。快照归档后，快速快照还原会自动禁用。如果您需要使用快速快照还原，则必须在还原快照后手动启用该选项。

# 归档 Amazon EBS 快照的定价和计费
<a name="snapshot-archive-pricing"></a>

归档的快照按每 GB 每月 0.0125 美元的费率计费。例如，如果您归档 100GiB 快照，则每月需支付 1.25 美元（100GiB x 0.0125 美元）的费用。

快照还原的费率为每 GB 还原数据收费 0.03 美元。例如，如果您从归档层还原 100GiB 快照，则需要一次向您收取费用 3 美元（100GiB x 0.03 美元）。

快照还原到标准层后，快照按每 GB 每月 0.05 美元的标准费率计费。

有关更多信息，请参阅 [Amazon EBS 定价](https://aws.amazon.com/ebs/pricing/)。

**按最短归档期收费**  
最短归档期为 90 天。如果您在最短 90 天的归档期限之前删除或永久还原归档的快照，则按比例收取的费用等于剩余天数的归档层存储费用（四舍五入到最接近的小时数）。例如，如果在 40 天之后删除或永久恢复归档快照，则将收取剩余 50 归天的最小存档期的费用。

**注意**  
在最短 90 天的归档期限之前暂时还原已归档的快照，不会产生此费用。

**临时还原**  
当您临时还原快照时，快照将从归档层还原到标准层，并且快照的副本将保留在归档层中。在临时还原期间，您需要为标准层中的快照和归档层中的快照副本付费。从标准层中删除临时还原的快照时，您不再需要为其付费，而只需为归档层中的快照付费。

**永久还原**  
当您永久还原快照时，快照将从归档层还原到标准层，并且快照将从归档层删除。您仅需为标准层中的快照付费。

**删除快照**  


如果在归档快照时删除快照，则需要为已移动到归档层的快照数据付费。数据最短归档期限为 90 天，并要在删除时支付相应的费用。例如，如果您存档了一个 100 GiB 的快照，并且在仅存档 40 GiB 之后就删除了该快照，那么对于已经存档的 40 GiB，您需支付 1.50 美元（每月 0.0125 美元 \$1 40 GB \$1（90 天 x 24 小时）/（24 \$1 30 天）/（每月 24 天 \$1 30 天）。 hours/day 

如果在从归档层还原快照时删除快照，您需要为快照的完整大小（快照大小 x 0.03 美元）支付快照还原费用。例如，如果您从归档层还原 100GiB 快照，并且在快照还原完成之前的任何时候删除快照，则需支付 3 美元（100GiB 快照大小 x 0.03 美元）的费用。

**回收站**  
归档的快照在回收站中时，按归档快照的费率计费。回收站中的归档快照的最短归档期限为 90 天，如果在最短归档期限到来之前被回收站删除，则会产生相应费用。换句话说，如果按照某保留规则，在最短期限 90 天之前从回收站中删除了归档的快照，则需要为剩余天数付费。

如果删除与回收站保留规则匹配的归档快照，则归档的快照将在保留规则定义的保留期内保留在回收站中。它会按归档快照的费率计费。

如果在还原快照时删除与保留规则匹配的快照，则还原的快照将在保留期剩余时间内保留在回收站中，并按标准快照费率计费。要使用快照，您必须首先从回收站中恢复快照。

有关更多信息，请参阅[回收站](recycle-bin.md)。

**成本跟踪**  
存档的快照 AWS 成本和使用情况报告 以相同的资源 ID 和 Amazon 资源名称 (ARN) 出现在中。有关更多信息，请参阅 [AWS 成本和使用情况报告 《用户指南》](https://docs.aws.amazon.com/cur/latest/userguide/what-is-cur.html)。

您可以使用以下使用类型来确定相关成本：
+ `SnapshotArchiveStorage` – 月度数据存储费
+ `SnapshotArchiveRetrieval` – 快照还原的一次性费用
+ `SnapshotArchiveEarlyDelete` – 在最短归档期限（90 天）之前删除或永久还原快照的费用

# 归档 Amazon EBS 快照的准则和最佳实践
<a name="archiving-guidelines"></a>

本部分提供了归档快照的准则和最佳做法。

**Topics**
+ [归档卷的唯一快照](#guidelines-single-snapshot)
+ [归档单个卷的增量快照](#guidelines-incremental-snapshot)
+ [出于合规性原因归档完整快照](#guidelines-full-snapshot)
+ [确定标准层存储成本的减少程度](#archive-guidelines)

## 归档卷的唯一快照
<a name="guidelines-single-snapshot"></a>

如果只存在卷的一个快照，则快照的大小始终与创建快照时写入卷的块的大小相同。归档此类快照时，标准层中的快照将转换为同等大小的完整快照，然后从标准层移动到归档层。

归档这些快照可以帮助您以更低的存储成本节省开支。如果不再需要源卷，则可以删除该卷以进一步节省存储成本。

![\[创建快照，归档快照，然后删除源卷。\]](http://docs.aws.amazon.com/zh_cn/ebs/latest/userguide/images/archive-single-snap.png)


## 归档单个卷的增量快照
<a name="guidelines-incremental-snapshot"></a>

归档增量快照时，增量快照将转换为完整快照，然后从标准层移动到归档层。例如，在下图中，如果您归档**快照 B**，快照将转换为大小为 10GiB 的完整快照并移动到归档层。同样，如果您归档**快照 C**，归档层中的完整快照大小为 14GiB。

![\[存档卷的增量快照。\]](http://docs.aws.amazon.com/zh_cn/ebs/latest/userguide/images/snapshot_1e.png)


如果要归档快照以降低标准层中的存储成本，您不应归档一组增量快照中的第一个快照。快照谱系中的后续快照引用了这些快照。在大多数情况下，归档这些快照不会降低存储成本。

**注意**  
您不应归档一组增量快照中的最后一个快照。最后一个快照是卷的最新快照。如果要在卷损坏或丢失的情况下从快照中创建卷，则需要在标准层中使用此快照。

如果归档了一个快照，而该快照包含了谱系中后续快照所引用的数据，那么与所引用数据关联的数据存储和存储成本将分配给后续快照。在这种情况下，归档这些快照不会降低数据存储成本。例如，在上一张图片中，如果归档**快照 B**，它的 4GiB 的数据相当于由**快照 C** 产生。在这种情况下，总体存储成本将增加，因为您需要为归档层的**快照 B** 完整版付费，而标准层的存储成本保持不变。

如果归档**快照 C**，标准层存储将减少 4GiB，因为该数据未被谱系中任何其它后续快照引用。而且，由于快照已转换为完整快照，您的归档层存储将增加 14GiB。

## 出于合规性原因归档完整快照
<a name="guidelines-full-snapshot"></a>

出于合规性考虑，您可能需要每月、每季度或每年创建卷的完整备份。对于这些备份，您可能需要独立快照而不向后或向前引用快照谱系中的其它快照。使用 EBS 快照归档功能归档的快照是完整快照，它们没有引用谱系中的其它快照。此外，为了遵循合规性要求，您可能需要保留这些快照数年。EBS 快照归档使归档这些完整快照以长期保留具备良好的成本效益。

## 确定标准层存储成本的减少程度
<a name="archive-guidelines"></a>

如果要归档增量快照以降低存储成本，您应考虑归档层中完整快照的大小和标准层存储空间减少的程度。本部分介绍如何进行设置。

**重要**  
API 响应在调用 point-in-time时的数据准确 APIs 无误。由于与快照相关的数据随着快照谱系的变化而发生变化，API 响应可能会有所不同。

要确定标准层存储空间和存储成本的降低，请使用以下步骤。

1. 对于要存档的快照，请检查完整快照大小和根据其创建快照的源卷。使用 [describe-snapshots](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-snapshots.html) 命令，对于 `--snapshot-id`，指定要存档的快照的 ID。

   ```
   $ aws ec2 describe-snapshots --snapshot-id snapshot_id
   ```

   `FullSnapshotSizeInBytes` 响应值表示完整快照大小（以字节为单位），`VolumeId` 响应值表示源卷的 ID。

   例如，以下命令返回有关快照 `snap-09c9114207084f0d9` 的信息。

   ```
   $ aws ec2 describe-snapshots --snapshot-id snap-09c9114207084f0d9
   ```

   以下示例输出显示完整快照大小为 `5678912341` 字节（5.28 GiB），源卷为 `vol-0f3e2c292c52b85c3`。

   ```
   {
       "Snapshots": [
           {
               "Description": "", 
               "Tags": [], 
               "Encrypted": false, 
               "VolumeId": "vol-0f3e2c292c52b85c3",
               "State": "completed", 
               "VolumeSize": 8, 
               "StartTime": "2021-11-16T08:29:49.840Z", 
               "Progress": "100%", 
               "OwnerId": "123456789012", 
               "FullSnapshotSizeInBytes" : "5678912341",
               "SnapshotId": "snap-09c9114207084f0d9"
           }
       ]
   }
   ```

1. 查找通过该源卷创建的所有快照。可以使用 [describe-hosts](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-snapshots.html) 命令。请指定 `volume-id` 筛选条件，并指定在上一步中得到的卷 ID 作为筛选条件值。

   ```
   $ aws ec2 describe-snapshots --filters "Name=volume-id, Values=volume_id"
   ```

   例如，以下命令返回创建自卷的所有快照 `vol-0f3e2c292c52b85c3`。

   ```
   $ aws ec2 describe-snapshots --filters "Name=volume-id, Values=vol-0f3e2c292c52b85c3"
   ```

   以下是命令输出，表示三个快照通过卷创建 `vol-0f3e2c292c52b85c3`。

   ```
   {
       "Snapshots": [
           {
               "Description": "", 
               "Tags": [], 
               "Encrypted": false, 
               "VolumeId": "vol-0f3e2c292c52b85c3", 
               "State": "completed", 
               "VolumeSize": 8, 
               "StartTime": "2021-11-14T08:57:39.300Z",
               "Progress": "100%", 
               "OwnerId": "123456789012", 
               "SnapshotId": "snap-08ca60083f86816b0"
           }, 
           {
               "Description": "", 
               "Tags": [], 
               "Encrypted": false, 
               "VolumeId": "vol-0f3e2c292c52b85c3", 
               "State": "completed", 
               "VolumeSize": 8, 
               "StartTime": "2021-11-15T08:29:49.840Z", 
               "Progress": "100%", 
               "OwnerId": "123456789012", 
               "SnapshotId": "snap-09c9114207084f0d9"
           }, 
           {
               "Description": "01", 
               "Tags": [], 
               "Encrypted": false, 
               "VolumeId": "vol-0f3e2c292c52b85c3", 
               "State": "completed", 
               "VolumeSize": 8, 
               "StartTime": "2021-11-16T07:50:08.042Z", 
               "Progress": "100%", 
               "OwnerId": "123456789012", 
               "SnapshotId": "snap-024f49fe8dd853fa8"
           }
       ]
   }
   ```

1. 使用上一个命令的输出，按照创建时间（从最旧到最新）对快照进行排序。每个快照的响应参数 `StartTime` 表示其创建时间（UTC 时间格式）。

   例如，按创建时间（从最旧到最新）排列的上一步返回的快照如下所示：

   1. `snap-08ca60083f86816b0`（最旧 – 在要存档的快照之前创建）

   1. `snap-09c9114207084f0d9`（要归档的快照）

   1. `snap-024f49fe8dd853fa8`（最新 – 紧接着需归档的快照之后创建）

1. 确定在需归档快照产生之前和之后紧邻着创建的快照。在这种情况下，您要归档快照 `snap-09c9114207084f0d9`，这是在三个快照集中创建的第二个增量快照。快照 `snap-08ca60083f86816b0` 正好在其之前创建，而快照 `snap-024f49fe8dd853fa8` 紧接其后创建。

1. 在需归档的快照中找到未引用的数据。首先，找出需归档快照以及正好在其之前创建的快照之间不同的数据块。使用 [list-changed-blocks](https://docs.aws.amazon.com/cli/latest/reference/ebs/list-changed-blocks.html) 命令。对于 `--first-snapshot-id`，请指定正好在需归档快照之前创建的快照 ID。对于 `--second-snapshot-id`，请指定需归档快照 ID。

   ```
   $ aws ebs list-changed-blocks --first-snapshot-id snapshot_created_before --second-snapshot-id snapshot_to_archive
   ```

   例如，以下命令显示了以下两个快照之间不同数据块的块索引：快照 `snap-08ca60083f86816b0`（正好在需归档快照之前创建的快照），以及快照 `snap-09c9114207084f0d9`（需归档快照）。

   ```
   $ aws ebs list-changed-blocks --first-snapshot-id snap-08ca60083f86816b0 --second-snapshot-id snap-09c9114207084f0d9
   ```

   下面显示了命令输出，其中省略了一些数据块。

   ```
   {
       "BlockSize": 524288, 
       "ChangedBlocks": [
           {
               "FirstBlockToken": "ABgBAX6y+WH6Rm9y5zq1VyeTCmEzGmTT0jNZG1cDirFq1rOVeFbWXsH3W4z/", 
               "SecondBlockToken": "ABgBASyx0bHHBnTERu+9USLxYK/81UT0dbHIUFqUjQUkwTwK5qkjP8NSGyNB", 
               "BlockIndex": 4
           }, 
           {
               "FirstBlockToken": "ABgBAcfL+EfmQmlNgstqrFnYgsAxR4SDSO4LkNLYOOChGBWcfJnpn90E9XX1", 
               "SecondBlockToken": "ABgBAdX0mtX6aBAt3EBy+8jFCESMpig7csKjbO2Ocd08m2iNJV2Ue+cRwUqF", 
               "BlockIndex": 5
           }, 
           {
               "FirstBlockToken": "ABgBAVBaFJmbP/eRHGh7vnJlAwyiyNUi3MKZmEMxs2wC3AmM/fc6yCOAMb65", 
               "SecondBlockToken": "ABgBAdewWkHKTcrhZmsfM7GbaHyXD1Ctcn2nppz4wYItZRmAo1M72fpXU0Yv", 
               "BlockIndex": 13
           }, 
           {
               "FirstBlockToken": "ABgBAQGxwuf6z095L6DpRoVRVnOqPxmx9r7Wf6O+i+ltZ0dwPpGN39ijztLn", 
               "SecondBlockToken": "ABgBAUdlitCVI7c6hGsT4ckkKCw6bMRclnV+bKjViu/9UESTcW7CD9w4J2td", 
               "BlockIndex": 14
           }, 
           {
               "FirstBlockToken": "ABgBAZBfEv4EHS1aSXTXxSE3mBZG6CNeIkwxpljzmgSHICGlFmZCyJXzE4r3", 
               "SecondBlockToken": "ABgBAVWR7QuQQB0AP2TtmNkgS4Aec5KAQVCldnpc91zBiNmSfW9ouIlbeXWy", 
               "BlockIndex": 15
           },
           .....
           {
               "SecondBlockToken": "ABgBAeHwXPL+z3DBLjDhwjdAM9+CPGV5VO5Q3rEEA+ku50P498hjnTAgMhLG", 
               "BlockIndex": 13171
           }, 
           {
               "SecondBlockToken": "ABgBAbZcPiVtLx6U3Fb4lAjRdrkJMwW5M2tiCgIp6ZZpcZ8AwXxkjVUUHADq", 
               "BlockIndex": 13172
           }, 
           {
               "SecondBlockToken": "ABgBAVmEd/pQ9VW9hWiOujOAKcauOnUFCO+eZ5ASVdWLXWWC04ijfoDTpTVZ", 
               "BlockIndex": 13173
           }, 
           {
               "SecondBlockToken": "ABgBAT/jeN7w+8ALuNdaiwXmsSfM6tOvMoLBLJ14LKvavw4IiB1d0iykWe6b", 
               "BlockIndex": 13174
           }, 
           {
               "SecondBlockToken": "ABgBAXtGvUhTjjUqkwKXfXzyR2GpQei/+pJSG/19ESwvt7Hd8GHaUqVs6Zf3", 
               "BlockIndex": 13175
           }
       ], 
       "ExpiryTime": 1637648751.813, 
       "VolumeSize": 8
   }
   ```

   接下来，使用相同的命令查找需归档快照与紧接其后创建的快照之间不同的数据块。对于 `--first-snapshot-id`，请指定需归档快照 ID。对于 `--second-snapshot-id`，请指定紧接着需归档快照之后创建的快照 ID。

   ```
   $ aws ebs list-changed-blocks --first-snapshot-id snapshot_to_archive --second-snapshot-id snapshot_created_after
   ```

   例如，以下命令显示了以下两个快照之间不同块的数据块索引：快照 `snap-09c9114207084f0d9`（在需归档快照之后立即创建的快照），以及快照 `snap-024f49fe8dd853fa8`（需归档快照）。

   ```
   $ aws ebs list-changed-blocks --first-snapshot-id snap-09c9114207084f0d9 --second-snapshot-id snap-024f49fe8dd853fa8
   ```

   下面显示了命令输出，其中省略了一些数据块。

   ```
   {
       "BlockSize": 524288, 
       "ChangedBlocks": [
           {
               "FirstBlockToken": "ABgBAVax0bHHBnTERu+9USLxYK/81UT0dbSnkDk0gqwRFSFGWA7HYbkkAy5Y", 
               "SecondBlockToken": "ABgBASEvi9x8Om7Htp37cKG2NT9XUzEbLHpGcayelomSoHpGy8LGyvG0yYfK", 
               "BlockIndex": 4
           }, 
           {
               "FirstBlockToken": "ABgBAeL0mtX6aBAt3EBy+8jFCESMpig7csfMrI4ufnQJT3XBm/pwJZ1n2Uec", 
               "SecondBlockToken": "ABgBAXmUTg6rAI+v0LvekshbxCVpJjWILvxgC0AG0GQBEUNRVHkNABBwXLkO", 
               "BlockIndex": 5
           }, 
           {
               "FirstBlockToken": "ABgBATKwWkHKTcrhZmsfM7GbaHyXD1CtcnjIZv9YzisYsQTMHfTfh4AhS0s2", 
               "SecondBlockToken": "ABgBAcmiPFovWgXQio+VBrxOqGy4PKZ9SAAHaZ2HQBM9fQQU0+EXxQjVGv37", 
               "BlockIndex": 13
           }, 
           {
               "FirstBlockToken": "ABgBAbRlitCVI7c6hGsT4ckkKCw6bMRclnARrMt1hUbIhFnfz8kmUaZOP2ZE", 
               "SecondBlockToken": "ABgBAXe935n544+rxhJ0INB8q7pAeoPZkkD27vkspE/qKyvOwpozYII6UNCT", 
               "BlockIndex": 14
           }, 
           {
               "FirstBlockToken": "ABgBAd+yxCO26I+1Nm2KmuKfrhjCkuaP6LXuol3opCNk6+XRGcct4suBHje1", 
               "SecondBlockToken": "ABgBAcPpnXz821NtTvWBPTz8uUFXnS8jXubvghEjZulIjHgc+7saWys77shb", 
               "BlockIndex": 18
           },
           .....
           {
               "SecondBlockToken": "ABgBATni4sDE5rS8/a9pqV03lU/lKCW+CTxFl3cQ5p2f2h1njpuUiGbqKGUa", 
               "BlockIndex": 13190
           }, 
           {
               "SecondBlockToken": "ABgBARbXo7zFhu7IEQ/9VMYFCTCtCuQ+iSlWVpBIshmeyeS5FD/M0i64U+a9", 
               "BlockIndex": 13191
           }, 
           {
               "SecondBlockToken": "ABgBAZ8DhMk+rROXa4dZlNK45rMYnVIGGSyTeiMli/sp/JXUVZKJ9sMKIsGF", 
               "BlockIndex": 13192
           }, 
           {
               "SecondBlockToken": "ABgBATh6MBVE904l6sqOC27s1nVntFUpDwiMcRWGyJHy8sIgGL5yuYXHAVty", 
               "BlockIndex": 13193
           }, 
           {
               "SecondBlockToken": "ABgBARuZykaFBWpCWrJPXaPCneQMbyVgnITJqj4c1kJWPIj5Gn61OQyy+giN", 
               "BlockIndex": 13194
           }
       ], 
       "ExpiryTime": 1637692677.286, 
       "VolumeSize": 8
   }
   ```

1. 比较上一步中两个命令返回的输出。如果两个命令输出中都显示相同的数据块索引，则表示该数据块包含未引用的数据。

   例如，上一步中的命令输出表明数据块 4、5、13 和 14 对于快照 `snap-09c9114207084f0d9` 来说是唯一的，而且快照谱系中的任何其他快照都不会引用这些数据块。

   要确定标准层存储空间的减少多少，请将两个命令输出中出现的数据块数乘以 512KiB，即得出快照数据块大小。

   例如，如果在两个命令输出中都出现 9950 个数据块索引，则表明您将减少标准层存储大约 4.85GiB（9950 个数据块 x 512KiB = 4.85GiB）。

1. 确定在标准层中存储未引用的数据块达 90 天的存储成本。将此值与存档层中的完整快照存储成本（如步骤 1 所述）进行比较。假设在最短 90 天的期限内没有从归档层还原完整快照，您可以通过比较这些值来确定节省的成本。有关更多信息，请参阅 [归档 Amazon EBS 快照的定价和计费](snapshot-archive-pricing.md)。

# 归档 Amazon EBS 快照所需的 IAM 权限
<a name="snapshot-archiving-iam"></a>

默认情况下，用户无权使用快照归档。要允许用户使用快照归档，您必须创建 IAM policy，以授予使用特定资源和 API 操作的权限。有关更多信息，请参阅《IAM 用户指南》中的[创建 IAM policy](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html)。

要使用快照归档，用户需要以下权限。
+ `ec2:DescribeSnapshotTierStatus`
+ `ec2:ModifySnapshotTier`
+ `ec2:RestoreSnapshotTier`

控制台用户可能还需要其他权限，例如 `ec2:DescribeSnapshots`。

要存档和恢复加密快照，需要以下额外 AWS KMS 权限。
+ `kms:CreateGrant`
+ `kms:Decrypt`
+ `kms:DescribeKey`

以下是 IAM policy 示例，授予了 IAM 用户归档、恢复和查看加密及未加密快照的权限。其包括控制台用户的 `ec2:DescribeSnapshots` 权限。如果不需要某些上述权限，您可以从策略中将其删除。

**提示**  
为遵循最小特权原则，请不要允许对 `kms:CreateGrant` 拥有完全访问权限。相反，使用`kms:GrantIsForAWSResource`条件密钥允许用户仅在 AWS 服务代表用户创建授权时才允许用户在 KMS 密钥上创建授权，如以下示例所示。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [{
        "Effect": "Allow",
        "Action": [
            "ec2:DescribeSnapshotTierStatus",
            "ec2:ModifySnapshotTier",
            "ec2:RestoreSnapshotTier",
            "ec2:DescribeSnapshots",
            "kms:CreateGrant",
            "kms:Decrypt",
            "kms:DescribeKey"
        ],
        "Resource": "*",
        "Condition": {
                "Bool": {
                    "kms:GrantIsForAWSResource": true
                }
            }
    }]
}
```

------

要提供访问权限，请为您的用户、组或角色添加权限：
+ 中的用户和群组 AWS IAM Identity Center：

  创建权限集合。按照《AWS IAM Identity Center 用户指南》**中[创建权限集](https://docs.aws.amazon.com//singlesignon/latest/userguide/howtocreatepermissionset.html)的说明进行操作。
+ 通过身份提供者在 IAM 中托管的用户：

  创建适用于身份联合验证的角色。按照《IAM 用户指南》**中[针对第三方身份提供者创建角色（联合身份验证）](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-idp.html)的说明进行操作。
+ IAM 用户：
  + 创建您的用户可以担任的角色。按照《IAM 用户指南》**中[为 IAM 用户创建角色](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-user.html)的说明进行操作。
  + （不推荐使用）将策略直接附加到用户或将用户添加到用户组。按照《IAM 用户指南》**中[向用户添加权限（控制台）](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console)中的说明进行操作。

# 归档 Amazon EBS 快照
<a name="archive-snapshot"></a>

您可以归档任何状态为 `completed` 的快照，以及自己账户中的快照。您无法归档状态为 `pending` 或 `error` 的快照，以及与您共享的快照。有关更多信息，请参阅 [归档 Amazon EBS 快照的注意事项和限制](snapshot-archive-considerations.md)。

如果快照与一个或多个关联 AMIs，则必须先禁用关联的快照，然后 AMIs 才能存档快照。有关更多信息，请参阅[禁用 AMI](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/disable-an-ami.html)。

存档的快照会保留其快照 ID、加密状态、 AWS Identity and Access Management (IAM) 权限、所有者信息和资源标签。但是，快照还原和快照共享会在快照归档后自动禁用。

在归档处理过程中，您可以继续使用快照。一旦快照分层状态达到 `archival-complete` 状态，您无法再使用快照。

------
#### [ Console ]

**归档快照**

1. 打开位于 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) 的 Amazon EC2 控制台。

1. 在导航窗格中，选择**快照**。

1. 在快照列表中，选择需归档快照，然后选择 **Actions**（操作）、**Archive snapshot**（归档快照）。

1. 如要确认，请选择 **Archive snapshot**（归档快照）。

------
#### [ AWS CLI ]

**归档快照**  
使用 [ 命令。 modify-snapshot-tier](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-snapshot-tier.html) AWS CLI 对于 `--snapshot-id`，请指定需归档快照的 ID。对于 `--storage-tier`，请指定 `archive`。

```
aws ec2 modify-snapshot-tier \
    --snapshot-id snap-0abcdef1234567890 \
    --storage-tier archive
```

下面是示例输出。响应参数 `TieringStartTime` 以 UTC 时间格式（YYYY-MM-DDTHH:MM:SSZ）表示归档过程的启动日期和时间。

```
{
    "SnapshotId": "snap-0abcdef1234567890",
    "TieringStartTime": "2021-09-15T16:44:37.574Z"
}
```

------
#### [ PowerShell ]

**归档快照**  
使用 [Edit-EC2SnapshotTier](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2SnapshotTier.html) cmdlet。以下 示例归档指定的快照。

```
Edit-EC2SnapshotTier `
    -SnapshotId snap-0abcdef1234567890 `
    -StorageTier "archive"
```

------

# 还原已归档的 Amazon EBS 快照
<a name="restore-archived-snapshot"></a>

在使用归档快照之前，必须先将其还原到标准层。还原的快照具有与归档之前相同的快照 ID、加密状态、IAM 权限、所有者信息和资源标签。还原后，您可以像使用账户中的任何其它快照一样使用它。还原的快照始终是完整快照。

还原快照时，可以选择使用以下两种方式还原快照：**permanently**（永久）或 **temporarily**（暂时）。

如果永久还原快照，则快照将从归档层永久移动到标准层。在手动重新归档或手动删除快照之前，快照将保持还原状态并可供使用。永久还原快照时，快照将从归档层中删除。

如果临时还原快照，则在您指定的还原期内，快照将从归档层复制到标准层。快照将保持还原状态，并且只能在还原期间使用。在还原期间，快照的副本将保留在归档层中。超过期限后，快照将自动从标准层中删除。在还原期间，您可以随时延长或缩短还原期，或将还原类型更改为永久。有关更多信息，请参阅 [修改临时还原的 Amazon EBS 快照的还原期](modify-temp-restore-period.md)。

如果您要还原与已禁用的 AMI 关联的快照，并且打算使用该 AMI，则必须先**永久还原**所有关联的快照，再[重新启用已禁用的 AMI](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/disable-an-ami.html#re-enable-a-disabled-ami)，然后才能使用该 AMI。如果关联的快照已暂时恢复，则无法启用 AMI。您可以使用以下命令来查找与 AMI 关联的所有快照。

```
aws ec2 describe-images --image-id ami_id \
  --query Images[*].BlockDeviceMappings[*].Ebs[].SnapshotId[]
```

------
#### [ Console ]

**从归档中还原快照**

打开位于 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) 的 Amazon EC2 控制台。

1. 在导航窗格中，选择**快照**。

1. 在快照列表中，选择要还原的归档快照，然后选择 **Actions**（操作）、**Restore snapshot from archive**（从归档还原快照）。

1. 指定要执行的还原类型。在 **Restore type**（还原类型）中，执行下列操作之一：
   + 要永久还原快照，请选择 **Permanent**（永久）。
   + 要临时还原快照，请选择 **Temporary**（临时），然后在 **Temporary restore period**（临时还原期）中，输入要还原快照的天数。

1. 要确认，请选择 **Restore snapshot**（还原快照）。

------
#### [ AWS CLI ]

**永久还原已归档的快照**  
使用带`--permanent-restore`选项的[ restore-snapshot-tier](https://docs.aws.amazon.com/cli/latest/reference/ec2/restore-snapshot-tier.html) AWS CLI 命令。对于 `--snapshot-id`，请指定需还原快照的 ID。

```
aws ec2 restore-snapshot-tier \
    --snapshot-id snap-0abcdef1234567890 \
    --permanent-restore
```

下面是示例输出。

```
{
    "SnapshotId": "snap-0abcdef1234567890",
    "IsPermanentRestore": true
}
```

**临时还原已归档的快照**  
使用 [ 命令。 restore-snapshot-tier](https://docs.aws.amazon.com/cli/latest/reference/ec2/restore-snapshot-tier.html) AWS CLI 忽略 `--permanent-restore` 选项。对于 `--temporary-restore-days`，指定要还原快照的天数。允许的范围是 1 到 180 天。如果您不指定值，则默认值为 1 天。

以下示例会临时还原指定的快照，还原期限为 5 天。

```
aws ec2 restore-snapshot-tier \
    --snapshot-id snap-0abcdef1234567890 \
    --temporary-restore-days 5
```

下面是示例输出。

```
{
    "SnapshotId": "snap-0abcdef1234567890",
    "RestoreDuration": 5,
    "IsPermanentRestore": false
}
```

------
#### [ PowerShell ]

**永久还原已归档的快照**  
使用 [Restore-EC2SnapshotTier](https://docs.aws.amazon.com/powershell/latest/reference/items/Restore-EC2SnapshotTier.html) cmdlet。

```
Restore-EC2SnapshotTier `
    -SnapshotId snap-0abcdef1234567890 `
    -PermanentRestore $true
```

**临时还原已归档的快照**  
使用 [Restore-EC2SnapshotTier](https://docs.aws.amazon.com/powershell/latest/reference/items/Restore-EC2SnapshotTier.html) cmdlet。

```
Restore-EC2SnapshotTier `
    -SnapshotId snap-0abcdef1234567890 `
    -TemporaryRestoreDays 5
```

------

# 修改临时还原的 Amazon EBS 快照的还原期
<a name="modify-temp-restore-period"></a>

临时还原快照时，必须指定快照在账户中保持还原状态的天数。还原期到期后，快照将自动从标准层中删除。

您可以随时更改临时还原快照的还原期。

您可以选择增加或缩短还原期，也可以将还原类型从临时更改为永久。

如果更改还原期，则新的还原期将从当前日期开始生效。例如，如果指定新的还原期 `5` 天，快照将从当前日期开始到 5 天内保持还原状态。

**注意**  
您可以通过将还原期设置为 1 天，提前结束临时还原。

如果将还原类型从临时更改为永久，则快照副本将从归档层中删除，并且在您手动重新归档或删除快照之前，该快照将保持在账户中并且可用。

------
#### [ Console ]

**修改还原期或还原类型**

1. 打开位于 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) 的 Amazon EC2 控制台。

1. 在导航窗格中，选择**快照**。

1. 在快照列表中，选择此前暂时还原的快照，然后选择 **Actions**（操作）、**Restore snapshot from archive**（从归档还原快照）。

1. 在 **Restore type**（还原类型）中，执行下列操作之一：
   + 要将还原类型从临时更改为永久，请选择 **Permanent**（永久）。
   + 要延长或缩短还原期，请保留 **Temporary**（临时），然后在 **Temporary restore period**（临时还原期）中输入新的还原期（以天为单位）。

1. 要确认，请选择 **Restore snapshot**（还原快照）。

------
#### [ AWS CLI ]

**修改还原期或还原类型**  
使用 [ restore-snapshot-tier](https://docs.aws.amazon.com/cli/latest/reference/ec2/restore-snapshot-tier.html) 命令。对于 `--snapshot-id`，请指定之前临时还原的快照的 ID。要将还原类型从临时更改为永久性，请指定 `--permanent-restore` 并忽略 `--temporary-restore-days`。要延长或缩短还原期，请省略 `--permanent-restore`，而且对于 `--temporary-restore-days`，请指定新的还原期（以天为单位）。

**例如：延长或缩短还原期**  
以下示例将指定快照的还原期更改为 `10` 天。

```
aws ec2 restore-snapshot-tier \
    --snapshot-id snap-0abcdef1234567890 \
    --temporary-restore-days 10
```

下面是示例输出。

```
{
    "SnapshotId": "snap-0abcdef1234567890",
    "RestoreDuration": 10,
    "IsPermanentRestore": false
}
```

**示例：将还原类型更改为永久**  
以下命令将指定快照的还原类型从临时更改为永久。

```
aws ec2 restore-snapshot-tier \
    --snapshot-id snap-0abcdef1234567890 \
    --permanent-restore
```

下面是示例输出。

```
{
    "SnapshotId": "snap-0abcdef1234567890",
    "IsPermanentRestore": true
}
```

------
#### [ PowerShell ]

**修改还原期或还原类型**  
使用 [Restore-EC2SnapshotTier](https://docs.aws.amazon.com/powershell/latest/reference/items/Restore-EC2SnapshotTier.html) cmdlet。对于 `-SnapshotId`，请指定之前临时还原的快照的 ID。要将还原类型从临时更改为永久性，请指定 `-PermanentRestore` 并忽略 `-TemporaryRestoreDays`。要延长或缩短还原期，请省略 `-PermanentRestore`，而且对于 `-TemporaryRestoreDays`，请指定新的还原期（以天为单位）。

**例如：延长或缩短还原期**  
以下示例将指定快照的还原期更改为 `10` 天。

```
Restore-EC2SnapshotTier `
    -SnapshotId snap-0abcdef1234567890 `
    -TemporaryRestoreDays 10
```

**示例：将还原类型更改为永久**  
以下命令将指定快照的还原类型从临时更改为永久。

```
Restore-EC2SnapshotTier `
    -SnapshotId snap-0abcdef1234567890 `
    -PermanentRestore $true
```

------

# 查看已归档的 Amazon EBS 快照
<a name="view-archived-snapshot"></a>

------
#### [ Console ]

**查看快照的存储层信息**

1. 打开位于 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) 的 Amazon EC2 控制台。

1. 在导航窗格中，选择**快照**。

1. 在快照列表中，选择快照，然后选择 **Storage tier**（存储层）选项卡。

   该表提供以下信息：
   + **Last tier change started on**（上次层别更改始于）– 上次归档或还原的开始日期和时间。
   + **Tier change progress**（层更改进展）– 以百分比表示的上次归档或还原操作的进度。
   + **Storage tier**（存储层）– 快照的存储层。归档快照的状态始终为 `archive`，以及存储在标准层上的快照的状态始终为 `standard`，包括临时还原的快照。
   + **Tiering status**（分层状态）– 上次归档或还原操作的状态。
   + **Archive completed on**（归档完成时间）– 归档完成的日期和时间。
   + **Temporary restore expires on**（临时还原到期时间）– 设置临时还原的快照过期的日期和时间。

------
#### [ AWS CLI ]

**查看有关归档快照的归档信息**  
使用 [ describe-snapshot-tier-status](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-snapshot-tier-status.html) 命令。请指定 `snapshot-id` 筛选条件，请指定快照 ID 为筛选条件值。或者，要查看所有归档的快照，请省略筛选条件。

```
--filters "Name=snapshot-id, Values=snapshot_id"
```

输出包括以下响应参数：
+ `Status` – 快照的状态。归档快照的状态始终为 `completed`。只有状态为 `completed` 的快照可以归档。
+ `LastTieringStartTime` – 归档过程开始的日期和时间，采用 UTC 时间格式（YYYY-MM-DDTHH:MM:SSZ）。
+ `LastTieringOperationState` – 归档过程的当前状态。可能的状态包括：`archival-in-progress` \$1 `archival-completed` \$1 `archival-failed` \$1 `permanent-restore-in-progress` \$1 `permanent-restore-completed` \$1 `permanent-restore-failed` \$1 `temporary-restore-in-progress` \$1 `temporary-restore-completed` \$1 `temporary-restore-failed`
+ `LastTieringProgress` – 快照归档过程的进度，以百分比表示。
+ `StorageTier` – 快照的存储层。归档快照的状态始终为 `archive`，以及存储在标准层上的快照的状态始终为 `standard`，包括临时还原的快照。
+ `ArchivalCompleteTime` – 归档过程完成的日期和时间，采用 UTC 时间格式（YYYY-MM-DDTHH:MM:SSZ）。

**示例：描述快照**  
以下示例显示有关指定快照的信息。

```
aws ec2 describe-snapshot-tier-status \
    --filters "Name=snapshot-id, Values=snap-0abcdef1234567890"
```

下面是示例输出。

```
{
    "SnapshotTierStatuses": [
        {
            "Status": "completed",
            "ArchivalCompleteTime": "2021-09-15T17:33:16.147Z",
            "LastTieringProgress": 100,
            "Tags": [],
            "VolumeId": "vol-01234567890abcdef",
            "LastTieringOperationState": "archival-completed",
            "StorageTier": "archive",
            "OwnerId": "123456789012",
            "SnapshotId": "snap-0abcdef1234567890",
            "LastTieringStartTime": "2021-09-15T16:44:37.574Z"
        }
    ]
}
```

**查看归档和标准层快照**  
可以使用 [describe-hosts](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-snapshots.html) 命令。对于 `--snapshot-ids`，请指定快照的 ID。

```
aws ec2 describe-snapshots --snapshot-ids snap-0abcdef1234567890
```

下面是示例输出。响应参数 `StorageTier` 说明快照当前是否已归档。`archive` 表示快照当前已归档并存储在归档层中，而 `standard` 表示快照当前尚未归档，并且存储在标准层中。

在以下示例输出中，只有 `Snap A` 已归档。`Snap B` 和 `Snap C` 尚未归档。

此外，响应参数 `RestoreExpiryTime` 仅为从归档中暂时还原的快照返回。它表示将何时从标准层中自动删除临时还原的快照。对于永久还原的快照，**不会**返回该值。

在以下示例输出中，`Snap C` 已暂时还原，它将在 2021-09-19T21:00:00.000Z（2021 年 9 月 19 日 UTC 21:00）自动从标准级别中移除。

```
{
    "Snapshots": [
        {
            "Description": "Snap A",
            "Encrypted": false,
            "VolumeId": "vol-01234567890aaaaaa",
            "State": "completed",
            "VolumeSize": 8,
            "StartTime": "2021-09-07T21:00:00.000Z",
            "Progress": "100%",
            "OwnerId": "123456789012",
            "SnapshotId": "snap-01234567890aaaaaa",
            "StorageTier": "archive",
            "Tags": []
        },
        {
            "Description": "Snap B",
            "Encrypted": false,
            "VolumeId": "vol-09876543210bbbbbb",
            "State": "completed",
            "VolumeSize": 10,
            "StartTime": "2021-09-14T21:00:00.000Z",
            "Progress": "100%",
            "OwnerId": "123456789012",
            "SnapshotId": "snap-09876543210bbbbbb",
            "StorageTier": "standard",           
            "RestoreExpiryTime": "2019-09-19T21:00:00.000Z",
            "Tags": []
        },
        {
            "Description": "Snap C",
            "Encrypted": false,
            "VolumeId": "vol-054321543210cccccc",
            "State": "completed",
            "VolumeSize": 12,
            "StartTime": "2021-08-01T21:00:00.000Z",
            "Progress": "100%",
            "OwnerId": "123456789012",
            "SnapshotId": "snap-054321543210cccccc",
            "StorageTier": "standard",
            "Tags": []
        }
    ]
}
```

**仅查看存储在归档层或标准层中的快照**  
可以使用 [describe-hosts](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-snapshots.html) 命令。包括 `--filter` 选项，筛选条件名称为 `storage-tier`。对于筛选条件值，请指定 `archive` 或 `standard`。以下示例仅显示已存档的快照。

```
aws ec2 describe-snapshots --filters "Name=storage-tier,Values=archive"
```

------
#### [ PowerShell ]

**查看有关已存档快照的存档信息**  
使用 [Get-EC2SnapshotTierStatus](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2SnapshotTierStatus.html) cmdlet。

```
Get-EC2SnapshotTierStatus `
    -Filter @{Name="snapshot-id"; Values="snap-0abcdef1234567890"}
```

**查看归档和标准层快照**  
使用 [Get-EC2Snapshot](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Snapshot.html) cmdlet。

```
Get-EC2Snapshot `
    -SnapshotId snap-0abcdef1234567890
```

**仅查看存储在归档层或标准层中的快照**  
使用 [Get-EC2Snapshot](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Snapshot.html) cmdlet。以下示例仅显示已存档的快照。

```
Get-EC2Snapshot `
    -Filter @{Name="storage-tier"; Values="archive"}
```

------

# 使用 CloudWatch 事件监控 Amazon EBS 快照存档
<a name="monitor-snapshot-archiving"></a>

Amazon EBS 发出与快照归档操作相关的事件。您可以使用 AWS Lambda 和 Amazon CloudWatch Events 以编程方式处理事件通知。尽最大努力发出事件。有关更多信息，请参阅 [Amazon EventBridge 用户指南](https://docs.aws.amazon.com/eventbridge/latest/userguide/)。

提供的事件如下：
+ `archiveSnapshot` – 当快照归档操作成功或失败时发出。

  以下是在快照归档操作成功时发送事件的示例。

  ```
  {
     "version": "0",
     "id": "01234567-0123-0123-0123-012345678901",
     "detail-type": "EBS Snapshot Notification",
     "source": "aws.ec2",
     "account": "123456789012",
     "time": "2021-05-25T13:12:22Z",
     "region": "us-east-1",
     "resources": [
       "arn:aws:ec2:us-east-1::snapshot/snap-01234567890abcdef"
     ],
     "detail": {
       "event": "archiveSnapshot",
       "result": "succeeded",
       "cause": "",
       "request-id": "123456789",
       "snapshot_id": "arn:aws:ec2:us-east-1::snapshot/snap-01234567890abcdef",
       "startTime": "2021-05-25T13:12:22Z",
       "endTime": "2021-05-45T15:30:00Z",
       "recycleBinExitTime": "2021-10-45T15:30:00Z"
    }
  ```

  以下是在快照归档操作失败时发送事件的示例。

  ```
  {
     "version": "0",
    "id": "01234567-0123-0123-0123-012345678901",
    "detail-type": "EBS Snapshot Notification",
    "source": "aws.ec2",
    "account": "123456789012",
    "time": "2021-05-25T13:12:22Z",
    "region": "us-east-1",
    "resources": [
      "arn:aws:ec2:us-east-1::snapshot/snap-01234567890abcdef"
    ],
    "detail": {
      "event": "archiveSnapshot",
      "result": "failed",
      "cause": "Source snapshot ID is not valid",
      "request-id": "1234567890",
      "snapshot_id": "arn:aws:ec2:us-east-1::snapshot/snap-01234567890abcdef",
      "startTime": "2021-05-25T13:12:22Z",
      "endTime": "2021-05-45T15:30:00Z",
      "recycleBinExitTime": "2021-10-45T15:30:00Z"
    }
  }
  ```
+ `permanentRestoreSnapshot` – 当永久还原操作成功或失败时发出。

  以下是在快照还原操作成功时发送事件的示例。

  ```
  {
     "version": "0",
    "id": "01234567-0123-0123-0123-012345678901",
    "detail-type": "EBS Snapshot Notification",
    "source": "aws.ec2",
    "account": "123456789012",
    "time": "2021-05-25T13:12:22Z",
    "region": "us-east-1",
    "resources": [
      "arn:aws:ec2:us-east-1::snapshot/snap-01234567890abcdef"
    ],
    "detail": {
      "event": "permanentRestoreSnapshot",
      "result": "succeeded",
      "cause": "",
      "request-id": "1234567890",
      "snapshot_id": "arn:aws:ec2:us-east-1::snapshot/snap-01234567890abcdef",
      "startTime": "2021-05-25T13:12:22Z",
      "endTime": "2021-10-45T15:30:00Z"
    }
  }
  ```

  以下是在永久还原操作失败时发送事件的示例。

  ```
  {
     "version": "0",
    "id": "01234567-0123-0123-0123-012345678901",
    "detail-type": "EBS Snapshot Notification",
    "source": "aws.ec2",
    "account": "123456789012",
    "time": "2021-05-25T13:12:22Z",
    "region": "us-east-1",
    "resources": [
      "arn:aws:ec2:us-east-1::snapshot/snap-01234567890abcdef"
    ],
    "detail": {
      "event": "permanentRestoreSnapshot",
      "result": "failed",
      "cause": "Source snapshot ID is not valid",
      "request-id": "1234567890",
      "snapshot_id": "arn:aws:ec2:us-east-1::snapshot/snap-01234567890abcdef",
      "startTime": "2021-05-25T13:12:22Z",
      "endTime": "2021-05-45T15:30:00Z",
      "recycleBinExitTime": "2021-10-45T15:30:00Z"
    }
  }
  ```
+ `temporaryRestoreSnapshot` – 当临时还原操作成功或失败时发出。

  以下是在快照暂时还原操作成功时发送事件的示例。

  ```
  {
     "version": "0",
    "id": "01234567-0123-0123-0123-012345678901",
    "detail-type": "EBS Snapshot Notification",
    "source": "aws.ec2",
    "account": "123456789012",
    "time": "2021-05-25T13:12:22Z",
    "region": "us-east-1",
    "resources": [
      "arn:aws:ec2:us-east-1::snapshot/snap-01234567890abcdef"
    ],
    "detail": {
      "event": "temporaryRestoreSnapshot",
      "result": "succeeded",
      "cause": "",
      "request-id": "1234567890",
      "snapshot_id": "arn:aws:ec2:us-us-east-1::snapshot/snap-01234567890abcdef",
      "startTime": "2021-05-25T13:12:22Z",
      "endTime": "2021-05-45T15:30:00Z",    
      "restoreExpiryTime": "2021-06-45T15:30:00Z",
      "recycleBinExitTime": "2021-10-45T15:30:00Z"
    }
  }
  ```

  下面是在临时还原操作失败时发送事件的示例。

  ```
  {
     "version": "0",
    "id": "01234567-0123-0123-0123-012345678901",
    "detail-type": "EBS Snapshot Notification",
    "source": "aws.ec2",
    "account": "123456789012",
    "time": "2021-05-25T13:12:22Z",
    "region": "us-east-1",
    "resources": [
      "arn:aws:ec2:us-east-1::snapshot/snap-01234567890abcdef"
    ],
    "detail": {
      "event": "temporaryRestoreSnapshot",
      "result": "failed",
      "cause": "Source snapshot ID is not valid",
      "request-id": "1234567890",
      "snapshot_id": "arn:aws:ec2:us-east-1::snapshot/snap-01234567890abcdef",
      "startTime": "2021-05-25T13:12:22Z",
      "endTime": "2021-05-45T15:30:00Z",
      "recycleBinExitTime": "2021-10-45T15:30:00Z"
    }
  }
  ```
+ `restoreExpiry` – 在临时还原快照的还原期到期时触发。

  示例如下：

  ```
  {
     "version": "0",
    "id": "01234567-0123-0123-0123-012345678901",
    "detail-type": "EBS Snapshot Notification",
    "source": "aws.ec2",
    "account": "123456789012",
    "time": "2021-05-25T13:12:22Z",
    "region": "us-east-1",
    "resources": [
      "arn:aws:ec2:us-east-1::snapshot/snap-01234567890abcdef"
    ],
    "detail": {
      "event": "restoryExpiry",
      "result": "succeeded",
      "cause": "",
      "request-id": "1234567890",
      "snapshot_id": "arn:aws:ec2:us-east-1::snapshot/snap-01234567890abcdef",
      "startTime": "2021-05-25T13:12:22Z",
      "endTime": "2021-05-45T15:30:00Z",
      "recycleBinExitTime": "2021-10-45T15:30:00Z"
    }
  }
  ```

# 删除 Amazon EBS 快照
<a name="ebs-deleting-snapshot"></a>

当您不再需要卷的 Amazon EBS 快照后，可以将其删除。删除快照对卷没有影响。删除卷对从它生成的快照无任何影响。

**Topics**
+ [删除快照的注意事项](#ebs-delete-snapshot-considerations)
+ [删除增量快照的工作原理](#ebs-deleting-snapshot-incremental)
+ [删除快照](#ebs-delete-snapshot)
+ [删除多卷快照](#ebs-delete-snapshot-multi-volume)

## 删除快照的注意事项
<a name="ebs-delete-snapshot-considerations"></a>

删除快照时需考虑以下事项：
+ 您不能删除注册 AMI 使用的 EBS 卷的根设备快照。即使已注册的 AMI 已弃用或禁用，此注意事项依然适用。您必须先注销 AMI，然后才能删除快照。有关更多信息，请参阅[取消注册 AMI](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/deregister-ami.html)。
+ 您无法使用 Amazon EC2 删除由该 AWS Backup 服务管理的快照。而是 AWS Backup 使用删除备份保管库中相应的恢复点。有关更多信息，请参阅 *AWS Backup 开发人员指南*中的[删除备份](https://docs.aws.amazon.com/aws-backup/latest/devguide/deleting-backups.html)。
+ 您可以手动创建、保留和删除快照，也可以使用 Amazon Data Lifecycle Manager 来管理快照。有关更多信息，请参阅[Amazon Data Lifecycle Manager](snapshot-lifecycle.md)。
+ 尽管您可以删除仍在制作的快照，但该快照必须先完成，删除才能生效。这可能需要较长时间。如果您还具有并发快照限制，而您尝试再制作一个快照，可能会遇到 `ConcurrentSnapshotLimitExceeded` 错误。有关更多信息，请参阅 *Amazon Web Services 一般参考* 中 Amazon EBS 的[服务配额](https://docs.aws.amazon.com/general/latest/gr/ebs-service.html#limits_ebs)。
+ 如果您删除符合回收站保留规则的快照，快照将保留在回收站中，而不是立即删除。有关更多信息，请参阅[回收站](recycle-bin.md)。
+ 您无法删除与禁用 EBS AMIs 支持的快照。有关更多信息，请参阅[禁用 AMI](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/disable-an-ami.html)。
+ 您无法删除与您共享的快照。
+ 如果删除您拥有的共享快照，则所有与该快照共享的账户都将无法访问它。

## 删除增量快照的工作原理
<a name="ebs-deleting-snapshot-incremental"></a>

如果定期拍摄卷快照，则这些快照为*增量快照*。这意味着该设备上在您的最新快照之后更改的数据块将保存在新快照中。尽管快照是以增量方式保存的，但是快照删除流程旨在让您能够仅保留最新的快照以创建卷。

如果数据存在于早期的单个快照或一系列快照中保存的卷上，并且该数据随后从卷中删除，则该数据仍被视为早期快照的唯一数据。只有引用唯一数据的所有快照都被删除，该唯一数据才会从快照序列中删除。

删除快照时，仅删除该快照专门引用的数据。只有在删除引用唯一数据的所有快照时，才会删除该唯一数据。删除卷的之前快照不会影响您使用该卷的之后快照创建卷的能力。

删除快照可能不会降低组织的数据存储成本。其他快照可引用已删除快照的数据，已引用的数据总是会被保留。如果您删除了一个快照，而该快照包含以后的快照使用的数据，那么与所引用数据关联的成本将分配到后来的快照。有关快照如何存储数据的更多信息，请参阅[Amazon EBS 快照的工作原理](how_snapshots_work.md)和下面的示例。

在下图中，卷 1 在三个时间点上显示。某个快照已捕获前两种状态，在第三种状态中，某个快照已被删除。
+ 在**状态 1** 中，该卷具有 10 GiB 数据。因为快照 A 是为该卷制作的首个快照，因此必须复制所有 10 GiB 数据。在这种情况下，您需要支付存储 10 GiB 快照数据的费用。
+ 在**状态 2** 中，该卷仍包含 10 GiB 数据，但是，4 GiB 数据已更改。快照 B 仅存储拍摄快照 A 后更改的 4 GiB 数据，它引用快照 A 中已存储的 6 GiB 未更改数据。在这种状态下，您需要支付存储 14 GiB 快照数据的费用（快照 A 的 10 GiB \$1 快照 B 的 4 GiB）。
+ 在**状态 3** 中，卷未更改，但快照 A 已被删除。由于快照 A 中未更改的 6 GiB 数据仍被快照 B 引用，因此该数据将保留并与快照 B 关联。快照 A 中的 4 GiB 唯一数据将被删除，因为它不再被其他快照引用。在这种情况下，您需要支付存储 10 GiB 快照数据的费用（快照 A 中保留的 6 GiB 数据 \$1 快照 B 中的 4 GiB 数据）。

**删除快照及其由其他快照引用的部分数据**

![\[快照 A 包含 6 GiB 引用的数据。删除快照 A 后，引用的数据将合并到快照 B 中。\]](http://docs.aws.amazon.com/zh_cn/ebs/latest/userguide/images/snapshot_1b.png)


## 删除快照
<a name="ebs-delete-snapshot"></a>

------
#### [ Console ]

**删除快照**

1. 打开位于 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) 的 Amazon EC2 控制台。

1. 在导航窗格中，选择**快照**。

1. 选择快照。

1. 选择 **Actions**（操作）、**Delete snapshot**（删除快照）。

1. 提示进行确认时，输入 **delete**，然后选择**删除**。

------
#### [ AWS CLI ]

**删除快照**  
使用 [delete-snapshot](https://docs.aws.amazon.com/cli/latest/reference/ec2/delete-snapshot.html) 命令。

```
aws ec2 delete-snapshot --snapshot-id snap-0abcdef1234567890
```

------
#### [ PowerShell ]

**删除快照**  
使用 [Remove-EC2Snapshot](https://docs.aws.amazon.com/powershell/latest/reference/items/Remove-EC2Snapshot.html) cmdlet。

```
Remove-EC2Snapshot -SnapshotId snap-0abcdef1234567890
```

------

**故障排除技巧**  
如果您收到 `Failed to delete snapshot` 错误，指示 AMI 当前正在使用该快照，则必须先[取消注册关联的 AMI](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/deregister-ami.html)，然后才能删除该快照。您无法删除与 AMI 关联的快照。  
如果您使用的是控制台且关联的 AMI 已禁用，则必须在**AMIs**屏幕上选择 “**已禁用图像**” 筛选器才能禁用查看 AMIs。

## 删除多卷快照
<a name="ebs-delete-snapshot-multi-volume"></a>

要删除多卷快照，请使用您在创建快照时应用于多卷快照集的标签检索集的所有快照。然后，分别删除这些快照。

系统不会阻止您删除多卷快照集中的各个快照。如果在 `pending state` 中删除快照，则只删除该快照。多卷快照集中的其他快照仍成功保留。

# Amazon EBS 快速快照还原
<a name="ebs-fast-snapshot-restore"></a>

Amazon EBS 快速快照还原（FSR）使您能够从创建时已完全初始化的快照创建卷。这消除了首次访问区块时对其进行 I/O 操作的延迟。使用快速快照还原创建的卷可以立即交付其所有预置性能。

要开始使用，请在特定可用区中为特定快照启用快速快照还原。每一对快照和可用区指代一个快速快照还原。当您从其中一个已启用该功能的可用区中的快照创建卷时，该卷将使用快速快照还原进行还原。

您必须为每个快照明确启用快速快照还原。例如，如果从已启用快速快照还原的快照还原卷创建新的快照，则新快照不会自动启用快速快照还原功能。如果复制已启用快速快照还原的快照，则快照副本不会自动启用快速快照还原。

您可以使用快速快照还原的全部性能优势还原的卷数是由快照的卷创建积分决定的。有关更多信息，请参阅 [Amazon EBS 快速快照还原卷创建积分](volume-creation-credits.md)。

您可以为您拥有的快照以及与您共享的公有快照和私有快照启用快速快照还原。

**Topics**
+ [注意事项](#fsr-considerations)
+ [定价和计费](#fsr-pricing)
+ [Amazon EBS 快速快照还原卷创建积分](volume-creation-credits.md)
+ [为 Amazon EBS 快照配置快速快照还原](manage-fsr-enable.md)
+ [检查 Amazon EBS 快照的快速快照还原状态](view-fsr-enabled-snapshots.md)
+ [查看使用快速快照还原还原的 Amazon EBS 卷](view-fast-restored-volumes.md)

## 注意事项
<a name="fsr-considerations"></a>
+ Local Zones 和 Wavelen AWS Outposts gth Zones 不支持快速快照恢复。
+ 可以为大小为 16 TiB 或以下的快照启用快速快照还原。
+ 配置性能高达 64,000 IOPS 和 1,000 MiB/s 吞吐量的卷可获得快速快照恢复的全部性能优势。对于配置的性能大于 64,000 IOPS 或 1,000 MiB/s 吞吐量的卷，我们建议您[初始化该卷](initalize-volume.md#ebs-initialize)以获得其全部性能。
+ 每个区域最多可启用 5 个快照以用于快速快照还原。配额适用于您拥有的快照以及与您共享的快照。如果为与您共享的快照启用快速快照还原，则它将计入快速快照还原配额。它不计入快照所有者的快速快照还原配额。
+ 当快照的快速快照还原状态发生变化时，Amazon EBS 会发出 Amazon CloudWatch 事件。有关更多信息，请参阅 [EBS 快速快照还原事件](ebs-cloud-watch-events.md#fast-snapshot-restore-events)。

## 定价和计费
<a name="fsr-pricing"></a>

对于为特定可用区中快照启用的快速快照还原，您需要按每分钟支付费用。收费按比例计算，最少 1 小时。

例如，假设您在 `US-East-1a` 中为一个快照启用了一个月（30 天）的快速快照还原，则需要支付 **540 美元**（`1` 个快照 x `1` 个可用区 x `720` 小时 x 每小时 `$0.75`）的费用。如果您在`us-east-1a`、中为两个快照启用快速快照恢复`us-east-1b`，`us-east-1c`则需要支付 **3240 美元**（`2`快照 x 小时 x 每`720`小时 `3` AZs x `$0.75` 每小时）。

如果为与您共享的公有快照或私有快照启用快速快照还原，则会对您的账户进行计费；不会对快照所有者进行计费。当快照所有者删除与您共享的快照或取消其共享时，系统会为您账户中的快照禁用快速快照还原，并停止计费。

有关更多信息，请参阅 [Amazon EBS 定价](https://aws.amazon.com/ebs/pricing/)。

# Amazon EBS 快速快照还原卷创建积分
<a name="volume-creation-credits"></a>

获得快速快照还原的全部性能优势的卷数是由快照的卷创建积分决定的。每个可用区的每个快照具有一积分存储桶。从快照中创建并启用了快速快照还原的每个卷使用积分存储桶中的一积分。存储桶中必须至少有一积分，您才能从快照创建初始化卷。如果您创建卷但存储桶中的积分少于一个，则创建卷时不能获得快速快照还原的优势。

当您为与您共享的快照启用快速快照还原时，您的账户中的共享快照会获得单独的信用存储桶。如果您从共享快照创建卷，则配额将从您的信用存储桶中消耗；这些配额不会从快照所有者的信用存储桶中消耗。

积分存储桶大小和重填速率基于快照的大小（也是源卷的大小），而不是快照数据的大小。例如，如果您从包含 150 GiB 数据的 200 GiB 卷创建快照，并为它启用快速快照还原，则积分存储桶大小和重填速率将基于 200 GiB。

当您为快照启用快速快照还原时，积分存储桶从零积分开始，并以设定的速率填满，直到达到最大积分容量。此外，在使用积分时，将随着时间的推移重填积分存储桶，直到其达到最大积分容量。

 每积分存储桶的填充率计算如下：

```
MIN (10, (1024 ÷ snapshot_size_gib))
```

积分存储桶的大小计算如下：

```
MAX (1, MIN (10, (1024 ÷ snapshot_size_gib)))
```

**例如**，如果为大小为 `128 GiB` 的快照启用快速快照还原，则填充率为每分钟 `0.1333` 积分。

```
MIN (10, (1024 ÷ 128))
 = MIN (10, 8)        
 = 8 credits per hour
 = 0.1333 credits per minute
```

积分存储桶的最大大小为 `8` 积分。

```
MAX (1, MIN (10, (1024 ÷ 128)))      
 = MAX (1, MIN (10, 8))
 = MAX (1, 8)
 = 8 credits
```

在此示例中，启用快速快照还原时，积分存储桶以零积分开始。8 分钟后，积分存储桶有足够的积分来创建一个初始化卷（`0.1333 credits × 8 minutes = 1.066 credits`）。如果积分存储桶已满，您可以同时创建 8 个初始化卷（8 积分）。当存储桶低于其最大容量时，它将每分钟重填 `0.1333` 积分。

您可以使用 CloudWatch 指标来监控您的积分桶的大小以及每个存储桶中可用的积分数量。有关更多信息，请参阅 [快速快照还原的指标](using_cloudwatch_ebs.md#fast-snapshot-restore-metrics)。

从启用了快速快照还原的存储桶创建卷之后，您可以使用 [describe-volumes](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-volumes.html) 来描述卷，并检查输出中的 `fastRestored` 字段以确定是否使用快速快照还原将该卷创建为已初始化卷。

# 为 Amazon EBS 快照配置快速快照还原
<a name="manage-fsr-enable"></a>

默认情况下，对于快照禁用快速快照还原。您可以为您拥有的快照以及与您共享的快照启用或禁用快速快照还原。为快照启用或禁用快速快照还原时，所做的更改仅适用于您的账户。

**注意**  
当您为快照启用快速快照还原时，您的账户将按特定可用区中启用快速快照还原的每分钟计费。收费按比例计算，最少 1 小时。

当您删除您拥有的快照时，系统会在账户中自动禁用该快照的快速快照还原。如果您为与您共享的快照启用了快速快照还原，并且快照所有者删除或取消共享，则会自动为您账户中的共享快照禁用快速快照还原。

如果为共享的快照启用了快速快照还原，并且使用自定义 CMK 对其进行了加密，则在快照所有者撤消对自定义 CMK 的访问权限时，快速快照还原不会自动为快照禁用。您必须手动为该快照禁用快速快照还原。

为快照启用快速快照还原后，快照将进入 `optimizing` 状态。处于 `optimizing` 状态的快照在使用快照恢复卷时可以提供一些性能优势。只有在进入 `enabled` 状态后，它们才开始发挥快速快照还原的全部性能优势。

------
#### [ Console ]

**配置快速快照还原**

1. 打开位于 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) 的 Amazon EC2 控制台。

1. 在导航窗格中，选择**快照**。

1. 选择快照，然后选择 **Actions**（操作）、**Manage fast snapshot restore**（管理快速快照还原）。

1. **快速快照还原设置**部分会列出所有可用区，您可以在其中为所选快照启用快速快照还原功能。**Current status**（当前状态）卷说明每个区域当前是启用还是禁用快速快照还原。

   要在当前禁用快照的区域中启用快速快照还原，选择该区域，然后选择 **Enable**（启用），并选择 **Enable**（启用）以确认。

   要在当前启用快照还原的区域中禁用快速快照还原，请选择该区域，然后选择 **Disable**（禁用）。

1. 进行必要的更改后，选择 **Close**（关闭）。

------
#### [ AWS CLI ]

**启用快速快照还原**  
使用 [enable-fast-snapshot-restores](https://docs.aws.amazon.com/cli/latest/reference/ec2/enable-fast-snapshot-restores.html) 命令。

```
aws ec2 enable-fast-snapshot-restores \
    --availability-zones us-east-1a us-east-1b \
    --source-snapshot-ids snap-0abcdef1234567890
```

**禁用快速快照还原**  
使用 [disable-fast-snapshot-restores](https://docs.aws.amazon.com/cli/latest/reference/ec2/disable-fast-snapshot-restores.html) 命令。

```
aws ec2 disable-fast-snapshot-restores \
    --availability-zones us-east-1a \
    --source-snapshot-ids snap-0abcdef1234567890
```

以下示例使用[describe-fast-snapshot-restores](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-fast-snapshot-restores.html)命令来描述您禁用的快速快照恢复。

```
aws ec2 describe-fast-snapshot-restores \
    --filters Name=state,Values=disabled
```

------
#### [ PowerShell ]

**启用快速快照还原**  
使用 [Enable-EC2FastSnapshotRestore](https://docs.aws.amazon.com/powershell/latest/reference/items/Enable-EC2FastSnapshotRestore.html) cmdlet。

```
Enable-EC2FastSnapshotRestore `
    -AvailabilityZone us-east-1a us-east-1b `
    -SourceSnapshotId snap-0abcdef1234567890
```

**禁用快速快照还原**  
使用 [Disable-EC2FastSnapshotRestore](https://docs.aws.amazon.com/powershell/latest/reference/items/Disable-EC2FastSnapshotRestore.html) cmdlet。

```
Disable-EC2FastSnapshotRestore `
    -AvailabilityZone us-east-1a `
    -SourceSnapshotId snap-0abcdef1234567890
```

以下示例使用 [Get-EC2FastSnapshotRestore](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2FastSnapshotRestore.html)cmdlet 来描述您禁用的快速快照恢复。

```
Get-EC2FastSnapshotRestore `
    -Filter @{Name="state"; Values="disabled"}
```

------

# 检查 Amazon EBS 快照的快速快照还原状态
<a name="view-fsr-enabled-snapshots"></a>

快照的快速快照还原可能处于以下状态之一。
+ `enabling` – 发出了启用快速快照还原的请求。
+ `optimizing` – 正在启用快速快照还原。对于快照优化，每个 TiB 需要 60 分钟的时间。处于此状态的快照在还原卷时提供了一些性能优势。
+ `enabled` – 启用了快速快照还原。处于此状态且具有足够卷创建积分的快照在还原卷时可发挥全部性能优势。
+ `disabling` – 发出了禁用快速快照还原的请求，或者启用快速快照还原的请求失败。
+ `disabled` – 禁用了快速快照还原。您可以根据需要再次启用快速快照还原。

您可以查看您拥有的快照或与您共享的快照的快速快照还原状态。

------
#### [ Console ]

**查看快速快照还原的状态**

1. 打开位于 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) 的 Amazon EC2 控制台。

1. 在导航窗格中，选择**快照**。

1. 选择快照。

1. 在 **Details**（详细信息）选项卡上，查看 **Fast Snapshot Restore**（快速快照还原），该选项卡表示快速快照还原的状态。

------
#### [ AWS CLI ]

**查看已启用快速快照还原的快照**  
使用 [describe-fast-snapshot-restores](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-fast-snapshot-restores.html) 命令。

```
aws ec2 describe-fast-snapshot-restores --filters Name=state,Values=enabled
```

下面是示例输出。

```
{
    "FastSnapshotRestores": [
        {
            "SnapshotId": "snap-0e946653493cb0447",
            "AvailabilityZone": "us-east-2a",
            "State": "enabled",
            "StateTransitionReason": "Client.UserInitiated - Lifecycle state transition",
            "OwnerId": "123456789012",
            "EnablingTime": "2020-01-25T23:57:49.596Z",
            "OptimizingTime": "2020-01-25T23:58:25.573Z",
            "EnabledTime": "2020-01-25T23:59:29.852Z"
        },
        {
            "SnapshotId": "snap-0e946653493cb0447",
            "AvailabilityZone": "us-east-2b",
            "State": "enabled",
            "StateTransitionReason": "Client.UserInitiated - Lifecycle state transition",
            "OwnerId": "123456789012",
            "EnablingTime": "2020-01-25T23:57:49.596Z",
            "OptimizingTime": "2020-01-25T23:58:25.573Z",
            "EnabledTime": "2020-01-25T23:59:29.852Z"
        }
    ]
}
```

------
#### [ PowerShell ]

**查看已启用快速快照还原的快照**  
使用 [Get-EC2FastSnapshotRestore](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2FastSnapshotRestore.html) cmdlet。

```
Get-EC2FastSnapshotRestore `
    -Filter @{Name="state"; Values="enabled"}
```

------

# 查看使用快速快照还原还原的 Amazon EBS 卷
<a name="view-fast-restored-volumes"></a>

当您在可用区中，从已启用快速快照还原的快照创建卷时，将使用快速快照还原进行还原。

------
#### [ AWS CLI ]

**查看从已启用快速快照还原的快照创建的卷**  
使用 [describe-volumes](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-volumes.html) 命令。

```
aws ec2 describe-volumes --filters Name=fast-restored,Values=true
```

下面是示例输出。

```
{
    "Volumes": [
        {
            "Attachments": [],
            "AvailabilityZone": "us-east-2a",
            "CreateTime": "2020-01-26T00:34:11.093Z",
            "Encrypted": true,
            "KmsKeyId": "arn:aws:kms:us-west-2:123456789012:key/8c5b2c63-b9bc-45a3-a87a-5513e232e843",
            "Size": 20,
            "SnapshotId": "snap-0abcdef1234567890",
            "State": "available",
            "VolumeId": "vol-01234567890abcdef",
            "Iops": 100,
            "VolumeType": "gp2",
            "FastRestored": true
        }
    ]
}
```

------
#### [ PowerShell ]

**查看从已启用快速快照还原的快照创建的卷**  
使用 [Get-EC2Volume](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Volume.html) cmdlet。

```
Get-EC2Volume -Filter @{Name="fast-restored"; Values="true"}
```

------

# Amazon EBS 快照锁
<a name="ebs-snapshot-lock"></a>

您可以锁定 Amazon EBS 快照以防止意外或恶意删除，或者以 WORM (write-once-read-many) 格式将其存储在特定时间内。当一个快照处于锁定状态时，任何用户都无法将其删除，无论他们的 IAM 权限如何。您可以像使用任何其他快照一样继续使用锁定的快照。

**注意**  
快照锁定已由 Cohasset Associates 评估，可在受 SEC 17a-4、CFTC 和 FINRA 法规约束的环境中使用。有关快照锁定如何与这些法规相关的更多信息，请参阅 [Cohasset Associates Compliance Assessment](https://d1.awsstatic.com/Amazon-EBS-Cohasset-Assessment-2023-11-14-final.pdf)。

可以使用以下两种模式之一锁定快照：*合规模式*或*监管模式*，而且可以将快照锁定特定的一段时间或者锁定到某个特定日期。有关更多信息，请参阅[锁定模式](snapshot-lock-concepts.md#lock-mode)和[锁定持续时间](snapshot-lock-concepts.md#lock-duration)。

**定价**  
您可以锁定和解锁快照，无需支付额外的费用。您需要为锁定的快照支付标准 Amazon EBS 快照存储费用。

**Topics**
+ [概念](snapshot-lock-concepts.md)
+ [注意事项](snapshot-lock-considerations.md)
+ [控制 访问](snapshot-lock-iam.md)
+ [锁定快照](lock-snapshot.md)
+ [解锁快照](unlock-snapshot.md)
+ [更新快照锁定设置](update-snapshot-lock.md)
+ [监控快照锁定](monitor-snapshot-lock.md)

# Amazon EBS 快照锁定的概念
<a name="snapshot-lock-concepts"></a>

以下是开始使用快照锁定时需要理解的重要概念。

**Contents**
+ [锁定模式](#lock-mode)
+ [锁定持续时间](#lock-duration)
+ [冷静期](#cool-off)
+ [锁定状态](#lock-state)

## 锁定模式
<a name="lock-mode"></a>

可以在以下两种模式之一中锁定快照：

**监管模式**  
锁定快照之后，拥有适当 IAM 权限的用户可以随时解锁快照，还可以修改锁定模式以及锁定持续时间或到期日期。当在监管模式下锁定快照时，快照会立即被锁定；没有冷静期。要在监管模式下锁定快照之后将其删除，必须首先解锁快照，或者必须等待锁定过期。

通过确保只有某些用户有权解锁快照和修改快照锁定配置，您可以使用监管模式满足组织的数据监管要求。在合规模式下锁定快照之前，还可以利用监管模式测试锁定配置。

**合规性模式**  
在合规模式下锁定快照时，可以选择指定在锁定快照之后立即开始的冷静期。在冷静期内，拥有适当权限的用户可以解锁快照、更改锁定模式、延长或缩短冷静期以及延长或缩短锁定持续时间或到期日期。在冷静期过期之后，您将无法解锁快照、更改锁定模式或者缩短锁定持续时间或过期日期；您只能延长锁定持续时间或过期日期。要在合规模式下锁定快照且冷静期过期之后将其删除，必须等待锁定过期。

**注意**  
通过在请求中省略冷静期，可以在合规模式下锁定快照而不设冷静期。如果这样做，锁定将立即生效，而且无法解锁快照、更改锁定模式或者缩短锁定持续时间或过期日期；您只能延长锁定持续时间或过期日期。

可以利用合规模式保护出于合规性原因不应在特定的时期内删除的快照。合规模式具有以下优点：
+ 它支持对快照使用 WORM（一次写入多次读取）配置。
+ 它提供了一层额外的防御，可保护快照免遭意外删除或恶意删除。
+ 它实施了保留期，可防止特权用户提前删除，以满足贵组织的数据保护策略和程序。

**注意**  
要删除在锁定到期前锁定在合规模式下的快照，唯一的方法是关闭关联的 AWS 账户。

## 锁定持续时间
<a name="lock-duration"></a>

锁定持续时间是指快照要保持锁定状态的时期。可以将锁定持续时间指定为以下选项之一，但不能同时指定这两者：

**天数**  
将锁定持续时间指定为快照要保持锁定状态的天数。当指定的天数过后，会自动解锁快照。持续时间介于 1 天到 36500 天（100 年）不等。

**锁定到期日期**  
锁定持续时间由未来的过期日期决定。快照将保持锁定状态，直到达到锁定过期日期为止。当达到锁定过期日期时，会自动解锁快照。

## 冷静期
<a name="cool-off"></a>

冷静期是一个可选的时期，可以在合规模式下锁定快照时指定此时期。在冷静期内，拥有适当权限的用户可以解锁快照、更改锁定模式、延长或缩短冷静期以及延长或缩短锁定持续时间。当冷静期过期之后，无论用户拥有何种权限，都无法解锁快照、更改锁定模式、恢复冷静期或缩短锁定持续时间。

在冷静期内，无法删除快照。

如果指定了冷静期，则冷静期将在您锁定快照之后立即开始。如果省略了冷静期，则会立即在合规模式下锁定快照而不设冷静期。

冷静期介于 1 到 72 小时不等。要在合规模式下立即锁定快照而不设冷静期，请勿在请求中指定冷静期。

## 锁定状态
<a name="lock-state"></a>

快照锁定可处于以下几种状态之一：
+ `compliance-cooloff` – 已在合规模式下锁定快照，但它仍处于冷静期内。无法删除快照，但可以将它解锁，而且拥有适当权限的用户可以修改锁定设置。
+ `governance` – 已在监管模式下锁定快照。无法删除快照，但可以将它解锁，而且拥有适当权限的用户可以修改锁定设置。
+ `compliance` – 已在合规模式下锁定快照，且未设冷静期或者冷静期已过期。无法解锁或删除快照。只有拥有适当权限的用户才能延长锁定时间。
+ `expired` – 已在合规或监管模式下锁定快照，但锁定已过期。未锁定快照，可以将其删除。

# Amazon EBS 快照锁定的注意事项
<a name="snapshot-lock-considerations"></a>

锁定 Amazon EBS 快照时请记住以下事项。
+ 只有当快照处于 `pending` 或 `completed` 状态时，才能将其锁定。
  + 如果在快照处于 `pending` 状态时将其锁定，并且将其锁定特定的持续时间，将只在快照达到 `completed` 状态时开始计算锁定持续时间。当快照处于 `pending` 状态时无法将其删除。
  + 如果在快照处于 `pending` 状态时将其锁定，但由于任何原因导致创建快照失败，锁定将被取消。
+ 如果在冷静期过期之后延长了在合规模式下锁定的快照的锁定持续时间，将无法指定另一个冷静期。如果指定了冷静期，请求将失败。
+ 您可以锁定已归档的快照。您可以存档已锁定的快照。
+ 您可以锁定与 AMI 相关联的快照。
+ 您可以取消注册具有已锁定的关联快照的 AMI。
+ 您可以删除用来加密已锁定的快照的 KMS 密钥。
+ 我们建议您不要锁定由创建的快照 AWS Backup。 AWS Backup 已经确保其快照在保留期到期之前不会被删除。要为由管理的快照添加额外的安全层 AWS Backup，我们建议您使用 AWS Backup 文件库锁定。有关更多信息，请参阅 [AWS Backup Vault Lock](https://docs.aws.amazon.com/aws-backup/latest/devguide/vault-lock.html)。
+ 在创建快照期间或 AMI 注册期间，无法锁定快照。
+ 您无法在 AWS Outposts上锁定本地 Amazon EBS 快照。
+ 要删除在锁定到期前锁定在合规模式下的快照，唯一的方法是关闭关联的 AWS 账户。

  如果您在锁定快照时关闭 AWS 帐户，则会在快照完好无损的情况下 AWS 暂停您的帐户 90 天。如果您未在 90 天内重新打开账户，即使快照已被锁定，也会 AWS 将其删除。

# 控制对 Amazon EBS 快照锁定的访问
<a name="snapshot-lock-iam"></a>

默认情况下，用户无权使用快照锁定。要允许用户使用快照锁定，您必须创建 IAM policy，以授予使用特定资源和 API 操作的权限。有关更多信息，请参阅《IAM 用户指南》中的[创建 IAM policy](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html)。

**Topics**
+ [所需的权限](#snapshot-lock-req-perms)
+ [使用条件键限制访问](#snapshot-lock-condition-keys)

## 所需的权限
<a name="snapshot-lock-req-perms"></a>

要使用快照锁定，用户需要以下权限。
+ `ec2:LockSnapshot` – 锁定快照。
+ `ec2:UnlockSnapshot` – 解锁快照。
+ `ec2:DescribeLockedSnapshots` – 查看快照锁定设置。

以下是一个示例 IAM policy，它授权用户锁定和解锁快照以及查看快照锁定设置。其包括控制台用户的 `ec2:DescribeSnapshots` 权限。如果不需要某些上述权限，您可以从策略中将其删除。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AllowSnapshotLockOperations",
      "Effect": "Allow",
      "Action": [
        "ec2:LockSnapshot",
        "ec2:UnlockSnapshot",
        "ec2:DescribeLockedSnapshots",
        "ec2:DescribeSnapshots"
      ],
      "Resource": [
        "arn:aws:ec2:*::snapshot/*",
        "arn:aws:ec2:*:111122223333:volume/*"
      ]
    }
  ]
}
```

------

要提供访问权限，请为您的用户、组或角色添加权限：
+ 中的用户和群组 AWS IAM Identity Center：

  创建权限集合。按照《AWS IAM Identity Center 用户指南》**中[创建权限集](https://docs.aws.amazon.com//singlesignon/latest/userguide/howtocreatepermissionset.html)的说明进行操作。
+ 通过身份提供者在 IAM 中托管的用户：

  创建适用于身份联合验证的角色。按照《IAM 用户指南》**中[针对第三方身份提供者创建角色（联合身份验证）](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-idp.html)的说明进行操作。
+ IAM 用户：
  + 创建您的用户可以担任的角色。按照《IAM 用户指南》**中[为 IAM 用户创建角色](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-user.html)的说明进行操作。
  + （不推荐使用）将策略直接附加到用户或将用户添加到用户组。按照《IAM 用户指南》**中[向用户添加权限（控制台）](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console)中的说明进行操作。

## 使用条件键限制访问
<a name="snapshot-lock-condition-keys"></a>

可以使用条件键限制如何允许用户锁定快照。

**Topics**
+ [ec2: SnapshotLockDuration](#snapshotlockduration)
+ [ec2: CoolOffPeriod](#cooloffperiod)

### ec2: SnapshotLockDuration
<a name="snapshotlockduration"></a>

当锁定快照时，可以使用 `ec2:SnapshotLockDuration` 条件键将用户限制在特定的锁定持续时间内。

如下示例策略将禁止用户指定一个介于 `10` 到 `50` 天之间的锁定持续时间。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AllowSnapshotLockWithDurationCondition",
      "Effect": "Allow",
      "Action": "ec2:LockSnapshot",
      "Resource": "arn:aws:ec2:*::snapshot/*",
      "Condition": {
        "NumericGreaterThan": {
          "ec2:SnapshotLockDuration": 10
        },
        "NumericLessThan": {
          "ec2:SnapshotLockDuration": 50
        }
      }
    }
  ]
}
```

------

### ec2: CoolOffPeriod
<a name="cooloffperiod"></a>

可以使用 `ec2:CoolOffPeriod` 条件键防止用户在未设冷静期的情况下在合规模式下锁定快照。

如下示例策略将禁止用户在合规模式下锁定快照时指定超过 `48` 小时的冷静期。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AllowSnapshotLockWithCondition",
      "Effect": "Allow",
      "Action": "ec2:LockSnapshot",
      "Resource": "arn:aws:ec2:*::snapshot/*",
      "Condition": {
        "NumericGreaterThan": {
          "ec2:SnapshotTime": 48
        }
      }
    }
  ]
}
```

------

# 锁定 Amazon EBS 快照
<a name="lock-snapshot"></a>

您可以锁定处于 `pending` 或 `completed` 状态的快照。有关更多信息，请参阅 [Amazon EBS 快照锁定的注意事项](snapshot-lock-considerations.md)。

------
#### [ Console ]

**要锁定一个快照**

1. 打开位于 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) 的 Amazon EC2 控制台。

1. 在导航窗格中，选择**快照**。

1. 选择要锁定的快照，然后选择**操作**、**快照设置**、**管理快照锁定**。

1. 选择**锁定快照**。

1. 对于**锁定模式**，选择**监管模式**或**合规模式**。有关更多信息，请参阅 [锁定模式](snapshot-lock-concepts.md#lock-mode)。

1. 对于**锁定持续时间**，执行以下操作之一：
   + 要将快照锁定一个特定的时期，请选择**锁定快照**，然后以天或年为单位输入此时期。
   + 要将快照锁定到特定的日期和时间，请选择**锁定快照直到**，然后选择过期日期和时间。

   有关更多信息，请参阅 [锁定持续时间](snapshot-lock-concepts.md#lock-duration)。

1. （*仅限合规模式*）对于**冷静期**，请指定一个冷静期，在此期间内可以解锁快照和修改锁定配置。有关更多信息，请参阅 [冷静期](snapshot-lock-concepts.md#cool-off)。

1. （*仅限合规模式*）要确认您希望在合规模式下锁定快照，而且在冷静期过期后将无法解锁快照，请选择**确认**。

1. 选择**保存锁定设置**。

------
#### [ AWS CLI ]

**要在监管模式下锁定快照**  
使用 [lock-snapshot](https://docs.aws.amazon.com/cli/latest/reference/ec2/lock-snapshot.html) 命令。对于 `--lock-mode`，请指定 `governance`。要将快照锁定特定时间段，对于 `--lock-duration`，请指定时间段（以天为单位）。

```
aws ec2 lock-snapshot \
    --snapshot-id snap-0abcdef1234567890 \
    --lock-mode governance \
    --lock-duration 30
```

要将快照锁定到特定日期，对于 `--expiration-date`，请指定锁定必须到期的日期和时间（UTC 时区）。

```
aws ec2 lock-snapshot \ 
    --snapshot-id snap-0abcdef1234567890 \
    --lock-mode governance \
    --expiration-date YYYY-MM-DDThh:mm:ss.sssZ
```

**要在合规模式下锁定快照**  
使用 [lock-snapshot](https://docs.aws.amazon.com/cli/latest/reference/ec2/lock-snapshot.html) 命令。对于 `--lock-mode`，请指定 `compliance`。对于 `--cool-off-period`，可以选择以小时为单位指定一个冷静期。要将快照锁定特定时间段，对于 `--lock-duration`，请指定要锁定快照的天数。

```
aws ec2 lock-snapshot \
    --snapshot-id snap-0abcdef1234567890 \
    --lock-mode compliance \
    --cool-off-period 24 \
    --lock-duration 30
```

要将快照锁定到特定日期，对于 `--expiration-date`，请指定锁定必须到期的日期和时间（UTC 时区）。

```
aws ec2 lock-snapshot \
    --snapshot-id snap-0abcdef1234567890 \
    --lock-mode compliance \
    --expiration-date YYYY-MM-DDThh:mm:ss.sssZ
```

------
#### [ PowerShell ]

**要在监管模式下锁定快照**  
使用 [Lock-EC2Snapshot](https://docs.aws.amazon.com/powershell/latest/reference/items/Lock-EC2Snapshot.html) cmdlet。您可以选择指定快照锁定的持续时间（以天为单位）。

```
Lock-EC2Snapshot `
    -SnapshotId snap-0abcdef1234567890 `
    -LockMode "governance" `
    -LockDuration 30
```

或者，您可以将快照锁定到特定日期（UTC 时区）。

```
Lock-EC2Snapshot `
    -SnapshotId snap-0abcdef1234567890 `
    -LockMode "governance" `
    -ExpirationDate YYYY-MM-DDThh:mm:ss.sssZ
```

**要在合规模式下锁定快照**  
使用 [Lock-EC2Snapshot](https://docs.aws.amazon.com/powershell/latest/reference/items/Lock-EC2Snapshot.html) cmdlet。您可以选择以小时为单位指定一个冷静期。您还可以选择指定快照锁定的持续时间（以天为单位）。

```
Lock-EC2Snapshot `
    -SnapshotId snap-0abcdef1234567890 `
    -LockMode "compliance" `
    -CoolOffPeriod 24 `
    -LockDuration 30
```

或者，您可以将快照锁定到特定日期（UTC 时区）。

```
Lock-EC2Snapshot `
    -SnapshotId snap-0abcdef1234567890 `
    -LockMode "compliance" `
    -ExpirationDate YYYY-MM-DDThh:mm:ss.sssZ
```

------

# 解锁 Amazon EBS 快照
<a name="unlock-snapshot"></a>

只有当在监管模式下锁定了快照，或者在合规模式下锁定了快照且快照仍处于冷静期内时，才能解锁快照。

------
#### [ Console ]

**解锁快照**

1. 打开位于 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) 的 Amazon EC2 控制台。

1. 在导航窗格中，选择**快照**。

1. 选择要解锁的快照，然后选择**操作**、**快照设置**、**管理快照锁定**。

1. 选择**解锁快照**，然后再次选择**解锁快照**进行确认。

------
#### [ AWS CLI ]

**要解锁快照**  
使用 [unlock-snapshot](https://docs.aws.amazon.com/cli/latest/reference/ec2/unlock-snapshot.html) 命令。

```
aws ec2 unlock-snapshot --snapshot-id snap-0abcdef1234567890
```

------
#### [ PowerShell ]

**解锁快照**  
使用 [Unlock-EC2Snapshot](https://docs.aws.amazon.com/powershell/latest/reference/items/Unlock-EC2Snapshot.html) cmdlet。

```
Unlock-EC2Snapshot -SnapshotId snap-0abcdef1234567890
```

------

# 更新 Amazon EBS 快照锁定设置
<a name="update-snapshot-lock"></a>

允许的更新取决于锁定状态：
+ `governance` – 您可以更改锁定模式以及延长或缩短锁定持续时间或过期日期。
+ `compliance-cooloff` – 您可以更改锁定模式、延长或缩短冷静期以及延长或缩短锁定持续时间或过期日期。
+ `compliance` – 您只能延长锁定持续时间或过期日期。

------
#### [ Console ]

**要更新快照锁定设置**

1. 打开位于 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) 的 Amazon EC2 控制台。

1. 在导航窗格中，选择**快照**。

1. 选择要为其修改锁定设置的快照，然后选择**操作**、**快照设置**、**管理快照锁定**。

1. 根据需要更新设置，然后选择**保存锁定设置**。

------
#### [ AWS CLI ]

**要更新快照锁定设置**  
使用 [lock-snapshot](https://docs.aws.amazon.com/cli/latest/reference/ec2/lock-snapshot.html) 命令。指定快照 ID 和要修改的选项。以下示例更改了到期日期。

```
aws ec2 lock-snapshot \
    --snapshot-id snap-0abcdef1234567890 \
    --lock-mode governance \
    --expiration-date YYYY-MM-DDThh:mm:ss.sssZ
```

------
#### [ PowerShell ]

**要更新快照锁定设置**  
使用 [Lock-EC2Snapshot](https://docs.aws.amazon.com/powershell/latest/reference/items/Lock-EC2Snapshot.html) cmdlet。指定快照 ID 和要修改的选项。以下示例更改了到期日期。

```
Lock-EC2Snapshot `
    -SnapshoId snap-0abcdef1234567890 `
    -LockMode "governance" `
    -ExpirationDate YYYY-MM-DDThh:mm:ss.sssZ
```

------

# 监控 Amazon EBS 快照锁定
<a name="monitor-snapshot-lock"></a>

您可以使用以下工具监控与 Amazon EBS 快照锁定相关的操作：

**Topics**
+ [监视器使用 CloudTrail](#snapshot-lock-ct)
+ [监视器使用 EventBridge](#snapshot-lock-ev)

## 使用监控亚马逊 EBS 快照锁定 AWS CloudTrail
<a name="snapshot-lock-ct"></a>

您可以将快照锁定的 API 调用作为事件进行监控，包括来自控制台的调用和对的代码调用 APIs。使用收集到的信息 CloudTrail，您可以确定发出的请求、发出请求的 IP 地址、谁发出了请求、何时发出请求以及其他详细信息。

有关更多信息，请参阅[使用 AWS CloudTrail记录 API 调用](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitor-with-cloudtrail.html)。

## 使用亚马逊监控亚马逊 EBS 快照锁定 EventBridge
<a name="snapshot-lock-ev"></a>

Amazon EBS 发出与快照锁定操作相关的事件。您可以使用 AWS Lambda 和 Amazon EventBridge 以编程方式处理事件通知。尽最大努力发出事件。有关更多信息，请参阅 [Amazon EventBridge 用户指南](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-what-is.html)。

系统将发出以下事件：
+ 成功在监管或合规模式下锁定快照。

  ```
  {
    "version": "0", 
    "id": "01234567-01234-0123-0123-012345678901", 
    "detail-type": "EBS Snapshot Notification", 
    "source": "aws.ec2", 
    "account": "012345678901", 
    "time": "yyyy-mm-ddThh:mm:ssZ", 
    "region": "us-east-1", 
    "resources": [
      "arn:aws:ec2::us-west-2:snapshot/snap-01234567890abcdef" 
    ], 
    "detail": {
      "event": "lockSnapshot", 
      "result": "succeeded", 
      "snapshot_id": "arn:aws:ec2::us-west-2:snapshot/snap-01234567890abcdef", 
      "source": 012345678901, 
      "lockState": "compliance-cooloff", 
      "lockCreatedOn": "yyyy-mm-ddThh:mm:ssZ", 
      "lockExpiresOn": "yyyy-mm-ddThh:mm:ssZ",
      "lockDuration": 123, 
      "lockStartDurationTime": "yyyy-mm-ddThh:mm:ssZ", 
      "cooOffPeriod": 24, 
      "coolOffPeriodExpiresOn": "yyyy-mm-ddThh:mm:ssZ"
    } 
  }
  ```
+ 当快照处于 `pending` 状态且被锁定时，锁定事件失败，而且快照无法达到 `completed` 状态。

  ```
  {
    "version": "0", 
    "id": "01234567-01234-0123-0123-012345678901", 
    "detail-type": "EBS Snapshot Notification", 
    "source": "aws.ec2", 
    "account": "012345678901", 
    "time": "yyyy-mm-ddThh:mm:ssZ", 
    "region": "us-east-1", 
    "resources": [
      "arn:aws:ec2::us-west-2:snapshot/snap-01234567890abcdef"
    ], 
    "detail": {
      "event": "lockSnapshot", 
      "result": "failed", 
      "cause": "snapshot failed", 
      "snapshot_id": "arn:aws:ec2::us-west-2:snapshot/snap-01234567890abcdef", 
      "lockState": "pending-compliance", 
      "lockCreatedOn": "yyyy-mm-ddThh:mm:ssZ",
      "lockDuration": 123, 
      "lockStartDurationTime": "yyyy-mm-ddThh:mm:ssZ", 
      "cooOffPeriod": 24, 
      "coolOffPeriodExpiresOn": "yyyy-mm-ddThh:mm:ssZ" 
    }
  }
  ```
+ 锁定已过期

  ```
  {
    "version": "0", 
    "id": "01234567-01234-0123-0123-012345678901", 
    "detail-type": "EBS Snapshot Notification", 
    "source": "aws.ec2", 
    "account": "012345678901", 
    "time": "yyyy-mm-ddThh:mm:ssZ", 
    "region": "us-east-1", 
    "resources": [
      "arn:aws:ec2::us-west-2:snapshot/snap-01234567890abcdef"
    ], 
    "detail": {
      "event": "lockDurationExpiry", 
      "result": "succeeded", 
      "snapshot_id": "arn:aws:ec2::us-west-2:snapshot/snap-01234567890abcdef", 
      "lockState": "expired", 
      "lockCreatedOn": "yyyy-mm-ddThh:mm:ssZ", 
      "lockExpiresOn": "yyyy-mm-ddThh:mm:ssZ", 
      "lockDuration": 123
    }
  }
  ```
+ 在合规模式下锁定之后，冷静期已过期。

  ```
  {
    "version": "0", 
    "id": "01234567-01234-0123-0123-012345678901", 
    "detail-type": "EBS Snapshot Notification", 
    "source": "aws.ec2", 
    "account": "012345678901", 
    "time": "yyyy-mm-ddThh:mm:ssZ", 
    "region": "us-east-1", 
    "resources": [ 
      "arn:aws:ec2::us-west-2:snapshot/snap-01234567890abcdef" 
    ], 
    "detail": {
      "event": "cooloffperiodExpiry", 
      "result": "succeeded", 
      "snapshot_id": "arn:aws:ec2::us-west-2:snapshot/snap-01234567890abcdef", 
      "lockState": "compliance", 
      "lockCreatedOn": "yyyy-mm-ddThh:mm:ssZ", 
      "lockExpiresOn": "yyyy-mm-ddThh:mm:ssZ",
      "lockDuration": 123, 
      "lockStartDurationTime": "yyyy-mm-ddThh:mm:ssZ", 
      "cooOffPeriod": 24, 
      "coolOffPeriodExpiresOn": "yyyy-mm-ddThh:mm:ssZ"
    }
  }
  ```

# 阻止 Amazon EBS 快照的公开访问
<a name="block-public-access-snapshots"></a>

要防止公开共享您的快照，您可以启用*阻止公开访问快照*。在为一个区域阻止公开访问快照之后，将自动阻止任何尝试在此区域公开共享快照的行为。这样可以帮助您提高快照的安全性，并保护您的快照数据免遭未经授权的访问或意外访问。

可以在两种模式之一中阻止公开访问快照：
+ **阻止所有共享** – 阻止所有公开共享快照的行为。此账户中的用户无法请求新的公开共享。此外，已公开共享的快照将被视为私有快照，且不可公开访问。
+ **阻止新共享** – 仅阻止对快照进行公开共享的新行为。此账户中的用户无法请求新的公开共享。不过，已经公开共享的快照仍可公开访问。

**注意事项**

在使用阻止快照公开访问功能时，请记住以下事项。
+ 阻止公开访问快照并不会阻止共享私有快照。
+ 如果在*阻止所有共享*模式下启用阻止快照公开访问，则不会更改对已公开共享的快照的权限。实际上，它会阻止这些快照公开可见和可公开访问。因此，这些快照的属性仍然表明它们是公开共享的，尽管它们不可公开访问。

  如果您稍后禁用阻止公开访问或更改模式以*阻止新共享*，则这些快照将再次公开可用。
+ 阻止公开访问快照是一个区域性设置。它适用于启用了此功能的区域中的所有快照。您需要在希望阻止公开共享快照的每个区域中启用阻止公开访问快照。
+ 阻止公开访问是一个账户级别的设置。它适用于账户中的所有用户，包括管理员用户。您无法在组织级别启用阻止公开访问快照。
+ 阻止公开访问设置可以直接在账户中配置，也可以使用声明性策略进行配置。使用声明式策略可同时将设置应用于多个区域，也可以同时应用于多个账户。当使用声明式策略时，您无法直接在账户中修改设置。本主题介绍如何直接在账户中配置设置。有关使用声明式策略的信息，请参阅《AWS Organizations User Guide》**中的 [Declarative policies](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_declarative.html)。
+ 阻止对快照的公开访问不会阻止公开共享 EBS AMIs 支持的内容。如果您启用了对快照的封锁公共访问，用户仍然可以公开共享 EBS 支持的内容 AMIs。如果公开共享由 EBS 支持的 AMI，有权访问此 AMI 的用户可以从与它关联的快照创建卷。要防止公开共享您的 AMIs，请启用 “*[阻止公共访问” AMIs](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/sharingamis-intro.html#block-public-access-to-amis)*。
+ 开启本地快照后，不支持对快照进行公开访问 AWS Outposts。

**定价**  
可以阻止公开访问快照，无需支付额外的费用。

**Contents**
+ [IAM 权限](block-public-access-snapshots-perms.md)
+ [配置阻止公有访问](block-public-access-snapshots-enable.md)
+ [查看阻止公开访问设置](block-public-access-snapshots-view.md)
+ [禁用屏蔽公共访问权限](block-public-access-snapshots-disable.md)
+ [监控阻止公开访问](block-public-access-snapshots-events.md)

# 用于阻止 Amazon EBS 快照公开访问的 IAM 权限
<a name="block-public-access-snapshots-perms"></a>

默认情况下，用户无权阻止公开访问快照。要允许用户使用“阻止公开访问快照”，您必须创建 IAM policy，以授权使用特定 API 操作。创建策略后，必须向您的用户、组或角色添加权限。

要阻止公开访问快照，用户需要拥有以下权限。
+ `ec2:EnableSnapshotBlockPublicAccess` – 启用阻止公开访问快照以及修改此模式。
+ `ec2:DisableSnapshotBlockPublicAccess` – 禁用阻止公开访问快照。
+ `ec2:GetSnapshotBlockPublicAccessState` – 查看一个区域的阻止公开访问快照设置。

以下是 IAM policy 示例。如果不需要某些上述权限，您可以从策略中将其删除。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [{
        "Effect": "Allow",
        "Action": [
            "ec2:EnableSnapshotBlockPublicAccess",
            "ec2:DisableSnapshotBlockPublicAccess",
            "ec2:GetSnapshotBlockPublicAccessState"
        ],
        "Resource": "*"
    }]
}
```

------

要提供访问权限，请为您的用户、组或角色添加权限：
+ 中的用户和群组 AWS IAM Identity Center：

  创建权限集合。按照《AWS IAM Identity Center 用户指南》**中[创建权限集](https://docs.aws.amazon.com//singlesignon/latest/userguide/howtocreatepermissionset.html)的说明进行操作。
+ 通过身份提供者在 IAM 中托管的用户：

  创建适用于身份联合验证的角色。按照《IAM 用户指南》**中[针对第三方身份提供者创建角色（联合身份验证）](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-idp.html)的说明进行操作。
+ IAM 用户：
  + 创建您的用户可以担任的角色。按照《IAM 用户指南》**中[为 IAM 用户创建角色](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-user.html)的说明进行操作。
  + （不推荐使用）将策略直接附加到用户或将用户添加到用户组。按照《IAM 用户指南》**中[向用户添加权限（控制台）](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console)中的说明进行操作。

# 配置阻止 Amazon EBS 快照的公开访问
<a name="block-public-access-snapshots-enable"></a>

启用阻止公开访问快照，以防止在此区域中公开共享快照。启用此功能之后，将阻止在此区域中公开共享快照的请求。

**重要**  
如果在*阻止所有共享*模式下启用阻止快照公开访问，则不会更改对已公开共享的快照的权限。实际上，它会阻止这些快照公开可见和可公开访问。因此，这些快照的属性仍然表明它们是公开共享的，尽管它们不可公开访问。  
如果您稍后禁用阻止公开访问或更改模式以*阻止新共享*，则这些快照将再次公开可用。

**注意**  
此设置是在账户级别配置，可以直接在账户中配置，也可以使用声明式策略进行配置。必须在每个要防止公开共享快照 AWS 区域 的地方进行配置。使用声明式策略可同时将设置应用于多个区域，也可以同时应用于多个账户。当使用声明式策略时，您无法直接在账户中修改设置。本主题介绍如何直接在账户中配置设置。有关使用声明式策略的信息，请参阅《AWS Organizations User Guide》**中的 [Declarative policies](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_declarative.html)。

------
#### [ Console ]

**要配置阻止公开访问快照**

1. 打开位于 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) 的 Amazon EC2 控制台。

1. 在导航窗格中，选择 **EC2 控制面板**，然后在（右侧的）**账户属性**中，选择**数据保护和安全**。

1. 在**阻止公开访问 EBS 快照**部分中，选择**管理**。

1. 选择**阻止公开访问**，然后选择以下选项之一：
   + **阻止所有公开访问** – 阻止所有公开共享快照的行为。此账户中的用户无法请求新的公开共享。此外，已公开共享的快照将被视为私有快照，且不可公开访问。
   + **阻止新的公开共享** – 仅阻止公开共享快照的新行为。此账户中的用户无法请求新的公开共享。不过，已经公开共享的快照仍可公开访问。

1. 选择**更新**。

------
#### [ AWS CLI ]

**要启用或修改阻止公开访问快照**  
使用 [enable-snapshot-block-public-access](https://docs.aws.amazon.com/cli/latest/reference/ec2/enable-snapshot-block-public-access.html) 命令。对于 `--state`，请指定下列值之一：
+ `block-all-sharing` – 阻止所有公开共享快照的行为。此账户中的用户无法请求新的公开共享。此外，已公开共享的快照将被视为私有快照，且不可公开访问。
+ `block-new-sharing` – 仅阻止公开共享快照的新行为。此账户中的用户无法请求新的公开共享。不过，已经公开共享的快照仍可公开访问。

**为特定区域启用或修改阻止快照公开访问**

```
aws ec2 enable-snapshot-block-public-access \
    --state block-new-sharing \
    --region us-east-1
```

下面是示例输出。

```
{
    "State": "block-new-sharing"
}
```

**为所有区域启用或修改阻止快照公开访问**

```
echo -e "Region   \t Public Access State" ; \
echo -e "-------------- \t ----------------------" ; \
for region in $(
    aws ec2 describe-regions \
        --region us-east-1 \
        --query "Regions[*].[RegionName]" \
        --output text
    ); 
    do (output=$(
        aws ec2 enable-snapshot-block-public-access \
            --region $region \
            --state block-new-sharing \
            --output text)
        echo -e "$region \t $output" 
    );
done
```

下面是示例输出。

```
Region           Public Access State
--------------   ----------------------
ap-south-1       block-new-sharing
eu-north-1       block-new-sharing
eu-west-3        block-new-sharing
...
```

------
#### [ PowerShell ]

**要启用或修改阻止公开访问快照**  
使用 [ Enable-EC2SnapshotBlockPublicAccess](https://docs.aws.amazon.com/powershell/latest/reference/items/Enable-EC2SnapshotBlockPublicAccess.html) 命令。对于 `-State`，请指定下列值之一：
+ `block-all-sharing` – 阻止所有公开共享快照的行为。此账户中的用户无法请求新的公开共享。此外，已公开共享的快照将被视为私有快照，且不可公开访问。
+ `block-new-sharing` – 仅阻止公开共享快照的新行为。此账户中的用户无法请求新的公开共享。不过，已经公开共享的快照仍可公开访问。

**为特定区域启用或修改阻止快照公开访问**

```
Enable-EC2SnapshotBlockPublicAccess `
    -Region us-east-1 `
    -State block-new-sharing
```

下面是示例输出。

```
Value
-----
block-new-sharing
```

**为所有区域启用或修改阻止快照公开访问**

```
(Get-EC2Region -Region us-east-1).RegionName | `
    ForEach-Object {
    [PSCustomObject]@{
        Region            = $_
        PublicAccessState = (
            Enable-EC2SnapshotBlockPublicAccess `
                -Region $_ `
                -State block-new-sharing)
    }
} | Format-Table -AutoSize
```

下面是示例输出。

```
Region         PublicAccessState
------         -----------------
ap-south-1     block-new-sharing
eu-north-1     block-new-sharing
eu-west-3      block-new-sharing
...
```

------

# 查看阻止 Amazon EBS 快照公开访问设置
<a name="block-public-access-snapshots-view"></a>

对于您账户中的每个区域，阻止公开访问可能处于以下状态之一。
+ **阻止所有共享** – 阻止所有公开共享快照的行为。此账户中的用户无法请求新的公开共享。此外，已经公开共享的快照将被视为私有快照，且不可公开访问。
+ **阻止新共享** – 仅阻止公开共享快照的新行为。此账户中的用户无法请求新的公开共享。不过，已经公开共享的快照仍可公开访问。
+ **未阻止** – 未阻止公开共享。用户可以公开共享快照。

------
#### [ Console ]

**要查看用来阻止公开访问快照的设置**

1. 打开位于 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) 的 Amazon EC2 控制台。

1. 在导航窗格中，选择 **EC2 控制面板**，然后在（右侧的）**账户属性**中，选择**数据保护和安全**。

1. **阻止公开访问 EBS 快照**部分会显示当前设置。

------
#### [ AWS CLI ]

**要查看用来阻止公开访问快照的设置**  
使用 [get-snapshot-block-public-access-stat](https://docs.aws.amazon.com/cli/latest/reference/ec2/get-snapshot-block-public-access-state.html) e 命令。
+ 对于特定区域

  ```
  aws ec2 get-snapshot-block-public-access-state
  ```

  在此示例输出中，`ManagedBy` 字段表示配置该设置的实体，`account` 表示该设置直接在账户中配置。值为 `declarative-policy` 表示该设置是由声明式策略所配置。有关更多信息，请参阅《AWS Organizations User Guide》**中的 [Declarative policies](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_declarative.html)。

  ```
  {
      "State": "unblocked",
      "ManagedBy": "account"
  }
  ```
+ 对于所有区域

  ```
  echo -e "Region   \t Public Access State" ; \
  echo -e "-------------- \t ----------------------" ; \
  for region in $(
      aws ec2 describe-regions \
          --region us-east-1 \
          --query "Regions[*].[RegionName]" \
          --output text
      ); 
      do (output=$(
          aws ec2 get-snapshot-block-public-access-state \
              --region $region \
              --output text)
          echo -e "$region \t $output" 
      );
  done
  ```

  下面是示例输出。

  ```
  Region           Public Access State
  --------------   ----------------------
  ap-south-1       unblocked
  eu-north-1       unblocked
  eu-west-3        unblocked
  ```

------
#### [ PowerShell ]

**要查看用来阻止公开访问快照的设置**  
使用 [Get-EC2SnapshotBlockPublicAccessState](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2SnapshotBlockPublicAccessState.html)cmdlet。
+ 对于特定区域

  ```
  Get-EC2SnapshotBlockPublicAccessState -Region us-east-1
  ```

  下面是示例输出。

  ```
  Value
  -----
  block-new-sharing
  ```
+ 对于所有区域

  ```
  (Get-EC2Region -Region us-east-1).RegionName | `
      ForEach-Object {
      [PSCustomObject]@{
          Region            = $_
          PublicAccessState = (Get-EC2SnapshotBlockPublicAccessState -Region $_)
      }
  } | Format-Table -AutoSize
  ```

  下面是示例输出。

  ```
  Region           Public Access State
  --------------   ----------------------
  ap-south-1       unblocked
  eu-north-1       unblocked
  eu-west-3        unblocked
  ...
  ```

------

# 禁用阻止 Amazon EBS 快照公开访问
<a name="block-public-access-snapshots-disable"></a>

禁用阻止公开访问快照，以允许在此区域中公开共享快照。禁用此功能之后，用户可以在此区域公开共享快照。

**重要**  
如果在*阻止所有共享*模式下启用阻止快照公开访问，则不会更改对已公开共享的快照的权限。实际上，它会阻止这些快照公开可见和可公开访问。因此，这些快照的属性仍然表明它们是公开共享的，尽管它们不可公开访问。  
如果禁用阻止公开访问，则这些快照将再次公开可用。

**注意**  
此设置是在账户级别配置，可以直接在账户中配置，也可以使用声明式策略进行配置。必须在每个要允许公开共享快照 AWS 区域 的地方进行配置。使用声明式策略可同时将设置应用于多个区域，也可以同时应用于多个账户。当使用声明式策略时，您无法直接在账户中修改设置。本主题介绍如何直接在账户中配置设置。有关使用声明式策略的信息，请参阅《AWS Organizations User Guide》**中的 [Declarative policies](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_declarative.html)。

------
#### [ Console ]

**禁用快照的屏蔽公共访问权限**

1. 打开位于 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) 的 Amazon EC2 控制台。

1. 在导航窗格中，选择 **EC2 控制面板**，然后在（右侧的）**账户属性**中，选择**数据保护和安全**。

1. 在**阻止公开访问 EBS 快照**部分中，选择**管理**。

1. 清除**阻止公开访问**，然后选择**更新**。

------
#### [ AWS CLI ]

**要禁用阻止公开访问快照**  
使用 [disable-snapshot-block-public-access](https://docs.aws.amazon.com/cli/latest/reference/ec2/disable-snapshot-block-public-access.html) 命令。
+ 对于特定区域

  ```
  aws ec2 disable-snapshot-block-public-access --region us-east-1
  ```

  下面是示例输出。

  ```
  {
      "State": "unblocked"
  }
  ```
+ 对于所有区域

  ```
  echo -e "Region   \t Public Access State" ; \
  echo -e "-------------- \t ----------------------" ; \
  for region in $(
      aws ec2 describe-regions \
          --region us-east-1 \
          --query "Regions[*].[RegionName]" \
          --output text
      ); 
      do (output=$(
          aws ec2 disable-snapshot-block-public-access \
              --region $region \
              --output text)
          echo -e "$region \t $output" 
      );
  done
  ```

  下面是示例输出。

  ```
  Region           Public Access State
  --------------   ----------------------
  ap-south-1       unblocked
  eu-north-1       unblocked
  eu-west-3        unblocked
  ```

------
#### [ PowerShell ]

**禁用快照的屏蔽公共访问权限**  
使用 [Disable-EC2SnapshotBlockPublicAccess](https://docs.aws.amazon.com/powershell/latest/reference/items/Disable-EC2SnapshotBlockPublicAccess.html)cmdlet。
+ 对于特定区域

  ```
  Disable-EC2SnapshotBlockPublicAccess -Region us-east-1
  ```

  下面是示例输出。

  ```
  Value
  -----
  unblocked
  ```
+ 对于所有区域

  ```
  (Get-EC2Region -Region us-east-1).RegionName | `
      ForEach-Object {
      [PSCustomObject]@{
          Region            = $_
          PublicAccessState = (Disable-EC2SnapshotBlockPublicAccess -Region $_)
      }
  } | `
  Format-Table -AutoSize
  ```

  下面是示例输出。

  ```
  Region         PublicAccessState
  ------         -----------------
  ap-south-1     unblocked
  eu-north-1     unblocked
  eu-west-3      unblocked
  ...
  ```

------

# 使用监控对 Amazon EBS 快照的封锁公开访问 EventBridge
<a name="block-public-access-snapshots-events"></a>

Amazon EBS 将发出与阻止公开访问快照相关的事件。您可以使用 AWS Lambda 和 Amazon EventBridge 以编程方式处理事件通知。尽最大努力发出事件。有关更多信息，请参阅 [Amazon EventBridge 用户指南](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-what-is.html)。

系统将发出以下事件：
+ 在“阻止所有共享”模式下，启用阻止公开访问快照

  ```
  {
    "version": "0",
    "id": "01234567-0123-0123-0123-012345678901",
    "detail-type": "EBS Snapshot Block Public Access Enabled",
    "source": "aws.ec2",
    "account": "123456789012",
    "time": "2019-05-31T21:49:54Z",
    "region": "us-east-1",
    "detail": { 
      "SnapshotBlockPublicAccessState": "block-all-sharing",
      "message": "Block Public Access was successfully enabled in 'block-all-sharing' mode"
    }
  }
  ```
+ 在“阻止新共享”模式下，启用阻止公开访问快照

  ```
  {
    "version": "0",
    "id": "01234567-0123-0123-0123-012345678901",
    "detail-type": "EBS Snapshot Block Public Access Enabled",
    "source": "aws.ec2",
    "account": "123456789012",
    "time": "2019-05-31T21:49:54Z",
    "region": "us-east-1",
    "detail": { 
      "SnapshotBlockPublicAccessState": "block-new-sharing",
      "message": "Block Public Access was successfully enabled in 'block-new-sharing' mode"
    }
  }
  ```
+ 禁用阻止公开访问快照

  ```
  {
    "version": "0",
    "id": "01234567-0123-0123-0123-012345678901",
    "detail-type": "EBS Snapshot Block Public Access Disabled",
    "source": "aws.ec2",
    "account": "123456789012",
    "time": "2019-05-31T21:49:54Z",
    "region": "us-east-1",
    "detail": { 
      "SnapshotBlockPublicAccessState": "unblocked",
      "message": "Block Public Access was successfully disabled"
    }
  }
  ```

# Amazon EBS local snapshots on Outposts
<a name="snapshots-outposts"></a>

Amazon EBS 快照是您的 EBS 卷的 point-in-time副本。

默认情况下，AWS Outpost 上 EBS 卷的快照存储在 Outpost 区域的 Amazon S3 中。您还可以使用 Outposts 上的 Amazon EBS 本地快照，将 Outpost 上的卷快照存储在 Outpost 自身的 Amazon S3 本地。这确保快照数据驻留在 Outpost 上和您本地。此外，您可以使用 AWS Identity and Access Management (IAM) 策略和权限来设置数据驻留强制政策，以确保快照数据不会离开。Outpost如果您居住的国家或地区尚未由某个地区提供服务，并且有数据驻留要求，则 AWS 此功能特别有用。

此主题提供有关使用 Outposts 上的 Amazon EBS 本地快照 的信息。有关 Amazon EBS 快照和在某个 AWS 地区使用快照的更多信息，请参阅[Amazon EBS 快照](ebs-snapshots.md)。

有关更多信息，请参阅 [AWS Outposts Family](https://aws.amazon.com/outposts/) 和 [AWS Outposts Family Documentation](https://docs.aws.amazon.com/outposts/)。

**Topics**
+ [常见问题](#faq)
+ [先决条件](#prereqs)
+ [注意事项](#considerations)
+ [使用 IAM 控制访问](#iam)
+ [使用本地快照](#using)

## 常见问题
<a name="faq"></a>

**1. 什么是 本地快照？**  
默认情况下，Outpost 上卷的 Amazon EBS 快照存储在 Outpost 区域的 Amazon S3 中。如果 Outpost 预置了 S3 on Outposts，您可以选择在 Outpost 自身上本地存储快照。本地快照采用增量更新，这意味着只保存在最新快照之后更改的卷数据块。您随时可以使用这些快照在快照所在同一 Outpost 上还原卷。有关 Amazon EBS 快照的更多信息，请参阅 [Amazon EBS 快照](ebs-snapshots.md)。

**2. 为什么应该使用 本地快照？**  
快照是备份数据的便捷方法。使用本地快照，您的所有快照数据都在 Outpost 上本地存储。这意味着数据不会离开您的本地环境。如果您居住的国家或地区尚未由某个地区提供服务，并且有居留要求，则 AWS 此功能特别有用。  
此外，使用本地快照可以在带宽受限环境中帮助减少区域和 Outpost 之间的通信所使用的带宽。

**3. 如何在 Outpost 上执行快照数据驻留？**  
您可以使用 AWS Identity and Access Management (IAM) 策略来控制委托人（AWS 账户、IAM 用户和 IAM 角色）在处理本地快照时拥有的权限，并强制执行数据驻留。您可以创建一项策略，防止委托人从Outpost卷和实例创建快照以及将快照存储在某个 AWS 区域。目前，不支持从 Outpost 向区域复制快照和映像。有关更多信息，请参阅 [使用 IAM 控制访问](#iam)。

**4. 是否支持多卷、崩溃一致性本地快照？**  
是的，您可以从 Outpost 上的实例创建多卷、崩溃一致性本地快照。

**5. 我该如何创建本地快照？**  
您可以使用 AWS Command Line Interface (AWS CLI) 或 Amazon EC2 控制台手动创建快照。有关更多信息，请参阅[使用本地快照](#using)。您还可以使用 Amazon Data Lifecycle Manager 自动执行本地快照的生命周期。有关更多信息，请参阅 [在 Outpost 上自动执行快照](#dlm)。

**6. 如果我的 Outpost 失去了与其区域的连接，我可以创建、使用或删除本地快照吗？**  
不可以。Outpost 必须与其区域建立连接，因为该区域提供对快照的运行状况至关重要的访问、授权、日志记录和监控服务。如果没有连接，则您无法创建新的本地快照、创建卷或从现有本地快照实例启动实例，也无法删除本地快照。

**7. 删除本地快照多久后 Amazon S3 存储容量可供使用？**  
Amazon S3 存储容量在删除引用它们的本地快照和卷后 72 小时内可供使用。

**8. 如何确保不会在我的 Outpost 上耗尽 Amazon S3 容量？**  
我们建议您使用 Amazon CloudWatch 警报来监控您的 Amazon S3 存储容量，并删除不再需要的快照和卷，以免存储容量耗尽。如果您在使用 Amazon Data Lifecycle Manager 自动执行本地快照的生命周期，请确保快照保留策略保留快照的时间不超过所需时长。

**9. 如果我的 Outpost 上的本地 Amazon S3 容量用尽，会发生什么情况？**  
如果 Outpost 上的本地 Amazon S3 容量用尽，Amazon Data Lifecycle Manager 将无法在 Outpost 上成功创建本地快照。Amazon Data Lifecycle Manager 将尝试在 Outpost 上创建本地快照，但快照会立即过渡到 `error` 状态，最终会被 Amazon Data Lifecycle Manager 删除。我们建议您使用 `SnapshotsCreateFailed` Amazon CloudWatch 指标来监控快照生命周期策略，以防快照创建失败。有关更多信息，请参阅 [使用监控数据生命周期管理器策略 CloudWatch](monitor-dlm-cw-metrics.md)。

**10. 我能否在 Spot 实例和 Spot 队列中使用本地快照并由本地快照提供 AMIs 支持？**  
不可以，您不能使用本地快照或由本地快照 AMIs 支持来启动 Spot 实例或 Spot 队列。

**11. 我是否可以对本地快照及由本地快照支持的 AMI 使用 Amazon EC2 Auto Scaling？**  
是的，您可以使用本地快照并由本地快照 AMIs 支持的子网启动 Auto Scaling 组，该子网与快照位于同一Outpost子网中。Amazon EC2 Auto Scaling 组服务相关角色必须具有使用用于加密快照的 KMS 密钥 的权限。  
您不能使用本地快照或由本地快照 AMIs 支持的在 AWS 区域中启动 Auto Scaling 群组。

## 先决条件
<a name="prereqs"></a>

要在 Outpost 上存储快照，您必须拥有预置了 S3 on Outposts 的 Outpost。有关 S3 on Outposts 的更多信息，请参阅《Amazon S3 on Outposts 用户指南》**中的 [S3 on Outposts](https://docs.aws.amazon.com/AmazonS3/latest/s3-outposts/S3onOutposts.html)。

## 注意事项
<a name="considerations"></a>

使用本地快照时请记住以下事项。
+ Outpost必须与其 AWS 所在区域建立连接才能使用本地快照。
+ 快照元数据存储在与关联的 AWS 区域中Outpost。其中不包括任何快照数据。
+ 存储在 Outpost 上的快照默认处于加密状态。不支持非加密快照。在 Outpost 上创建的快照和复制到 Outpost 的快照将使用区域的默认 KMS 密钥或您在请求时指定的其他 KMS 密钥进行加密。
+ 当您从本地快照在 Outpost 上创建卷时，不能使用其他 KMS 密钥对卷重新加密。从 本地快照 创建的卷必须使用与源快照相同的 KMS 密钥 进行加密。
+ 从 Outpost 中删除本地快照后，删除的快照所使用的 Amazon S3 存储容量将在 72 小时内可供使用。有关更多信息，请参阅 [删除本地快照](#delete-snapshots)。
+ 您不能从 Outpost 导出本地快照。
+ 您不能为本地快照启用快速快照还原。
+ 本地快照 APIs 不支持 EBS Direct。
+ 您不能复制本地快照，也不能 AMIs 从一个区域复制Outpost到另一个 AWS 区域，也不能从一个区域复制Outpost到另一个区域，也不能在区域内复制快照Outpost。但是，您可以将快照从 AWS 区域复制到 Outpost。有关更多信息，请参阅 [将快照从一个 AWS 区域复制到 Outpost](#copy-snapshots)。
+ 将快照从 AWS 区域复制到时Outpost，数据将通过服务链接传输。同时复制多个快照可能会影响在 Outpost 上运行的其他服务。
+ 您不能共享本地快照。
+ 您必须使用 IAM policy 来确保满足数据驻留要求。有关更多信息，请参阅[使用 IAM 控制访问](#iam)。
+ 本地快照执行增量备份。只保存卷中在最近快照之后发生更改的数据块。每个本地快照都包含将数据（拍摄快照时存在的数据）还原到新 EBS 卷所需的全部信息。有关更多信息，请参阅 [Amazon EBS 快照的工作原理](how_snapshots_work.md)。
+ 您不能使用 IAM 策略强制执行数据驻留**CopySnapshot**和**CopyImage**操作。

## 使用 IAM 控制访问
<a name="iam"></a>

您可以使用 AWS Identity and Access Management (IAM) 策略来控制委托人（AWS 账户、IAM 用户和 IAM 角色）在处理本地快照时拥有的权限。以下示例策略可用于授予或拒绝对本地快照执行特定操作的权限。

**重要**  
目前不支持将快照和映像从 Outpost 复制到区域。因此，您目前无法使用 IAM 策略强制执行数据驻留**CopySnapshot**和**CopyImage**操作。

**Topics**
+ [为快照执行数据驻留](#enforce-residency-snapshot)
+ [禁止委托人删除本地快照](#deny-delete)

### 为快照执行数据驻留
<a name="enforce-residency-snapshot"></a>

以下示例策略禁止所有委托人从某个区域上的Outpost`arn:aws:outposts:us-east-1:123456789012:outpost/op-1234567890abcdef`卷和实例创建快照，也禁止将快照数据存储在某个 AWS 区域。委托人仍然可以创建本地快照。此策略可确保所有快照都保留在 Outpost 上。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Deny",
            "Action": [
                "ec2:CreateSnapshot",
                "ec2:CreateSnapshots"
            ],
            "Resource": "arn:aws:ec2:us-east-1::snapshot/*",
            "Condition": {
                "StringEquals": {
                    "ec2:SourceOutpostArn": "arn:aws:outposts:us-east-1:123456789012:outpost/op-1234567890abcdef0"
                },
                "Null": {
                    "ec2:OutpostArn": "true"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "ec2:CreateSnapshot",
                "ec2:CreateSnapshots"
            ],
            "Resource": "*"
        }
    ]
}
```

------

### 禁止委托人删除本地快照
<a name="deny-delete"></a>

以下示例策略禁止所有主体删除存储在 Outpost `arn:aws:outposts:us-east-1:123456789012:outpost/op-1234567890abcdef0` 上的本地快照。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Deny",
            "Action": [
                "ec2:DeleteSnapshot"
            ],
            "Resource": "arn:aws:ec2:us-east-1::snapshot/*",
            "Condition": {
                "StringEquals": {
                    "ec2:OutpostArn": "arn:aws:outposts:us-east-1:123456789012:outpost/op-1234567890abcdef0"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "ec2:DeleteSnapshot"
            ],
            "Resource": "*"
        }
    ]
}
```

------

## 使用本地快照
<a name="using"></a>

下面几节介绍如何使用本地快照。

**Topics**
+ [存储快照的规则](#lineage)
+ [从 Outpost 上的卷创建本地快照](#create-snapshot)
+ [AMIs 从本地快照创建](#ami)
+ [将快照从一个 AWS 区域复制到 Outpost](#copy-snapshots)
+ [AMIs 从一个 AWS 区域复制到一个 Outpost](#copy-amis)
+ [从本地快照创建卷](#volumes)
+ [从由本地快照 AMIs 支持的实例启动](#instances)
+ [删除本地快照](#delete-snapshots)
+ [在 Outpost 上自动执行快照](#dlm)

### 存储快照的规则
<a name="lineage"></a>

以下规则适用于快照存储：
+ 如果卷的最新快照存储在某个 Outpost 上，则所有后续快照都必须存储在同一 Outpost 中。
+ 如果卷的最新快照存储在某个 AWS 区域中，则所有连续的快照都必须存储在同一个区域中。要开始从该卷创建本地快照，请执行以下操作：

  1.  AWS 在该区域创建卷的快照。

  1. 将快照Outpost从该 AWS 区域复制到。

  1. 从本地快照创建新卷：

  1. 将卷附加到 Outpost 上的实例。

  对于 Outpost 上的新卷，下一个快照可以存储在 Outpost 或 AWS 区域中。然后必须将所有后续快照存储在同一位置。
+ 本地快照，包括在上创建的快照Outpost和Outpost从某个 AWS 区域复制到的快照，只能用于在同一区域上创建卷Outpost。
+ 如果您从某个区域中的快照在 Outpost 上创建卷，则该新卷的所有后续快照都必须位于同一区域中。
+ 如果您从本地快照在 Outpost 上创建卷，则该新卷的所有后续快照都必须位于同一 Outpost 中。

### 从 Outpost 上的卷创建本地快照
<a name="create-snapshot"></a>

您可以从 Outpost 上的卷创建本地快照。您可以选择将快照存储在源卷所在的同一 Outpost 中，也可以选择将快照存储在 Outpost 的区域中。

本地快照只能用于在同一 Outpost 上创建卷。

有关更多信息，请参阅 [创建 Amazon EBS 快照](ebs-creating-snapshot.md)。

### AMIs 从本地快照创建
<a name="ami"></a>

您可以使用本地快照和存储在该地区的快照的组合来创建 Amazon 系统映像 (AMIs) Outpost。例如，如果您在 `us-east-1` 中有一个 Outpost，则可以使用由该 Outpost 上的本地快照支持的数据卷以及由 `us-east-1` 区域中的快照支持的根卷来创建 AMI。

**注意**  
您不能创建 AMIs 包含存储在多个快照中的备份快照Outposts。
目前，您无法在Outpost使用的 **CreateImage**API 上 AMIs 直接从实例创建，也无法在 Amazon EC2 控制台上直接创建Outpost。
AMIs 由本地快照支持的Outpost只能用于在同一个快照上启动实例。

**从区域中的快照在 Outpost 上创建 AMI**

1. 将快照从区域复制到 Outpost。有关更多信息，请参阅 [将快照从一个 AWS 区域复制到 Outpost](#copy-snapshots)。

1. 通过 Amazon EC2 控制台或 [register-image](https://docs.aws.amazon.com/cli/latest/reference/ec2/register-image.html) 命令使用 Outpost 上的快照副本创建 AMI。有关更多信息，请参阅[从快照创建 AMI](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami-ebs.html#creating-launching-ami-from-snapshot)。

**从 Outpost 上的实例在 Outpost 上创建 AMI**

1. 从 Outpost 上的实例创建快照并将快照存储在 Outpost 上。有关更多信息，请参阅 [创建 Amazon EBS 快照](ebs-creating-snapshot.md)。

1. 通过 Amazon EC2 控制台或 [register-image](https://docs.aws.amazon.com/cli/latest/reference/ec2/register-image.html) 命令使用本地快照创建 AMI。有关更多信息，请参阅[从快照创建 AMI](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami-ebs.html#creating-launching-ami-from-snapshot)。

**从 Outpost 上的实例在区域中创建 AMI**

1. 从 Outpost 上的实例创建快照并将快照存储在区域中。有关更多信息，请参阅 [从 Outpost 上的卷创建本地快照](#create-snapshot) 或 [创建 Amazon EBS 快照](ebs-creating-snapshot.md)。

1. 使用 Amazon EC2 控制台或 [ 寄存器映像 ](https://docs.aws.amazon.com/cli/latest/reference/ec2/register-image.html) 命令使用区域中的快照副本创建 AMI。有关更多信息，请参阅[从快照创建 AMI](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami-ebs.html#creating-launching-ami-from-snapshot)。

### 将快照从一个 AWS 区域复制到 Outpost
<a name="copy-snapshots"></a>

您可以将快照从一个 AWS 区域复制到Outpost。仅当快照位于 Outpost 的区域中时，才能执行此操作。如果快照位于其他区域，则必须先将快照复制到该 Outpost 的区域，再将其从该区域复制到该 Outpost。

**注意**  
您不能将本地快照从 Outpost 复制到某个区域、在 Outpost 之间或在同一 Outpost 内复制。

有关更多信息，请参阅 [复制 Amazon EBS 快照](ebs-copy-snapshot.md)。

### AMIs 从一个 AWS 区域复制到一个 Outpost
<a name="copy-amis"></a>

您可以 AMIs 从一个 AWS 地区复制到Outpost。当您将 AMI 从区域复制到 Outpost 时，与该 AMI 关联的所有快照都将从该区域复制到该 Outpost。

仅当与 AMI 关联的快照位于 Outpost 的区域中时，您才能将该 AMI 从该区域复制到该 Outpost。如果快照位于其他区域，则必须先将 AMI 复制到该 Outpost 的区域，再将其从该区域复制到该 Outpost。

**注意**  
您不能将 AMI 从 Outpost 复制到某个区域、在 Outpost 之间或在 Outpost 内复制。

您只能Outpost使用 cop [y-imag](https://docs.aws.amazon.com/cli/latest/reference/ec2/copy-image.html) e AWS CLI 命令 AMIs 从一个区域复制到。

### 从本地快照创建卷
<a name="volumes"></a>

您可以从本地快照在 Outpost 上创建卷。卷必须在源快照所在同一 Outpost 上创建。您不能使用本地快照在 Outpost 的区域中创建卷。

从 本地快照 创建卷时，不能使用不同的 KMS 密钥 对卷重新加密。从 本地快照 创建的卷必须使用与源快照相同的 KMS 密钥 进行加密。

有关更多信息，请参阅 [创建 Amazon EBS 卷](ebs-creating-volume.md)。

### 从由本地快照 AMIs 支持的实例启动
<a name="instances"></a>

您可以启动由本地快照支持的实例。 AMIs 您必须在源 AMI 所在的同一 Outpost 中启动实例。有关更多信息，请参阅《AWS Outposts 用户指南》**中的[在 Outpost 上启动实例](https://docs.aws.amazon.com/outposts/latest/userguide/launch-instance.html)。

### 删除本地快照
<a name="delete-snapshots"></a>

您可以从 Outpost 中删除本地快照。从 Outpost 中删除快照后，已删除快照使用的 Amazon S3 存储容量将在删除快照和引用该快照的卷后 72 小时内可用。

由于 Amazon S3 存储容量不会立即可用，因此我们建议您使用亚马逊 CloudWatch 警报来监控您的 Amazon S3 存储容量。应删除不再需要的快照和卷，以避免存储容量耗尽。

有关删除快照的更多信息，请参阅[删除快照](ebs-deleting-snapshot.md#ebs-delete-snapshot)。

### 在 Outpost 上自动执行快照
<a name="dlm"></a>

您可以创建 Amazon Data Lifecycle Manager 快照生命周期策略，使之自动创建、复制、保留和删除 Outpost 上卷和实例的快照。您可以选择是将快照存储在区域中，还是在 Outpost 上本地存储。此外，您可以自动将在一个 AWS 区域中创建和存储的快照复制到Outpost。

下表提供了支持功能的概述。


| 
| 
| 资源位置 | 快照目标 | 跨区域复制 | 快速快照还原 | 跨账户共享 | 
| --- |--- |--- |--- |--- |
| 复制到区域 | 至 Outpost | 
| --- |--- |
| Region | Region | ✓ | ✓ | ✓ | ✓ | 
| Outpost | Region | ✓ | ✓ | ✓ | ✓ | 
| Outpost | Outpost | ✗ | ✗ | ✗ | ✗ | 

**注意事项**
+ 目前仅支持 Amazon EBS 快照生命周期策略。不支持由 EBS 支持的 AMI 策略和跨账户共享事件策略。
+ 如果有策略管理某个区域中卷或实例的快照，则快照将在源资源所在同一区域中创建。
+ 如果有策略管理 Outpost 上卷或实例的快照，则可以在源 Outpost 或该 Outpost 的区域中创建快照。
+ 单个策略无法同时管理区域中的快照和 Outpost 上的快照。如果您需要在区域和 Outpost 中自动执行快照，则必须分别创建策略。
+ 在 Outpost 上创建的快照或复制到 Outpost 的快照不支持快照还原。
+ 在 Outpost 上创建的快照不支持跨账户共享。

有关创建可管理本地快照的快照生命周期的更多信息，请参阅[自动化快照生命周期](snapshot-ami-policy.md)。

# 本地区域中的本地快照
<a name="snapshots-localzones"></a>

Amazon EBS 快照是您的 EBS 卷的 point-in-time副本。

本地区域中 EBS 卷的快照可以存储在同一 AWS 本地区域的 Amazon S3 中，也可以存储在该本地区域的父区域中。将快照存储在本地区域中可以确保快照数据在特定国家、州/省或市镇进行处理和存储，从而帮助您满足数据驻留要求。您还可以使用 IAM 设置数据驻留强制执行策略，以确保快照数据不会离开本地区域。

Local Zones 非常适合需要个位数毫秒延迟或本地数据处理的应用程序，它使 AWS 基础设施更靠近最终用户和业务中心。此外，您还可以满足对监管和合规性敏感工作负载的数据驻留要求。有关更多信息，请参阅[什么是 L AWS ocal Zones](https://docs.aws.amazon.com//local-zones/latest/ug/what-is-aws-local-zones.html)。

目前，支持 Amazon S3 的本地区域支持本地快照。有关更多信息，请参阅 [AWS Local Zones features](https://aws.amazon.com/about-aws/global-infrastructure/localzones/features/)。

**Topics**
+ [常见问题](#faq)
+ [注意事项](#considerations)
+ [使用 IAM 控制访问](#local-snaps-iam)

## 常见问题
<a name="faq"></a>

**1. 本地区域中的本地快照是什么？**  
本地区域中的本地快照是指存储在本地区域的 Amazon S3 中的快照。默认情况下，本地区域中 Amazon EBS 卷的快照存储在父区域的 Amazon S3 中。如果本地区域支持 Amazon S3，您可以选择将快照存储在本地区域本地。与 Regi AWS ons 中的快照一样，Local Zones 中的本地快照是增量的，这意味着仅保存最近一次快照后发生更改的卷块。您可以随时使用这些快照在同一本地区域中还原 Amazon EBS 卷。

**2. 为什么应该使用本地快照？**  
使用本地区域中的本地快照通过确保快照数据位于特定地理位置（例如国家、州/省或市镇）来满足数据驻留或数据隔离要求。

**3. 如何在本地区域中强制执行快照数据驻留？**  
您可以使用 AWS Identity and Access Management (IAM) 策略来控制委托人（AWS 账户、IAM 用户和 IAM 角色）在 Local Zones 中使用本地快照时拥有的权限，并强制执行数据驻留。例如，您可以创建一个策略，禁止用户从 Local Zones 中的卷创建快照并将这些快照存储在某个 AWS 区域中。有关更多信息，请参阅 [使用 IAM 控制访问](#local-snaps-iam)。

**4. 是否支持多卷、崩溃一致性本地快照？**  
是的，您可以从本地区域中的实例在本地区域中创建多卷、崩溃一致性本地快照。

**5. 如何在本地区域中创建本地快照？**  
您可以使用 AWS CLI 或 Amazon EC2 控制台在本地区域中手动创建本地快照。有关更多信息，请参阅[创建 EBS 卷的快照](ebs-create-snapshot.md)。您还可以使用 Amazon Data Lifecycle Manager 自动执行本地区域中本地快照的生命周期。有关更多信息，请参阅[为 EBS 快照创建 Amazon Data Lifecycle Manager 自定义策略](snapshot-ami-policy.md)。

**6. 能否复制本地区域中的本地快照？**  
是的，您可以将快照从一个区域复制到同一区域中的本地区域，从本地区域复制到其区域，以及从一个本地区域复制到同一本地区域组中的另一个本地区域。

**7. 如何从本地区域中的本地快照还原数据？**  
您可以使用本地区域中的本地快照仅在同一本地区域中创建 Amazon EBS 卷。

**8. 本地区域中的本地快照是如何加密的？**  
默认情况下，本地快照可以是未加密的，也可以是加密的。默认加密时，本地快照使用与源 Amazon EBS 卷相同的 AWS KMS 密钥进行加密。从本地快照创建卷时，不能使用不同的 KMS 密钥重新加密该卷。从本地快照创建的卷必须使用与源快照相同的 AWS KMS 密钥进行加密。

**9. 我能否在 Local Zones 中 AMIs 使用本地快照创建 EBS 支持？**  
是的，在创建 EBS 支持时，您可以 AMIs 通过将快照目标指定为 Local Zones 来使用本地区域中的本地快照。有关更多信息，请参阅[创建 Amazon EBS-backed AMI](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami-ebs.html#creating-launching-ami-from-snapshot)。

**10. 能否共享本地区域中的本地快照？**  
可以，您可以与其他已在其账户中启用本地区域的 AWS 账户共享 Local Zones 中的本地快照。

**11. 我能否创建卷的本地快照，然后切换到在父区域中创建快照？**  
不可以，在创建卷的本地快照后，无法在父区域中创建该卷的连续快照。由于所有快照都是增量快照，如果卷的最新快照是本地快照，则该卷的所有后续快照都必须是本地快照。

## 注意事项
<a name="considerations"></a>

在使用本地区域中的本地快照时，请记住以下事项。
+ 目前，支持 Amazon S3 的本地区域支持本地快照。
+ 以下功能不能与本地区域中的本地快照一起使用：
  + 虚拟机 Import/Export 操作
  + 快速快照还原
  + EBS 直播 APIs
  + 回收站
  + 快照归档
+ 您必须使用 IAM 策略来强制执行数据驻留要求。有关更多信息，请参阅 [使用 IAM 控制访问](#local-snaps-iam)。
+ 如果卷的最新快照是本地快照，则所有后续快照都必须是本地快照。同样，如果卷的最新快照存储在某个 AWS 区域中，则所有连续的快照都必须存储在同一个区域中。

## 使用 IAM 控制访问
<a name="local-snaps-iam"></a>

您可以使用 AWS Identity and Access Management (IAM) 策略来控制委托人（AWS 账户、IAM 用户和 IAM 角色）在 Local Zones 中使用本地快照时所拥有的权限。以下示例策略可用于授予或拒绝对本地区域中的本地快照执行特定操作的权限。

**Topics**
+ [对本地区域中的本地快照强制执行数据驻留](#dlz-enforce-residency-snapshot)
+ [禁止共享本地区域中的本地快照](#dlz-deny-sharing)
+ [禁止主体删除本地区域中的本地快照](#dlz-deny-delete)

### 对本地区域中的本地快照强制执行数据驻留
<a name="dlz-enforce-residency-snapshot"></a>

以下示例策略限制用户只能从本地区域中的卷和实例创建本地区域中的本地快照。它会禁止用户从本地区域中的卷和实例创建区域中的快照。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement":
    [
        {
            "Effect": "Deny",
            "Action":
            [
                "ec2:CreateSnapshot",
                "ec2:CreateSnapshots"
            ],
            "Resource": "*",
            "Condition":
            {
                "StringEquals":
                {
                    "ec2:Location": "regional",
                    "ec2:SourceAvailabilityZone": "local_zone"
                }
            }
        },
        {
            "Effect": "Deny",
            "Action":
            [
                "ec2:CreateSnapshot",
                "ec2:CreateSnapshots"
            ],
            "Resource": "*",
            "Condition":
            {
                "StringEquals":
                {
                    "ec2:SourceAvailabilityZone": "local_zone"
                },
                "Null":
                {
                    "ec2:Location": "true"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action":
            [
                "ec2:CreateSnapshot",
                "ec2:CreateSnapshots"
            ],
            "Resource": "*"
        }
    ]
}
```

------

### 禁止共享本地区域中的本地快照
<a name="dlz-deny-sharing"></a>

以下示例策略禁止所有用户共享本地区域中的本地快照。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "DenySnapshotModifyInLocalZone",
      "Effect": "Deny",
      "Action": [
        "ec2:ModifySnapshotAttribute"
      ],
      "Resource": "arn:aws:ec2:*::snapshot/*",
      "Condition": {
        "StringEquals": {
        "ec2:AvailabilityZone": "use1-atl2-az1"
        }
      }
    },
    {
      "Sid": "AllowSnapshotModifyElsewhere",
      "Effect": "Allow",
      "Action": [
        "ec2:ModifySnapshotAttribute"
      ],
      "Resource": "arn:aws:ec2:*::snapshot/*"
    }
  ]
}
```

------

### 禁止主体删除本地区域中的本地快照
<a name="dlz-deny-delete"></a>

以下示例策略禁止所有用户删除本地区域中的本地快照。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "DenySnapshotDeleteInLocalZone",
      "Effect": "Deny",
      "Action": [
        "ec2:DeleteSnapshot"
      ],
      "Resource": "arn:aws:ec2:*::snapshot/*",
      "Condition": {
        "StringEquals": {
        "ec2:AvailabilityZone": "use1-atl2-az1"
        }
      }
    },
    {
      "Sid": "AllowSnapshotDeleteElsewhere",
      "Effect": "Allow",
      "Action": [
        "ec2:DeleteSnapshot"
      ],
      "Resource": "arn:aws:ec2:*::snapshot/*"
    }
  ]
}
```

------