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.
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
curl http://checkip.amazonaws.com
cela retourne l'adresse IP publique.
Si vous êtes dans l'instance -
$ curl icanhazip.com
162.202.17.123
Obtenez InstanceID attaché avec PublicIP.
aws ec2 describe-network-interfaces --query NetworkInterfaces[*].[Attachment.[InstanceId],Association.[PublicIp]] --output=json