Используя Amazon CLI, есть ли способ получить публичный IP-адрес текущего EC2? Я просто ищу единственное строковое значение, поэтому не возвращаются описания ответа json.
Получить общедоступный IP-адрес в текущем экземпляре EC2
Ответ 1
Интерфейс командной строки AWS можно использовать для возврата информации о любых/всех экземплярах Amazon EC2, например:
$ aws ec2 describe-instances --instance-ids i-0c9c9b44b --query 'Reservations[*].Instances[*].PublicIpAddress' --output text
54.232.200.77
Если вы запрашиваете информацию о экземпляре EC2, из которого вы выполняете команду, то текущий IP-адрес можно получить с помощью службы метаданных экземпляра:
$ curl http://169.254.169.254/latest/meta-data/
ami-id
ami-launch-index
ami-manifest-path
block-device-mapping/
hostname
iam/
instance-action
instance-id
instance-type
local-hostname
local-ipv4
mac
metrics/
network/
placement/
profile
public-hostname
public-ipv4
public-keys/
reservation-id
security-groups
services/
Таким образом, частный IP-адрес доступен через:
$ curl http://169.254.169.254/latest/meta-data/local-ipv4
172.31.10.221
общедоступный IP-адрес доступен через:
$ curl http://169.254.169.254/latest/meta-data/public-ipv4
54.232.200.77
Ответ 2
curl http://checkip.amazonaws.com
это возвращает публичный IP-адрес.
Ответ 3
Если вы внутри экземпляра -
$ curl icanhazip.com
162.202.17.123