Amazon EBS local snapshots on Outposts - Amazon Elastic Compute Cloud

Amazon EBS local snapshots on Outposts

Amazon EBS 快照是 EBS 卷的时间点副本。

默认情况下,Outpost 上 EBS 卷的快照存储在 Amazon S3 中的 Outpost 区域中。您也可以使用 Outposts 上的 Amazon EBS 本地快照 在 Outpost 自身的 Amazon S3 中,在本地存储 Outpost 上的卷副本。这可以确保快照数据驻留在您本地的 Outpost 上。此外,您可以使用 AWS Identity and Access Management (IAM) 策略和权限来设置数据驻留执行策略,以确保快照数据不会离开 Outpost。如果您居住在尚未有某个 AWS 区域提供服务且有数据驻留要求的国家或地区,这将特别有用。

此主题提供有关使用 Outposts 上的 Amazon EBS 本地快照 的信息。有关 Amazon EBS 快照以及在 AWS 区域中使用快照的更多信息,请参阅 Amazon EBS 快照

有关 AWS Outposts 的更多信息,请参阅 AWS Outposts 功能AWS Outposts 用户指南。有关定价信息,请参阅 AWS Outposts 定价

常见问题

1. 什么是 本地快照?

默认情况下,Outpost 上卷的 Amazon EBS 快照存储在 Amazon S3 中的 Outpost 区域中。如果 Outpost 预置了 Amazon S3 on Outposts,您可以选择在 Outpost 自身本地存储快照。本地快照采用增量更新,这意味着只保存在最新快照之后更改的卷数据块。您随时可以使用这些快照在快照所在同一 Outpost 上恢复卷。有关 Amazon EBS 快照的更多信息,请参阅 Amazon EBS 快照

2. 为什么应该使用 本地快照?

快照是备份数据的便捷方法。使用 本地快照,您的所有快照数据都在 Outpost 上本地存储。这意味着数据不会离开您的本地环境。如果您居住在尚未有某个 AWS 区域提供服务且有数据驻留要求的国家或地区,这将特别有用。

此外,使用 本地快照 可以在带宽受限环境中帮助减少区域和 Outpost 之间的通信所使用的带宽。

3. 如何在 Outpost 上执行快照数据驻留?

您可以使用 AWS Identity and Access Management (IAM) 策略来控制委托人(AWS账户、IAM 用户和 IAM 角色)在使用本地快照时以及在执行数据驻留时拥有的权限。您可以创建一个策略,禁止委托人从 Outpost 卷和实例创建快照并将快照存储在 AWS 区域中。目前,不支从 Outpost 向区域复制快照和映像。有关更多信息,请参阅使用 IAM 控制访问

4. 是否支持多卷、崩溃一致性本地快照?

是的,您可以从 Outpost 上的实例创建多卷、崩溃一致性本地快照。

5. 我该如何创建本地快照?

您可以使用 AWS Command Line Interface (AWS CLI) 或 Amazon EC2 控制台手动创建快照。有关更多信息,请参阅使用本地快照。您还可以使用 Amazon Data Lifecycle Manager 自动执行本地快照的生命周期。有关更多信息,请参阅在 Outpost 上自动执行快照

6. 如果我的 Outpost 失去了与其区域的连接,我可以创建、使用或删除本地快照吗?

不可以。Outpost 必须与其区域建立连接,因为该区域提供对快照的运行状况至关重要的访问、授权、日志记录和监控服务。如果没有连接,则您无法创建新的本地快照、创建卷或从现有本地快照实例启动实例,也无法删除本地快照。

7. 删除本地快照多久后 Amazon S3 存储容量可供使用?

Amazon S3 存储容量在删除引用它们的本地快照和卷后 48 小时内可供使用。

8. 我如何确保不会在我的 Outpost 上耗尽 Amazon S3 容量?

我们建议您使用 Amazon CloudWatch 警报来监控 Amazon S3 存储容量,并删除不再需要的快照和卷,以避免存储容量耗尽。如果您在使用 Amazon Data Lifecycle Manager 自动执行本地快照的生命周期,请确保快照保留策略保留快照的时间不超过所需时长。

9. 我能否将本地快照以及由本地快照支持的 AMI 与竞价型实例和竞价型队列一起使用?

