使用快照归档 - Amazon EBS

使用快照归档

归档快照

您可以归档任何状态为 completed 的快照,以及自己账户中的快照。您无法归档状态为 pendingerror 的快照,以及与您共享的快照。有关更多信息,请参阅注意事项和限制

如果快照与一个或多个 AMI 关联,则必须先禁用这些关联的 AMI,然后才能归档快照。有关更多信息,请参阅禁用 AMI

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

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

您可以使用以下方法归档快照。

Console
归档快照

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

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

  2. 在快照列表中,选择需归档快照,然后选择 Actions(操作)、Archive snapshot(归档快照)。

  3. 如要确认,请选择 Archive snapshot(归档快照)。

AWS CLI
归档快照

使用 modify-snapshot-tier AWS CLI 命令。对于 --snapshot-id,请指定需归档快照的 ID。对于 --storage-tier,请指定 archive

$ aws ec2 modify-snapshot-tier \ --snapshot-id snapshot_id \ --storage-tier archive

例如,以下命令可以归档快照 snap-01234567890abcedf

$ aws ec2 modify-snapshot-tier \ --snapshot-id snap-01234567890abcedf \ --storage-tier archive

该命令将显示以下输出。响应参数 TieringStartTime 以 UTC 时间格式(YYYY-MM-DDTHH:MM:SSZ)表示归档过程的启动日期和时间。

{ "SnapshotId": "snap-01234567890abcedf", "TieringStartTime": "2021-09-15T16:44:37.574Z" }

还原已归档的快照

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

还原快照时,可以选择使用以下两种方式还原快照:permanently(永久)或 temporarily(暂时)。

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

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

如果您要还原与已禁用的 AMI 关联的快照,并且打算使用该 AMI,则必须先永久还原所有关联的快照,再重新启用已禁用的 AMI,然后才能使用该 AMI。如果关联的快照已暂时恢复,则无法启用 AMI。您可以使用以下命令来查找与 AMI 关联的所有快照。

$ C:\> aws ec2 describe-images --image-id ami_id \ --query Images[*].BlockDeviceMappings[*].Ebs[].SnapshotId[]

您可以使用以下方法还原归档快照。

Console
从归档中还原快照

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

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

  2. 在快照列表中,选择要还原的归档快照,然后选择 Actions(操作)、Restore snapshot from archive(从归档还原快照)。

  3. 指定要执行的还原类型。在 Restore type(还原类型)中,执行下列操作之一:

    • 要永久还原快照,请选择 Permanent(永久)。

    • 要临时还原快照,请选择 Temporary(临时),然后在 Temporary restore period(临时还原期)中,输入要还原快照的天数。

  4. 要确认,请选择 Restore snapshot(还原快照)。

AWS CLI
永久还原已归档的快照

使用 restore-snapshot-tier AWS CLI 命令。对于 --snapshot-id,请指定要还原的快照的 ID,并包括 --permanent-restore 选项。

$ aws ec2 restore-snapshot-tier \ --snapshot-id snapshot_id \ --permanent-restore

例如,以下命令可永久还原快照 snap-01234567890abcedf

$ aws ec2 restore-snapshot-tier \ --snapshot-id snap-01234567890abcedf \ --permanent-restore

该命令将显示以下输出。

{ "SnapshotId": "snap-01234567890abcedf", "IsPermanentRestore": true }
临时还原已归档的快照

使用 restore-snapshot-tier AWS CLI 命令。忽略 --permanent-restore 选项。对于 --snapshot-id,请指定要还原的快照的 ID,以及在 --temporary-restore-days 中指定要还原快照的天数。

--temporary-restore-days 必须以天为单位指定。允许范围是 1180。如果没有指定一个值,默认为 1 天。

$ aws ec2 restore-snapshot-tier \ --snapshot-id snapshot_id \ --temporary-restore-days number_of_days

例如,以下命令会临时还原快照 snap-01234567890abcedf,还原期为 5 天。

$ aws ec2 restore-snapshot-tier \ --snapshot-id snap-01234567890abcedf \ --temporary-restore-days 5

该命令将显示以下输出。

{ "SnapshotId": "snap-01234567890abcedf", "RestoreDuration": 5, "IsPermanentRestore": false }

修改临时还原快照的还原期或还原类型

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

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

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

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

注意

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

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

您可以使用以下方法修改快照的还原期。

Console
修改还原期或还原类型

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

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

  2. 在快照列表中,选择此前暂时还原的快照,然后选择 Actions(操作)、Restore snapshot from archive(从归档还原快照)。

  3. Restore type(还原类型)中,执行下列操作之一:

    • 要将还原类型从临时更改为永久,请选择 Permanent(永久)。

    • 要延长或缩短还原期,请保留 Temporary(临时),然后在 Temporary restore period(临时还原期)中输入新的还原期(以天为单位)。

  4. 要确认,请选择 Restore snapshot(还原快照)。

AWS CLI
修改还原期或还原类型

使用 restore-snapshot-tier AWS CLI 命令。对于 --snapshot-id,请指定之前临时还原的快照的 ID。要将还原类型从临时更改为永久性,请指定 --permanent-restore 并忽略 --temporary-restore-days。要延长或缩短还原期,请省略 --permanent-restore,而且对于 --temporary-restore-days,请指定新的还原期(以天为单位)。

例如:延长或缩短还原期

以下命令把快照还原期从 snap-01234567890abcedf 改到 10 天。

$ aws ec2 restore-snapshot-tier \ --snapshot-id snap-01234567890abcedf --temporary-restore-days 10

该命令将显示以下输出。

{ "SnapshotId": "snap-01234567890abcedf", "RestoreDuration": 10, "IsPermanentRestore": false }
示例:将还原类型更改为永久

以下命令把快照 snap-01234567890abcedf 的还原类型从临时更改为永久。

$ aws ec2 restore-snapshot-tier \ --snapshot-id snap-01234567890abcedf --permanent-restore

该命令将显示以下输出。

{ "SnapshotId": "snap-01234567890abcedf", "IsPermanentRestore": true }

查看归档快照

您可以使用以下方法查看快照的存储层信息。

Console
查看快照的存储层信息

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

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

  2. 在快照列表中,选择快照,然后选择 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 AWS CLI 命令。请指定 snapshot-id 筛选条件,请指定快照 ID 为筛选条件值。或者,要查看所有归档的快照,请省略筛选条件。

$ aws ec2 describe-snapshot-tier-status --filters "Name=snapshot-id, Values=snapshot_id"

输出包括以下响应参数:

  • Status – 快照的状态。归档快照的状态始终为 completed。只有状态为 completed 的快照可以归档。

  • LastTieringStartTime – 归档过程开始的日期和时间,采用 UTC 时间格式(YYYY-MM-DDTHH:MM:SSZ)。

  • LastTieringOperationState – 归档过程的当前状态。可能的状态包括:archival-in-progress | archival-completed | archival-failed | permanent-restore-in-progress | permanent-restore-completed | permanent-restore-failed | temporary-restore-in-progress | temporary-restore-completed | temporary-restore-failed

  • LastTieringProgress – 快照归档过程的进度,以百分比表示。

  • StorageTier – 快照的存储层。归档快照的状态始终为 archive,以及存储在标准层上的快照的状态始终为 standard,包括临时还原的快照。

  • ArchivalCompleteTime – 归档过程完成的日期和时间,采用 UTC 时间格式(YYYY-MM-DDTHH:MM:SSZ)。

示例

以下命令显示有关快照 snap-01234567890abcedf 的信息。

$ aws ec2 describe-snapshot-tier-status --filters "Name=snapshot-id, Values=snap-01234567890abcedf"

该命令将显示以下输出。

{ "SnapshotTierStatuses": [ { "Status": "completed", "ArchivalCompleteTime": "2021-09-15T17:33:16.147Z", "LastTieringProgress": 100, "Tags": [], "VolumeId": "vol-01234567890abcedf", "LastTieringOperationState": "archival-completed", "StorageTier": "archive", "OwnerId": "123456789012", "SnapshotId": "snap-01234567890abcedf", "LastTieringStartTime": "2021-09-15T16:44:37.574Z" } ] }
查看归档和标准层快照

使用 describe-snapshot AWS CLI 命令。对于 --snapshot-ids,请指定快照视图的 ID。

$ aws ec2 describe-snapshots --snapshot-ids snapshot_id

例如,以下命令显示有关快照 snap-01234567890abcedf 的信息。

$ aws ec2 describe-snapshots --snapshot-ids snap-01234567890abcedf

该命令将显示以下输出。响应参数 StorageTier 说明快照当前是否已归档。archive 表示快照当前已归档并存储在归档层中,而 standard 表示快照当前尚未归档,并且存储在标准层中。

在以下示例输出中,只有 Snap A 已归档。Snap BSnap 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-snapshot AWS CLI 命令。包括 --filter 选项,请指定 storage-tier 为筛选条件名称,请指定 archivestandard 为筛选条件值。

$ aws ec2 describe-snapshots --filters "Name=storage-tier,Values=archive|standard"

例如,以下命令只显示归档快照。

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