亚马逊 EC2 命令行界面没有返回我所有的快照

amazon EC2 command line interface not returning all my snapshots

所以我的任务是创建一个批处理脚本来处理创建和删除我们其中一台服务器的快照。好吧,我的大部分工作正常,但我遇到的问题是试图列出超过 11 个快照。我们在一个卷上有超过 200 个快照。

我试过 ec2-describe-snapshots -F "volume-id=vol-12345" -F "status=completed"|sort /R /+49 当然,其中 vol-12345 是我的卷 ID。这确实按我需要的日期进行了正确的排序,但它仍然只有 returns 11 个快照。我还尝试在最后抛出一个 -a 以防有任何私人快照,但我仍然只得到 11.

我确实看到了这个 post: how to list all the snapshots created from a single volume ID EC2 instance 但这并没有完全回答我关于如何显示超过 11 个快照的问题。对此的任何帮助将不胜感激!谢谢

这是一个替代方法,使用适用于 PowerShell 的 AWS 工具。如果您的 Windows EC2 基于 Amazon 提供的 AMI,则应该已经安装了此实用程序。

此示例描述了您创建的快照集合,并按状态 "completed" 和您提供的 volumeId 进行过滤。它按开始时间排序。

# Create a filter to limit by status = completed
$filterByStatusCompleted = New-Object Amazon.EC2.Model.Filter -Property @{Name = "status"; Value = "completed"}
# Create a filter to limit by specific volume ID
$filterByVolumeId = New-Object Amazon.EC2.Model.Filter -Property @{Name = "volume-id"; Value = "vol-11111111"}

# Describe the collection of snapshots, sorted by StartTime
Get-EC2Snapshot -OwnerIds self -Filter $filterByStatusCompleted, $filterByVolumeId | Sort -Property StartTime

文档: