Подтвердить что ты не робот

Список общедоступных IP-адресов экземпляров EC2

Я хочу перечислить общедоступные IP-адреса моих экземпляров EC2 с помощью Bash, разделенных разделителем (пробелом или новой строкой).

Я попытался передать вывод jq с помощью aws ec2 describe-instances | jq, но не может изолировать только IP-адреса.

Можно ли это сделать только с помощью aws, указав аргументы jq или что-то еще?

4b9b3361

Ответ 1

Непосредственно из aws cli:

aws ec2 describe-instances \
  --query "Reservations[*].Instances[*].PublicIpAddress" \
  --output=text

Ответ 2

В приведенной ниже команде будут перечислены IP-адреса всех ваших экземпляров EC2

aws ec2 describe-instances | grep PublicIpAddress | grep -o -P "\d+\.\d+\.\d+\.\d+" | grep -v '^10\.'

Надеюсь, что ответ на ваш запрос.

Ответ 4

Вы можете использовать метаданные экземпляра, чтобы вы могли запустить следующую команду из экземпляра ec2:

curl http://169.254.169.254/latest/meta-data/public-ipv4

и он предоставит вам публичный IP-адрес экземпляра. Если вы хотите использовать частный IP-адрес, вы запустите

curl http://169.254.169.254/latest/meta-data/local-ipv4