web-dev-qa-db-fra.com

Obtenir une adresse IP publique sur l'instance EC2 actuelle

À l'aide d'Amazon CLI, existe-t-il un moyen d'obtenir l'adresse IP publique de l'EC2 actuel? Je cherche simplement la valeur de chaîne unique, donc pas la réponse json.

44
obautista

L'interface de ligne de commande AWS peut être utilisé pour renvoyer des informations sur toutes les instances Amazon EC2, par exemple:

$ aws ec2 describe-instances --instance-ids i-0c9c9b44b --query 'Reservations[*].Instances[*].PublicIpAddress' --output text

54.232.200.77

Si vous recherchez des informations sur l'instance EC2 à partir de laquelle vous exécutez la commande, vous pouvez obtenir l'adresse IP actuelle via service de métadonnées d'instance :

$ 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/

Ainsi, l'adresse IP privée est disponible via:

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

172.31.10.221

L'adresse IP publique est disponible via:

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

54.232.200.77
72
John Rotenstein
curl http://checkip.amazonaws.com

cela retourne l'adresse IP publique.

12
Duke Dougal

Si vous êtes dans l'instance -

$ curl icanhazip.com
162.202.17.123
1
markroxor

Obtenez InstanceID attaché avec PublicIP.

aws ec2 describe-network-interfaces --query NetworkInterfaces[*].[Attachment.[InstanceId],Association.[PublicIp]] --output=json
0
Raghvendra Soni