不能,您不能使用本地快照以及由本地快照支持的 AMI 启动竞价型实例或竞价型队列。

10. 我是否可以对本地快照及由本地快照支持的 AMI 使用 Amazon EC2 Auto Scaling?

是的,您可以使用本地快照及由本地快照支持的 AMI,在与快照位于同一个 Outpost 的子网中启动 Auto Scaling 组。Amazon EC2 Auto Scaling 组服务相关角色必须具有使用用于加密快照的 KMS 密钥 的权限。

您不能使用本地快照或由本地快照支持的 AMI 在 AWS 区域中启动 Auto Scaling 组。

Prerequisites

要在 Outpost 上存储快照,您必须拥有配置了 Amazon S3 on Outposts 的 Outpost。有关 Outposts 上的 Amazon S3 的更多信息,请参阅Amazon Simple Storage Service 开发人员指南中的使用 Amazon S3 on Outposts

Considerations

使用本地快照时请记住以下事项。

  • Outpost 必须具有与其 AWS 区域的连接才能使用本地快照。

  • 快照元数据存储在与 Outpost 关联的 AWS 区域中。其中不包括任何快照数据。

  • 存储在 Outpost 上的快照默认处于加密状态。不支持非加密快照。在 Outpost 上创建的快照和复制到 Outpost 的快照,将使用区域的默认 KMS 密钥 或您在请求时指定的其他 KMS 密钥 进行加密。

  • 当您从 本地快照 在 Outpost 上创建卷时,不能使用其他 KMS 密钥 对卷重新加密。从 本地快照 创建的卷必须使用与源快照相同的 KMS 密钥 进行加密。

  • 从 Outpost 中删除本地快照后,删除的快照所使用的 Amazon S3 存储容量将在 48 小时内可供使用。有关更多信息,请参阅删除本地快照

  • 您不能从 Outpost 导出本地快照。

  • 您不能为本地快照启用快速快照还原。

  • EBS 直接 API 不支持本地快照。

  • 您不能将本地快照或 AMI 从 Outpost 复制到某个 AWS 区域、在 Outpost 之间或在 Outpost 内复制。但是,您可以将快照从 AWS 区域复制到 Outpost。有关更多信息,请参阅将快照从 AWS 区域复制到 Outpost

  • 将快照从 AWS 区域复制到 Outpost 时,数据将通过服务链路传输。同时复制多个快照可能会影响在 Outpost 上运行的其他服务。

  • 您不能共享本地快照。

  • 您必须使用 IAM 策略来确保满足数据驻留要求。有关更多信息,请参阅使用 IAM 控制访问

  • 本地快照执行增量备份。只保存卷中在最近快照之后发生更改的数据块。每个本地快照都包含将数据(拍摄快照时存在的数据)还原到新 EBS 卷所需的全部信息。有关更多信息,请参阅增量快照的工作方式

  • 您不能使用 IAM 策略为 CopySnapshotCopyImage 操作执行数据驻留。

使用 IAM 控制访问

您可以使用 AWS Identity and Access Management (IAM) 策略来控制委托人(AWS账户、IAM 用户和 IAM 角色)在使用本地快照时拥有的权限。以下示例策略可用于授予或拒绝对本地快照执行特定操作的权限。

重要

目前不支持将快照和映像从 Outpost 复制到区域。因此,您目前无法使用 IAM 策略为 CopySnapshotCopyImage 操作执行数据驻留。

为快照执行数据驻留

以下示例策略禁止所有委托人从 Outpost arn:aws:outposts:us-east-1:123456789012:outpost/op-1234567890abcdef 上的卷和实例创建快照并将快照数据存储在 AWS 区域中。委托人仍然可以创建本地快照。此策略可确保所有快照都保留在 Outpost 上。

{ "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": "*" } ] }

禁止委托人删除本地快照

以下示例策略禁止所有委托人删除存储在 Outpost arn:aws:outposts:us-east-1:123456789012:outpost/op-1234567890abcdef0 上的本地快照。

{ "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": "*" } ] }

使用本地快照

下面几节介绍如何使用本地快照。

存储快照的规则

以下规则适用于快照存储:

  • 如果卷的最新快照存储在某个 Outpost 中,则所有后续快照都必须存储在同一个 Outpost 中。

  • 如果卷的最新快照存储在某个 AWS 区域中,则所有后续快照都必须存储在同一区域中。要开始从该卷创建本地快照,请执行以下操作:

    1. 在 AWS 区域中创建卷的快照。

    2. 将快照从 AWS 区域复制到 Outpost。

    3. 从本地快照创建新卷:

    4. 将卷附加到 Outpost 上的实例。

    对于 Outpost 上的新卷,下一个快照可以存储在 Outpost 或 AWS 区域中。然后必须将所有后续快照存储在同一位置。

  • 本地快照,包括在 Outpost 上创建的快照以及从 AWS 区域复制到 Outpost 的快照,只能用于在同一个 Outpost 上创建卷。

  • 如果您从某个区域中的快照在 Outpost 上创建卷,则该新卷的所有后续快照都必须位于同一区域中。

  • 如果您从本地快照在 Outpost 上创建卷,则该新卷的所有后续快照都必须位于同一个 Outpost 中。

从 Outpost 上的卷创建本地快照

您可以从 Outpost 上的卷创建本地快照。您可以选择将快照存储在源卷所在的同一 Outpost 中,也可以选择将快照存储在 Outpost 的区域中。

本地快照只能用于在同一个 Outpost 上创建卷。

您可以使用以下方法之一从 Outpost 上的卷创建本地快照。

Console

从 Outpost 上的卷创建本地快照

通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  1. 在导航窗格中,选择 Volumes

  2. 选择 Outpost 上的卷,依次选择 Actions (操作)Create Snapshot (创建快照)

  3. (可选)对于 Description (描述),输入对快照的简短描述。

  4. 对于 Snapshot destination (快照目标),选择 AWS Outpost。快照将在源卷所在的同一 Outpost 上创建。Outpost ARN 字段显示了目标 Outpost 的亚马逊资源名称 (ARN)。

  5. (可选)选择添加标签以向快照添加标签。对于每个标签,提供标签键和标签值。

  6. 选择 Create Snapshot (创建快照)

Command line

从 Outpost 上的卷创建本地快照

使用 create-snapshot 命令。指定要从中创建快照的卷的 ID,以及存储快照的目标 Outpost 的 ARN。如果省略 Outpost ARN,则快照将存储在该 Outpost 的 AWS 区域中。

例如,以下命令创建卷 vol-1234567890abcdef0 的本地快照,然后将快照存储在 Outpost arn:aws:outposts:us-east-1:123456789012:outpost/op-1234567890abcdef0 上。

$ aws ec2 create-snapshot --volume-id vol-1234567890abcdef0 --outpost-arn arn:aws:outposts:us-east-1:123456789012:outpost/op-1234567890abcdef0 --description "single volume local snapshot"

从 Outpost 上的实例创建多卷本地快照

您可以从 Outpost 上的实例创建崩溃一致性多卷本地快照。您可以选择将快照存储在源实例所在的同一 Outpost 中,也可以存储在 Outpost 的区域中。

多卷本地快照只能用于在同一个 Outpost 上创建卷。

您可以使用以下方法之一从 Outpost 上的实例创建多卷本地快照。

Console

从 Outpost 上的实例创建多卷本地快照

打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  1. 在导航窗格中,选择 Snapshots (快照)

  2. 选择 Create Snapshot (创建快照)

  3. 对于选择资源类型,选择实例

  4. 对于 Instance ID (实例 ID),在 Outpost 上选择要从中创建快照的实例。

  5. (可选)对于 Description (描述),输入对快照的简短描述。

  6. 对于 Snapshot destination (快照目标),选择 AWS Outpost。快照将在源实例所在的同一 Outpost 上创建。前 Outpost ARN (哨站 ARN) 显示了目标 Outpost 的 ARN。

  7. (可选)要从快照中排除根卷,选择 Exclude root volume (排除根卷)

  8. (可选)要从源卷向快照自动复制标签,选择 Copy tags from volume (从卷复制标签)。这将设置快照元数据(如访问策略、附件信息和成本分配)以匹配源卷。

  9. (可选)选择添加标签以向快照添加标签。对于每个标签,提供标签键和标签值。

  10. 选择 Create Snapshot (创建快照)

    快照创建期间,将一起管理快照。如果卷集中的某个快照失败,则卷集中的其他快照将移至错误状态。

Command line

从 Outpost 上的实例创建多卷本地快照

