簡體   English   中英

列出所有正在運行的沒有任何快照的 EC2 實例

[英]List all running EC2 instances without any snapshots

有誰知道 AWS CLI 命令會列出任何沒有可用快照的正在運行的實例(針對特定區域運行)。

我發現嘗試的最接近的命令是這樣的:

aws ec2 describe-snapshots --owner-ids self  --query 'Snapshots[]' --region=us-east-1

我實際上沒有得到任何回報 - 只是:

-------------------
|DescribeSnapshots|
+-----------------+

這應該為每個實例命名每個 EC2 快照——所以我必須從整個 EC2 清單中減去這些快照以顯示沒有的 EC2 實例。

因此 - 我想要一個命令來顯示正在運行的 EC2 實例而沒有任何可用的快照 - 這樣我就可以在未來進行一些准備。

Amazon EBS 快照與 Amazon EBS 卷相關聯,后者與 Amazon EC2 實例相關聯。

因此,您需要使用 AWS SDK(我會使用 Python,但有很多可用的)編寫一個程序:

  • 獲取所有EBS 快照的列表(確保您使用等同於--owner-ids self ),其中返回數據將包括關聯的 EBS VolumeId
  • 獲取所有EBS Volumes的列表,其中返回數據將包含Attachments.InstanceId
  • 獲取所有正在運行的EC2 實例的列表

執行一些循環邏輯來查找沒有快照的卷,然后確定哪些實例與這些卷相關聯。

請注意,與其查找“沒有快照的實例” ,不如查找“具有沒有快照的卷的實例”

我認為默認情況下沒有允許您執行此操作的 CLI 命令。 例如,您可以使用實例 ID 標記快照,然后可以通過對標記進行過濾來查詢快照。 或者您將不得不使用 AWS SDK 並創建一個自定義腳本以允許您獲取所有實例,然后檢查它們的卷 ID 是否創建了快照。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM