【问题标题】:amazon EC2 command line interface not returning all my snapshotsamazon EC2 命令行界面不返回我所有的快照
【发布时间】:2015-05-01 18:24:53
【问题描述】:

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

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

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

【问题讨论】:

  • 你可以使用python boto。这很容易和简单。
  • 我会,但我必须专门使用批处理文件。这是我老板的要求。我们在 Windows 服务器上运行它,我们希望将安装的东西保持在最低限度。
  • @tec4 由于您在 Windows 上运行,是否可以选择 AWS CLI 或 AWS Tools for PowerShell?如果您使用的是 Amazon 创建的 AMI,则可能已经安装了其中一个或两个。
  • @HyperAnthony 这是一个选项!刚刚检查,我认为它出现在 AMI 上。我想我会更多地研究适用于 PowerShell 的 AWS 工具。 EC2 CLI 似乎有点限制。谢谢!
  • 当然。这是列出快照的好起点:docs.aws.amazon.com/powershell/latest/reference/items/…

标签: amazon-web-services amazon-ec2 aws-cli aws-powershell


【解决方案1】:

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

此示例描述了您创建的一组快照,并按“已完成”状态和您提供的 volumeId 进行过滤。它按 StartTime 排序。

# 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

文档:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-10
    • 2017-11-29
    • 2012-11-29
    • 2016-08-30
    • 2018-02-06
    相关资源
    最近更新 更多