Comment voir toutes les instances Amazon EC2 dans toutes les régions?
Je switch entre les différentes régions fréquemment et parfois j'oublie d'éteindre mon instance en cours d'exécution d'une région différente. Je ne pouvais pas trouver n'importe quel moyen de voir toutes les instances en cours d'exécution sur Amazon console.
Est-il possible d'afficher toutes les instances en cours d'exécution indépendamment de la région?
- Le fait que l'AWS GUI ne vous permet pas seulement de la liste de toutes les instances est vraiment, vraiment stupide.
- Pas l'idéal, et certainement pas évident, mais vous pouvez utiliser
Resource Groups > Tag Editor
comme une interface graphique option. Voir ma réponse ci-dessous. - êtes-vous sûr? Combien d'argent pensez-vous AWS a fait à partir de des gens comme les OP qui a oublié d'éteindre une instance en cours d'exécution?
- comme smartcaveman dit que c'est noway si l'idiot instances obtenir dispersées à travers le nombre de régions et oublié alors que le $ ticker tiques tiques les tiques pour les Bezos.
- comment pourraient-ils payer pour oublier les cas, si ils ont juste montré ce qui est de la course.. ?
Vous devez vous connecter pour publier un commentaire.
Un non-évident GUI option est
Resource Groups > Tag Editor
. Ici vous pouvez trouver toutes les occurrences dans toutes les régions, même si les instances n'ont pas été marqués.EDIT: Cet écran a été récemment restructuré et a maintenant un nouveau look et un "Toutes les régions" option.
Je ne pense pas que l'on peut actuellement le faire dans le AWS GUI. Mais ici, c'est un moyen de la liste de tous vos instances à travers toutes les régions AWS CLI:
Prises de ici (Si vous voulez voir plein de discussion)
Aussi, si vous êtes l'obtention d'un
Vous pouvez le faire avec
aws configure set region us-east-1
, merci @Sabuncu pour le commentaire.Mise à jour
Maintenant (en 2019) la commande couper doivent être appliquées sur le 4ème champ:
cut -f4
cut
, vous pouvez utiliser:aws ec2 describe-regions --query Regions[*].[RegionName] --output text
FOR /F %G IN ('aws ec2 describe-regions --query Regions[*].[RegionName] --output text') DO (aws ec2 describe-instances --region %G)
You must specify a region. You can also configure your region by running "aws configure".
-- semble que la spécification d'une région est à l'opposé de ce que je veux faireaws configure set region us-east-1
. Puis, lorsque vous exécutezaws ec2 describe-regions
, vous devriez avoir aucun problème. Voir la réponse: stackoverflow.com/a/46577479/360840 ainsi que d'autres réponses à ces questions dans la question connexe.aws ec2 describe-instances --query 'Reservations[*].Instances[*].[InstanceId]' --filters Name=instance-state-name,Values=running --region $region --output text
@imTachu solution fonctionne bien. Pour ce faire via la console AWS...
Basé sur imTachus réponse, mais moins détaillé, plus rapide. Vous avez besoin d'avoir jq et aws-cli installé.
Le script s'exécute le
aws ec2 describe-instances
en parallèle pour chaque région (15 aujourd'hui!) et des extraits seulement les bits (état, les tags, la zone de disponibilité) à partir de la sortie json. Leset +m
est nécessaire pour le processus d'arrière-plan ne se présente pas lors du démarrage/fin.Exemple de sortie:
Chaque fois que vous créez une ressource, étiquette avec un nom et maintenant vous pouvez utiliser Groupes de Ressources de trouver tous les types de ressources avec une étiquette de nom dans toutes les régions.
D'abord aller à AWS Management console et cliquez sur groupe de Ressources:
Puis de trouver
Network and Content Delivery
et cliquez sur leVPC
:Puis de trouver les instances en cours d'Exécution et d'élargir voir de toutes les régions. Ici vous pouvez trouver toutes les instances en cours d'exécution de l'ensemble de la région:
Vous pouvez exécuter
DescribeInstances()
dans toutes les régions.En outre, vous pouvez:
Un échantillon de NodeJS:
getInstances
fonction,DescribeInstances()
peut êtreappelé.
Et, bien Sûr, n'hésitez pas à utiliser ES6 et au-dessus.
J'ai écrit une fonction lambda pour vous toutes les instances en tout état [en cours d'exécution, arrêté] et de toutes les régions, sera également donner des détails sur le type d'instance et de divers autres paramètres.
Le Script s'étend à travers toutes les régions AWS et les appels
DescribeInstances()
, pour obtenir le cas.Il vous suffit de créer une fonction lambda de
nodejs
.Vous pouvez même créer des API de et de les utiliser comme et quand nécessaire.
En outre, Vous pouvez voir AWS officiel de Docs Pour DescribeInstances à explorer beaucoup plus d'options.
Dans La Console
Aller à la VPC de tableau de bord
https://console.aws.amazon.com/vpc/home
et cliquez surRunning instances
->See all regions
.En CLI
Ajouter à ceci par exemple pour
.bashrc
. Rechargersource ~/.bashrc
, et l'exécuterExemple de sortie:
J'ai créé un script open source qui vous permet de lister toutes les instances AWS. https://github.com/Appnroll/aws-ec2-instances
C'est une partie du script qui liste les instances pour un profil de les enregistrer dans une base de données postgreSQL avec l'aide de
jq
json analyse:Mon script ci-dessous, basé sur différents conseils de ce post et d'ailleurs. Le script est plus facile à suivre (du moins pour moi) que le long des lignes de commande.
Le script suppose profil d'informations d'identification(s) sont stockées dans le fichier
~/.aws/credentials
à la recherche de quelque chose comme:Script:
Basé sur @hansaplast code que j'ai créé Windows friendly version qui prend en charge plusieurs profils comme argument. Il suffit d'enregistrer le fichier en tant que cmd ou fichier bat. Vous devez également avoir
jq
commande.Vous pouvez utiliser la cli outil conçu pour l'énumération des ressources de cloud (inter-région et de la croix-analyse des comptes) - https://github.com/scopely-devops/skew
Après un court configuration, vous pouvez utiliser le code suivant pour la liste de toutes les instances dans toutes les régions AWS (en supposant que 123456789012 est votre numéro de compte AWS).
Bon outil pour CRUD ressources AWS. Trouver [EC2|RDS|IAM..] dans toutes les régions. Il peut effectuer des opérations (stop|exécuter|arrêter) sur des filtres de résultats.