165 votes

Comment voir toutes les instances Amazon EC2 en cours d'exécution dans toutes les régions?

Je change souvent d'instance entre différentes régions et parfois j'oublie de désactiver mon instance en cours d'exécution dans une autre région. Je n'ai trouvé aucun moyen de voir toutes les instances en cours d'exécution sur la console Amazon.
Est-il possible d'afficher toutes les instances en cours indépendamment de la région?

163voto

Heinrich Filter Points 1253

EDIT: Le nouveau re-conçu Éditeur de Balise n'a pas de recherche à travers des régions plus. Assurez-vous d'utiliser le Tag Classique de l'Éditeur


Un non-évident GUI option est - Resource Groups > Tag Editor, puis cliquez sur le Tag classique de l'Éditeur de lien. Ici vous pouvez trouver toutes les occurrences dans toutes les régions, même si l'instance n'a pas été touché. enter image description here

73voto

imTachu Points 2546

Je ne pense pas que vous puissiez actuellement le faire dans l'interface graphique AWS. Mais voici un moyen de répertorier toutes vos instances dans toutes les régions à l'aide de l'AWS CLI:

 for region in `aws ec2 describe-regions --region us-east-1 --output text | cut -f3`
do
     echo -e "\nListing Instances in region:'$region'..."
     aws ec2 describe-instances --region $region
done
 

Tiré d' ici (si vous voulez voir la discussion complète)

21voto

Carlton Points 428

La solution @imTachu fonctionne bien. Pour ce faire via la console AWS ...

  • Console AWS
  • Prestations de service
  • Mise en réseau et livraison de contenu
  • VPC
  • Cherchez un bloc nommé "Running Instances", cela vous montrera la région actuelle
  • Cliquez sur le lien "Voir toutes les régions" ci-dessous.

8voto

A chaque fois que vous créez une ressource, associez-lui un nom et attribuez-lui un nom. Vous pouvez désormais utiliser les groupes de ressources pour rechercher tous les types de ressources avec un identifiant dans toutes les régions.

7voto

Philipp Keller Points 723

Basé sur imTachus réponse, mais moins détaillé, plus rapide. Vous avez besoin d'avoir jq et aws-cli installé.

set +m
for region in $(aws ec2 describe-regions --query "Regions[*].[RegionName]" --output text); do 
  aws ec2 describe-instances --region "$region" | jq ".Reservations[].Instances[] | {type: .InstanceType, state: .State.Name, tags: .Tags, zone: .Placement.AvailabilityZone}" &
done; wait; set -m

Le script exécute l' 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. L' set +m est nécessaire pour le processus d'arrière-plan ne se présente pas lors du démarrage/fin.

Exemple de sortie:

{
  "type": "t2.micro",
  "state": "stopped",
  "tags": [
    {
      "Key": "Name",
      "Value": "MyEc2WebServer"
    },
  ],
  "zone": "eu-central-1b"
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X