Cambio instancias entre diferentes regiones con frecuencia y, a veces, me olvido de apagar mi instancia en ejecución desde una región diferente. No pude encontrar ninguna forma de ver todas las instancias en ejecución en la consola de Amazon.
¿Hay alguna forma de mostrar todas las instancias en ejecución independientemente de la región?
amazon-web-services
amazon-ec2
ec2-ami
JerryGoyal
fuente
fuente
Resource Groups > Tag Editor
como una opción de GUI. Vea mi respuesta a continuación.Respuestas:
Una opción de GUI no obvia es
Resource Groups > Tag Editor
. Aquí puede encontrar todas las instancias en todas las regiones, incluso si las instancias no fueron etiquetadas.EDITAR: Esta pantalla fue rediseñada recientemente y ahora tiene un nuevo aspecto y una opción "Todas las regiones".
fuente
No creo que pueda hacer esto actualmente en la GUI de AWS. Pero aquí hay una forma de enumerar todas sus instancias en todas las regiones con la AWS CLI:
Tomado de aquí (si desea ver la discusión completa)
Además, si obtiene un
Puedes hacerlo con
aws configure set region us-east-1
, gracias @Sabuncu por el comentario.Actualizar
Ahora (en 2019) el comando de corte debería aplicarse en el cuarto campo:
cut -f4
fuente
cut
, puede utilizar: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".
parece que especificar una región es lo contrario de lo que quiero haceraws configure set region us-east-1
. Entonces, cuando corrasaws ec2 describe-regions
, no deberías tener problemas. Consulte la respuesta: stackoverflow.com/a/46577479/360840 , así como otras respuestas en la pregunta relacionada.La solución @imTachu funciona bien. Para hacer esto a través de la consola de AWS ...
fuente
Primero vaya a la consola de administración de AWS y haga clic en Grupo de recursos:
Luego busque
Network and Content Delivery
y haga clic enVPC
:Luego, busque Instancias en ejecución y expanda Ver todas las regiones. Aquí puede encontrar todas las instancias en ejecución de todas las regiones:
fuente
En consola
Vaya al panel de VPC
https://console.aws.amazon.com/vpc/home
y haga clic enRunning instances
->See all regions
.En CLI
Agregue esto, por ejemplo, a
.bashrc
. Recargarlosource ~/.bashrc
y ejecutarloSalida de ejemplo:
fuente
Cada vez que cree un recurso, etiquételo con un nombre y ahora puede usar Grupos de recursos para encontrar todo tipo de recursos con una etiqueta de nombre en todas las regiones.
fuente
Basado en la respuesta de imTachus pero menos detallado y más rápido. Necesita tener jq y aws-cli instalados.
El script se ejecuta
aws ec2 describe-instances
en paralelo para cada región (¡ahora 15!) Y extrae solo los bits relevantes (estado, etiquetas, zona de disponibilidad) de la salida json. Elset +m
es necesario para que los procesos en segundo plano no informen al inicio / finalización.Salida de ejemplo:
fuente
Después de leer todas las soluciones y probar muchas cosas, la que funcionó para mí fue-
fuente
Puede ejecutar
DescribeInstances()
en todas las regiones.Además, puede:
Una muestra en NodeJS:
getInstances
función,DescribeInstances()
se puede llamar.Y, por supuesto, siéntase libre de usar ES6 y superior.
Escribí una función lambda para obtener todas las instancias en cualquier estado [en ejecución, detenido] y de cualquier región, también daré detalles sobre el tipo de instancia y varios otros parámetros.
El script se ejecuta en todas las regiones y llamadas de AWS
DescribeInstances()
para obtener las instancias.Solo necesita crear una función lambda con tiempo de ejecución
nodejs
. Incluso puede crear una API a partir de ella y usarla cuando sea necesario.Además, puede consultar los documentos oficiales de AWS para DescribeInstances para explorar muchas más opciones.
fuente
Creé un script de código abierto que le ayuda a enumerar todas las instancias de AWS. https://github.com/Appnroll/aws-ec2-instances
Esa es una parte del script que enumera las instancias para un perfil que las registra en una base de datos postgreSQL con el uso
jq
para el análisis json:fuente
Mi guión a continuación, basado en varios consejos de esta publicación y en otros lugares. El guión es más fácil de seguir (al menos para mí) que las largas líneas de comando.
El script asume que los perfiles de credenciales están almacenados en un archivo con un
~/.aws/credentials
aspecto similar a:Guión:
fuente
fuente
Basado en el código @hansaplast, creé una versión compatible con Windows que admite múltiples perfiles como argumento. Simplemente guarde ese archivo como archivo cmd o bat. También necesitas tener el
jq
mando.fuente
Puede usar la herramienta cli diseñada para enumerar recursos en la nube (escaneo entre regiones y cuentas): https://github.com/scopely-devops/skew
Después de una breve configuración, puede usar el siguiente código para enumerar todas las instancias en todas las regiones de AWS de EE. UU. (Asumiendo que 123456789012 es su número de cuenta de AWS).
fuente
Buena herramienta para CRUD AWS recursos . Busque [EC2 | RDS | IAM ..] en todas las regiones. Se pueden realizar operaciones (detener | ejecutar | terminar) en los resultados de los filtros.
fuente