Amazon-Ec2

AWS EC2 描述實例 - 按多個 EC2 標籤過濾?

  • May 24, 2016

我正在嘗試使用我的所有 ec2 實例私有 ip 動態創建主機文件映射,以用作我的 ec2 遠端 ssh 伺服器上的 /etc/hosts。

我有實例標記有它們的正常“名稱”,例如。prod-database-01 和“別名”標籤,例如。db-01。目標是能夠在我的 ssh 框中使用“ssh db-01”並擁有正確的映射,即使伺服器剛剛啟動或自動縮放。

對於狀態為“正在執行”的任何實例,即。活動伺服器,我試圖讓 cli 將名稱、別名和私有 IP 地址輸出到 JSON 或類似的東西,然後我可以為其創建一個主機文件。

但是,我一直在嘗試輸出第二個“別名”標籤。

到目前為止,這就是我所擁有的輸出“名稱”、“私有IP”、“狀態”的內容。

想知道如何迭代並輸出額外的別名標籤嗎?

aws ec2 describe-instances --filters "Name=instance-state-name,Values=running" --query 'Reservations[].Instances[].[ [Tags[?Key==Name].Value][0][0],PrivateIpAddress,State.Name ]' --output json

如果您像執行名稱查詢一樣添加別名標記查詢,它應該可以工作:

aws ec2 describe-instances --filters  "Name=instance-state-name,Values=running" --query 'Reservations[].Instances[].[ [Tags[?Key==`Name`].Value][0][0],[Tags[?Key==`Alias`].Value][0][0],PrivateIpAddress,State.Name ]' --output json

引用自:https://serverfault.com/questions/778426