使用 create-snapshots 命令。指定要从中创建快照的实例的 ID,以及存储快照的目标 Outpost 的 ARN。如果省略 Outpost ARN,则快照将存储在 Outpost 的 AWS 区域中。

例如,以下命令创建附加到实例 i-1234567890abcdef0 的卷的快照,并将快照存储在 Outpost arn:aws:outposts:us-east-1:123456789012:outpost/op-1234567890abcdef0 上。

$ aws ec2 create-snapshots --instance-specification InstanceId=i-1234567890abcdef0 --outpost-arn arn:aws:outposts:us-east-1:123456789012:outpost/op-1234567890abcdef0 --description "multi-volume local snapshots"

从本地快照创建 AMI

您可以使用本地快照和存储在 Outpost 区域中的快照组合来创建 Amazon 系统映像 (AMI)。例如,如果您在 us-east-1 中有一个 Outpost,则可以使用由该 Outpost 上的本地快照支持的数据卷,以及由 us-east-1 区域中的快照支持的根卷来创建一个 AMI。

注意

您不能创建包含存储在多个 Outpost 中的备份快照的 AMI。

注意

目前,您无法使用 CreateImage API 或 Amazon EC2 控制台,为通过 Amazon S3 on Outposts 启用的 Outpost,直接从 Outpost 上的实例创建 AMI。

注意

由本地快照支持的 AMI 只能用于在同一个 Outpost 上启动实例。

从区域中的快照在 Outpost 上创建 AMI

  1. 将快照从区域复制到 Outpost。有关更多信息,请参阅将快照从 AWS 区域复制到 Outpost

  2. 通过 Amazon EC2 控制台或 register-image 命令使用 Outpost 上的快照副本创建 AMI。有关更多信息,请参阅从快照创建 AMI

从 Outpost 上的实例在 Outpost 上创建 AMI

  1. 从 Outpost 上的实例创建快照并将快照存储在该 Outpost 中。有关更多信息,请参阅从 Outpost 上的实例创建多卷本地快照

  2. 通过 Amazon EC2 控制台或 register-image 命令使用本地快照创建 AMI。有关更多信息,请参阅从快照创建 AMI

从 Outpost 上的实例在区域中创建 AMI

  1. 从 Outpost 上的实例创建快照并将快照存储在区域中。有关更多信息,请参阅 从 Outpost 上的卷创建本地快照从 Outpost 上的实例创建多卷本地快照

  2. 使用 Amazon EC2 控制台或 寄存器映像 命令使用区域中的快照副本创建 AMI。有关更多信息,请参阅从快照创建 AMI

将快照从 AWS 区域复制到 Outpost

您可以将快照从 AWS 区域复制到 Outpost。仅当快照位于 Outpost 的区域中时,才能执行此操作。如果快照位于其他区域,则必须先将快照复制到该 Outpost 的区域,再将其从该区域复制到该 Outpost。

您不能将本地快照从 Outpost 复制到某个区域、在 Outpost 之间或在 Outpost 内复制。

您可以使用以下方法之一将快照从区域复制到 Outpost。

Console

将快照从 AWS 区域复制到 Outpost

打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  1. 在导航窗格中,选择 Snapshots (快照)

  2. 在区域中选择快照,然后选择 Actions (操作)Copy (复制)

  3. 对于 Destination Region (目标区域),选择目标 Outpost 的区域。

  4. 对于 Snapshot Destination (快照目标),选择 AWS Outpost

    仅当您在所选目标区域中有 Outpost 时,才会显示 Snapshot Destination (快照目标)字段。如果该字段未显示,则表示选定的目标区域中没有任何 Outpost。

  5. 对于 Destination Outpost ARN (目标 Outpost ARN),输入要将快照复制到的 Outpost 的 ARN。

  6. (可选)对于 Description (描述),输入对复制的快照的简要描述。

  7. 默认情况下,快照副本启用加密。无法禁用加密。对于 KMS 密钥,选择要使用的 KMS 密钥。

  8. 选择 Copy (复制)

Command line

将快照从区域复制到 Outpost

使用 copy-snapshot 命令。指定要复制的快照的 ID、要从中复制快照的区域以及目标 Outpost 的 ARN。

例如,以下命令将快照 snap-1234567890abcdef0us-east-1 区域复制到 Outpost arn:aws:outposts:us-east-1:123456789012:outpost/op-1234567890abcdef0

$ aws ec2 copy-snapshot --source-region us-east-1 --source-snapshot-id snap-1234567890abcdef0 --destination-outpost-arn arn:aws:outposts:us-east-1:123456789012:outpost/op-1234567890abcdef0 --description "Local snapshot copy"

将 AMI 从 AWS 区域复制到 Outpost

您可以将 AMI 从 AWS 区域复制到 Outpost。当您将 AMI 从区域复制到 Outpost 时,与该 AMI 关联的所有快照都将从该区域复制到该 Outpost。

仅当与 AMI 关联的快照位于 Outpost 的区域中时,您才能将该 AMI 从该区域复制到该 Outpost。如果快照位于其他区域,则必须先将 AMI 复制到该 Outpost 的区域,再将其从该区域复制到该 Outpost。

您不能将 AMI 从 Outpost 复制到某个区域、在 Outpost 之间或在 Outpost 内复制。

您只能使用 AWS CLI 将 AMI 从区域复制到 Outpost。

Command line

将 AMI 从区域复制到 Outpost

使用 copy-image 命令。指定要复制的 AMI 的 ID、源区域和目标 Outpost 的 ARN。

例如,以下命令将 AMI ami-1234567890abcdef0us-east-1 区域复制到 Outpost arn:aws:outposts:us-east-1:123456789012:outpost/op-1234567890abcdef0

$ aws ec2 copy-image --source-region us-east-1 --source-image-id ami-1234567890abcdef0 --name "Local AMI copy" --destination-outpost-arn arn:aws:outposts:us-east-1:123456789012:outpost/op-1234567890abcdef0

从本地快照创建卷

您可以从本地快照在 Outpost 上创建卷。卷必须在源快照所在同一个 Outpost 上创建。您不能使用本地快照在 Outpost 的区域中创建卷。

从 本地快照 创建卷时,不能使用不同的 KMS 密钥 对卷重新加密。从 本地快照 创建的卷必须使用与源快照相同的 KMS 密钥 进行加密。

有关更多信息,请参阅从快照创建卷

从由本地快照支持的 AMI 启动实例

您可以从由本地快照支持的 AMI 启动实例。您必须在源 AMI 所在的同一 Outpost 中启动实例。有关更多信息,请参阅 AWS Outposts 用户指南中的在 Outpost 中启动实例

删除本地快照

您可以从 Outpost 中删除本地快照。从 Outpost 中删除快照后,已删除快照使用的 Amazon S3 存储容量将在删除快照和引用该快照的卷后 48 小时内可用。

由于 Amazon S3 存储容量不会立即可用,我们建议您使用 Amazon CloudWatch 警报来监控 Amazon S3 存储容量。应删除不再需要的快照和卷,以避免存储容量耗尽。

有关删除快照的更多信息,请参阅删除快照

在 Outpost 上自动执行快照

您可以创建 Amazon Data Lifecycle Manager 快照生命周期策略,使之自动创建、复制、保留和删除 Outpost 上卷和实例的快照。您可以选择是将快照存储在区域中,还是在 Outpost 上本地存储。此外,您还可以将在 AWS 区域中创建和存储的快照自动复制到 Outpost。

下表显示了支持的功能的概述。

资源位置 快照目标 跨区域复制 快速快照还原 跨账户共享
复制到区域 复制到 Outpost
Region Region
Outpost Region
Outpost Outpost

Considerations

  • 目前仅支持 Amazon EBS 快照生命周期策略。不支持由 EBS 支持的 AMI 策略和跨账户共享事件策略。

  • 如果有策略管理某个区域中卷或实例的快照,则快照将在源资源所在同一区域中创建。

  • 如果有策略管理 Outpost 上卷或实例的快照,则可以在源 Outpost 或该 Outpost 的区域中创建快照。

  • 单个策略无法同时管理区域中的快照和 Outpost 上的快照。如果您需要在区域和 Outpost 中自动执行快照,则必须分别创建策略。

  • 在 Outpost 上创建的快照或复制到 Outpost 的快照不支持快照还原。

  • 在 Outpost 上创建的快照不支持跨账户共享。

有关创建可管理本地快照的快照生命周期的更多信息,请参阅自动化快照生命周期