Comment faire pour obtenir l'id d'instance à partir d'une instance ec2?
Comment puis-je trouver le instance id
d'une instance ec2 de l'intérieur de l'instance ec2?
Vous devez vous connecter pour publier un commentaire.
Comment puis-je trouver le instance id
d'une instance ec2 de l'intérieur de l'instance ec2?
Vous devez vous connecter pour publier un commentaire.
Voir l'EC2 de la documentation sur le sujet.
Exécuter:
Si vous avez besoin d'un accès programmatique pour l'ID d'instance à partir d'un script,
Un exemple d'une utilisation plus poussée (récupérer l'ID d'instance ainsi que de la disponibilité de la zone et de la région, etc.):
Vous pouvez également utiliser
curl
au lieu dewget
, selon ce qui est installé sur votre plate-forme.169.254.169.254
dans/etc/hosts
si cela vous fait vous sentir plus en sécurité, si vous... de soins.$
), trouver un ou plusieurs chiffres suivants par une ou plusieurs lettres minuscules. Suppléant avec les chiffres. (Barre oblique inverse + parenthèses dire sed à retenir une sous-chaîne, ce qui est rappelé par\1
.) J'ai trouvé cela un peu plus facile à lire, c'est la seule barres obliques inverses sont celles exigées par le sed:EC2_REGION="$(echo "$EC2_AVAIL_ZONE" | sed -e 's:\([0-9][0-9]*\)[a-z]*$:\1:')"
.http://instance-data/
au lieu de169.254.169.254
die
œuvres en perl, je pense, mais pas en bash que j'utilise sur EC2. Est-ce une commande, je devrais arriver à quelque chose, me semble utile.instance-data
ne sera disponible que si vous utilisez l'Amazone des résolveurs DNS - si vous ne l'êtes pas, il ne sera pas disponible. Il se résout à 169.254.169.254.Sur Amazon Linux AMIs que vous pouvez faire:
Ou, sur Ubuntu et quelques autres linux saveurs,
ec2metadata --instance-id
(Cette commande ne peut pas être installé par défaut sur ubuntu, mais vous pouvez l'ajouter avecsudo apt-get install cloud-utils
)Comme son nom l'indique, vous pouvez utiliser la commande pour obtenir d'autres métadonnées utiles aussi.
ec2metadata --instance-id
-
aprèsec2
. Il estec2metadata --instance-id
ec2-metadata
, sur Ubuntu, il semble êtreec2metadata
.Sur Ubuntu, vous pouvez:
Et vous pouvez alors:
Vous pouvez obtenir la plupart des métadonnées associées à l'instance de cette façon:
apt-get install
récupère la version 0.11-0ubuntu1 qui ne contient pas de cet utilitaire. Il a été ajouté au paquet juste après.Utiliser le
/dynamic/instance-identity/document
URL si vous avez aussi besoin de requêtes de plus que votre ID d'instance.wget -q -O - http://169.254.169.254/latest/dynamic/instance-identity/document
Cela vous aidera à JSON de données comme cela avec seulement un seule demande.
Pour
.NET
Personnes :sur AWS Linux:
ec2-metadata --instance-id | cut -d " " -f 2
De sortie:
i-33400429
À l'aide de variables:
ec2-metadata -i | sed 's/instance-id: //g'
Pour Python:
qui se résume à la one-liner:
Au lieu de local_hostname vous pouvez également utiliser public_hostname, ou:
new AWS.MetadataService().request('instance-id',function(error,data) { myInstanceId = data; })
Pour powershell personnes:
$instanceId=(Invoke-WebRequest -Uri 'http://169.254.169.254/latest/meta-data/instance-id').Content
Voir ce post - notez que l'adresse IP dans l'URL donnée est constante (ce qui me troublait au premier abord), mais les données renvoyées sont spécifiques à votre instance.
Pour tous ec2 machines, l'instance-id peut être trouvé dans le fichier:
Vous pouvez également obtenir l'id d'instance en exécutant la commande suivante:
Plus contemporains solution.
De Amazon Linux de l'ec2-métadonnées de commande est déjà installé.
À partir du terminal
Vous donnera les options disponibles
sera de retour
ec2-metadata
avec votremotd
, docs ici: coderwall.com/p/hr_9pw/motds-on-amazon-amisIl Suffit De Taper:
Vous pouvez essayer ceci:
Pour Ruby:
Un c# .net classe, j'ai écrit pour EC2 métadonnées à partir de l'api http.
Je vais le construire avec des fonctionnalités au besoin. Vous pouvez exécuter avec si vous le souhaitez.
La dernière version de Java SDK a
EC2MetadataUtils
:En Java:
En Scala:
Pour C++ (à l'aide de cURL):
Si vous voulez obtenir les toutes disponibles id d'instance de la liste à l'aide de python voici le code:
FWIW, j'ai écrit un FUSIBLE du système de fichiers à fournir l'accès au service des métadonnées EC2: https://bitbucket.org/dgc/ec2mdfs .
Je l'exécuter sur tous les AMIs; il me permet d'utiliser ce langage: cat /ec2/méta-données/ami-id
En déplacement, vous pouvez utiliser le goamz paquet.
Voici la GetMetaData source.
Il suffit de cocher la
var/lib/cloud/instance
lien symbolique, il doit pointer vers/var/lib/cloud/instances/{instance-id}
où{instance_id}
est votre instance-id.Vous pouvez simplement faire une requête HTTP pour OBTENIR toutes les Métadonnées en passant par les métadonnées et les paramètres.
ou
Vous ne serez pas facturé pour les requêtes HTTP pour obtenir des Métadonnées et des données de l'Utilisateur.
D'autre
Vous pouvez utiliser des Métadonnées d'Instance EC2 Outil de Requête qui est un simple script bash qui utilise curl à la requête de l'instance EC2 Métadonnées à partir en cours d'instance EC2 comme indiqué dans la documentation.
Télécharger l'outil:
maintenant exécuter la commande pour obtenir les données requises.
Consulter:
http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html
https://aws.amazon.com/items/1825?externalID=1825
Heureux De Vous Aider.. 🙂
Dans la question, vous avez mentionné l'utilisateur en tant que root, une chose que je dois mentionner, c'est que l'ID de l'instance ne dépend pas de l'utilisateur.
Pour Nœud développeurs,
Approche Alternative pour PHP:
Qui va fournir une grande quantité de données sur l'instance, le tout joliment emballé dans un tableau, sans dépendances externes.
Comme c'est une demande qui n'a jamais manqué ou retardé pour moi il doit être sûr pour le faire de cette façon, sinon j'irais pour curl()
Pour PHP:
Édition par @John
Exécuter ceci:
Vous serez en mesure de voir les différents types d'attributs qui sont fournis par aws.
Utilisez ce lien pour afficher plus
Toutes les méta-données liées à l'EC2 ressources peuvent être consultées par l'instance EC2 lui-même avec l'aide de la commande suivante en cours d'exécution:
CURL :
Pour votre cas: "métadonnées demandé" doit être instance-id , "api-version" est généralement dernière qui peuvent être utilisés.
Supplémentaires Remarque: Vous pouvez également obtenir des informations liées à ci-dessous EC2 attributs à l'aide de la commande ci-dessus.
ami-id,
ami-lancement de l'index,
ami-manifeste-chemin,
bloc-appareil-mapping/,
nom d'hôte,
iam/,
exemple-action,
instance-id,
exemple-type,
local-nom d'hôte,
local ipv4,
mac,
les métriques/,
réseau/,
placement/,
de profil,
public-nom d'hôte,
public-ipv4,
public-touches/,
réservation-id,
sécurité-groupes,
services/,
Pour plus de détails, veuillez suivre ce lien : https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html
Pour obtenir les métadonnées de l'instance utilisation
Pour une instance de Windows:
ou
Pour AWS elastic beanstalk eb cli exécuter
eb tags --list
Vous pouvez également installer awscli et l'utiliser pour obtenir toutes les informations que vous souhaitez:
Vous aurez beaucoup de sortie afin d'être sûr de grep par votre idetifier comme l'adresse ip et imprimer plus de lignes: