Cambio de un tipo de instancia Amazon EC2 mediante un script bash - AWS Command Line Interface

Python 2.7, 3.4 y 3.5 están obsoletas para la versión 1 de AWS CLI. Para obtener más información, consulte la sección de la versión 1 de AWS CLI de Acerca de las versiones de AWS CLI.

Cambio de un tipo de instancia Amazon EC2 mediante un script bash

Este ejemplo de scripting bash para Amazon EC2 cambia el tipo de instancia de una instancia de Amazon EC2 con el método AWS Command Line Interface (AWS CLI). Detiene la instancia si se está ejecutando, cambia el tipo de instancia y, a continuación, si se solicita, reinicia la instancia. Los scripts de shell son programas diseñados para ejecutarse en una interfaz de línea de comandos.

Antes de comenzar

Antes de que pueda ejecutar cualquiera de los siguientes ejemplos, debe completarse lo siguiente.

  • Tener la AWS CLI instalada, consulte Instalar, actualizar y desinstalar la AWS CLI para obtener más información.

  • Tener la AWS CLI configurada, consulte Fundamentos de configuración para obtener más información. El perfil que utilice debe tener permisos que permitan que se realicen las operaciones de la AWS mediante ejemplos.

  • Una instancia de Amazon EC2 en ejecución en la cuenta para la que tiene permiso para detener y modificar. Si ejecuta el script de prueba, inicia una instancia por usted, prueba el cambio del tipo y, a continuación, finaliza la instancia.

  • Como práctica recomendada de AWS, conceda privilegios mínimos a este código o solo los permisos necesarios para llevar a cabo una tarea. Para obtener más información, consulte Otorgar privilegios mínimos en la Guía del usuario de AWS Identity and Access Management (IAM).

  • Este código no ha sido probado en todas las regiones de AWS. Algunos servicios de AWS solo están disponibles en regiones específicas. Para obtener más información, consulte Puntos de enlace y cuotas de Amazon EC2 en la AWS Guía de referencia general.

  • La ejecución de este código puede producir cargos en su cuenta de AWS. Es su responsabilidad asegurarse de que los recursos creados por este script se eliminen cuando haya terminado con ellos.

Acerca de este ejemplo

Este ejemplo se escribe como una función en el archivo de script de shell change_ec2_instance_type.sh que puede source desde otro script o desde la línea de comandos. Cada archivo de script contiene comentarios que describen cada una de las funciones. Una vez que la función está en la memoria, puede invocarla desde la línea de comandos. Por ejemplo, los siguientes comandos cambian el tipo de instancia especificada a t2.nano:

$ source ./change_ec2_instance_type.sh $ ./change_ec2_instance_type -i *instance-id* -t new-type

Para obtener el ejemplo completo y los archivos de script descargables, consulte Cambio del tipo de instancia de Amazon EC2 en AWS Ejemplos de código en GitHub.

Parameters

-i-(cadena) Especifica el ID de instancia que se va a modificar.

-t-(cadena)Especifica el tipo de instancia Amazon EC2 al que se va a cambiar.

-r-(interruptor) De forma predeterminada, no se establece. Si se configura -r, reinicia la instancia después del interruptor de tipo.

-f-(interruptor) De forma predeterminada, el script solicita al usuario que confirme el cierre de la instancia antes de realizar el cambio. Si se configura -f, la función no le pide al usuario antes de apagar la instancia para hacer el cambio de tipo

-v-(interruptor) De forma predeterminada, el script funciona silenciosamente y muestra la salida solo en caso de error. Si se configura -v, la función muestra el estado a lo largo de su operación.

Files

change_ec2_instance_type.sh

El archivo de script principal contiene la función change_ec2_instance_type() que realiza las siguientes tareas:

  • Comprueba que la instancia Amazon EC2 especificada existe.

  • A menos que se seleccione -f, advierte al usuario antes de detener la instancia.

  • Cambia el tipo de instancia

  • Si configura -r, reinicia la instancia y confirma que la instancia se está ejecutando

Ver el código de change_ec2_instance_type.sh en GitHub.

test_change_ec2_instance_type.sh

El script del archivo change_ec2_instance_type_test.sh prueba las diversas rutas de código para la función de change_ec2_instance_type. Si todos los pasos del script de prueba funcionan correctamente, el script de prueba elimina todos los recursos que ha creado.

Puede ejecutar el script de prueba con los siguientes parámetros:

  • -v-(interruptor)Cada prueba muestra un estado de superación/fallo a medida que se ejecutan. De forma predeterminada, las pruebas se ejecutan silenciosamente y la salida incluye solo el estado final de pasado/error.

  • -i-(interruptor) El script se detiene después de cada prueba para permitirle examinar los resultados intermedios de cada paso. Le permite examinar el estado actual de la instancia mediante la consola de Amazon EC2. El script pasa al siguiente paso después de presionar ENTER (INTRO) en el símbolo del sistema.

Ver el código de test_change_ec2_instance_type.sh en GitHub.

awsdocs_general.sh

El archivo de script awsdocs_general.sh contiene funciones de propósito general utilizadas en ejemplos avanzados para el AWS CLI.

Ver el código de awsdocs_general.sh en GitHub.

References

AWS CLI referencia:

Otra referencia: