簡體   English   中英

如何發現同一ec2安全組中的所有實例

[英]How to discover all instances in the same ec2 security group

不幸的是,不可能將八卦協議用作ec2上的節點發現機制。

所以我需要找到一種方法來列出位於同一安全組中的節點的所有私有IP地址。 我想通過自動發現機制來做這件事。

更多細節

我有多個ec2實例運行所有相同的docker容器,但docker容器沒有安裝aws-cli。 因此,我正在尋找一種方法來檢測現有注冊表中的其他實例,或者至少沒有aws-cli作為依賴項。 在容器中運行的應用程序需要其他容器的ips相互連接。

describe-instancesfilter group-name或group-id配合使用。

來自: describe-instances

  • instance.group-id - 實例的安全組的ID。
  • instance.group-name - 實例的安全組的名稱。

使用安全組ID

aws ec2 describe-instances --filters "Name=instance.group-id,Values=sg-082b1234" --query 'Reservations[*].Instances[*].[PrivateIpAddress]' --output text

產量

10.1.1.24
10.1.1.49

使用安全組名稱

aws ec2 describe-instances --filters "Name=instance.group-name,Values=default" --query 'Reservations[*].Instances[*].[PrivateIpAddress]' --output text

產量

10.1.1.24
10.1.1.49

第一種方法是使用SDK(例如,AWS JAVA SDK)作為@Markb,@ helloV建議。

第二種方法是創建另一個可以運行aws-cli作為幫助程序實例的實例(例如,ip:222.222.222.222),然后你可以在docker實例中執行遠程aws cli命令來獲取實例IP

ssh centos@222.222.222.222 'YOUR_AWS_CLI_Command'

暫無
暫無

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

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