Méthode de recherche d'instances attaché à ELB
Je suis en utilisant le Amazon AWS ELB outils de ligne de commande. Est-il un moyen de trouver les instances attaché à un particulier, Elastic Load Balancer (ELB)?
Il vous donne les id d'instance.
aws - elb describe-load-balancers --load-balancer-name 'myelb' --query LoadBalancerDescriptions[*].Instances
OriginalL'auteur sheki | 2010-09-16
Vous devez vous connecter pour publier un commentaire.
2013/12/18: Pour mettre à jour et depuis les liens sont morts!
J'ai installé la nouvelle AWS outils cli:
Puis a couru:
Ces données sont enregistrées dans
~/.aws/config
.Puis je peux trouver des instances connecté à un loadbalancer comme suit:
Les données sont dans
LoadBalancerDescriptions.Instances
.Mon loadbalancer est appelé
my-name
— c'est le nom que vous avez sélectionné lorsque vous avez créé.Vieux-réponse ci-dessous!
Je ne suis pas familier avec les outils cli, mais j'ai utilisé l'API.
J'aimerais vérifier ces deux demandes:
DescribeLoadBalancers
DescribeInstanceHealth
La cli outil a probablement quelque chose à ressembler à ces?
HTH!
Il y a un
<Instances/>
dans l'exemple de réponse pourDescribeLoadbalancers
dans les docs. Si cela ne fonctionne pas, essayezDescribeInstanceHealth
? Elle prend deux paramètres - liste facultative de cas et un équilibreur de charge nom. À partir de ce que je comprends, ce doit def. retour à tous d'entre eux si vous omettez une liste des instances, et il suffit de fournir le nom de la loadbalancer.Les deux liens sont morts.
Il vous donne les id d'instance.
aws - elb describe-load-balancers --load-balancer-name 'myelb' --query LoadBalancerDescriptions[*].Instances
OriginalL'auteur Till
En supposant que vous avez aws-cli et jq installé, vous pouvez utiliser la commande suivante pour obtenir associée instance ec2 id:
Ce sera le retour de la ec2 id associé à cette ELB.
Note de côté: je vous recommande le programme d'installation aws cli profils de sorte que vous n'avez pas à jouer avec les variables d'environnement et de la région params (comme beaucoup).
OriginalL'auteur Mike D
Parce que j'aime les réponses qui peuvent être utilisés avec un minimum de recherche/remplacement et de copier coller
Conditions préalables : aws-cli configuré
Configurer : votre ELB nom
Copier-n-Coller dans le terminal
Va afficher une liste des adresses ip Publiques. Vous pouvez également exécuter la requête à l'intérieur de la parenthèse de la
for ID in $(...)
pour obtenir juste l'Id d'instanceVoulez quelque chose de différent ?
N'hésitez pas à jeter un oeil à la structure de
et modifier la requête en conséquence!
OriginalL'auteur Cyril Duchon-Doris
Si quelqu'un arrive ici à partir d'une recherche sur le pourquoi de la
elb-describe-lbs
commande ne retourne rien, quand ils ont ELBs et en cours d'exécution, ce que j'ai réalisé a été j'ai besoin d'ajouterEC2_REGION=eu-west-1
de mes variables d'environnement (ou utilisezelb-describe-lbs --region
commande)OriginalL'auteur CharlesA
Si vous voulez voir tous vos ELB et les instances attaché utilisation JMESPath comme ceci:
Résultat
Si vous connaissez le nom de la ELB et que vous voulez voir ce qui s'y rattache utilisation JMESPath comme ceci:
Résultat:
LoadBalancerName
àID
, puis àELB
. Cette deuxième partie de la--query
paramètre peut être retiré:aws elb describe-load-balancers --query "LoadBalancerDescriptions[].{LoadBalancerName:LoadBalancerName,InstanceId:Instances[].InstanceId}" --output=json
OriginalL'auteur Colin MacKenzie - III
remplacer INSTANCEID avec de l'instance réelle id
aws elb describe-load-balancers --query "LoadBalancerDescriptions[*].{ID:LoadBalancerName,InstanceId:Instances[?InstanceId=='INSTANCEID'].InstanceId}[*].{ID:ID,InstanceId:InstanceId[0]}" --output=text | grep INSTANCEID | awk '{print $1}'
OriginalL'auteur Art
Dans node.js vous pouvez le faire en utilisant
aws-sdk
.data.LoadBalancerDescriptions
est un tableau et chaque élément du tableau est un objet dont la propriétéInstances
qui a l'id d'instance.OriginalL'auteur rohithpr
Vous pouvez faire une boucle fosse toutes vous équilibreur de charge id d'instance comme suit:
Vous pouvez faire une boucle creux de votre équilibreurs de charge des noms comme suit :
À condition que vous avez configuré votre aws cli :
src: http://docs.aws.amazon.com/cli/latest/topic/config-vars.html
cat << "expressions du FOLKLORE" > ~/.aws/config
Et configuré vos informations d'identification de sécurité:
OriginalL'auteur Yordan Georgiev
D'abord faire
elb-describe-lbs
pour obtenir une liste de vos équilibreurs de charge et de leurs noms.Puis faire
elb-describe-instance-health <LB_NAME>
pour obtenir une liste des instances derrière un répartiteur de charge. LB_NAME est la valeur de la 2e colonne de la sortie deelb-describe-lbs
.elb-describe-lbs
est certainement pas disponible dans ma console.Cela peut avoir été correct en 2013, mais aujourd'hui, les commandes sont
aws elb describe-load-balancers
etaws elb describe-instance-health
OriginalL'auteur ErJab
Vous pouvez utiliser AWS outils en ligne de commande avec certains bash tuyauterie:
Cela vous donnera le public de nom DNS pour chaque instance attaché à la ELB, vous pouvez modifier le awk colonnes, respectivement, pour obtenir d'autres détails.
OriginalL'auteur Alaa Qutaish