En ocasiones resulta muy útil y práctico configurar e iniciar automáticamente distintos servicios de AWS. CloudFormation permite tratar a la infraestructura como código y crear scripts para (entre muchos otros propósitos) iniciar instancias EC2 con una configuración predeterminada y correrlo cuando sea necesario.

En este caso, se mostrarán todos los pasos necesarios para crear instancias EC2 con AWS CloudFormation en base a snapshots ya existentes, usando una plantilla en formato JSON (también se puede usar YAML).

Para la plantilla se tiene la siguiente estructura básica:

  • El ID de la imagen se puede obtener en la página de creación de una instancia EC2 de AWS.
  • Si no se tiene una llave se puede crear usando CreateKeyPair o ImportKeyPair en la consola de AWS.

El siguiente es un ejemplo para crear una instancia t2.micro en la región de Ohio, a partir de un snapshot:

Una vez que se tenga la plantilla, en la Consola de Administración de AWS se siguen los siguientes pasos:

  1. Buscar CloudFormation entre los servicios disponibles.
  2. Crear una nueva pila (stack).
  3. Para escoger la plantilla, seleccionar la opción “Upload a template to Amazon S3” y elegir el archivo JSON creado previamente. Pasar a la siguiente sección.
  • Al dar click en “Next”, la plantilla se validará. Si existieran errores sintácticos o semánticos, AWS los informará en la parte superior.
  1. Dar un nombre a la pila que se está creando.
  2. En la siguiente sección se pueden especificar tags, permisos, y otras configuraciones.
  3. En la siguiente sección se muestran las configuraciones realizadas. Hacer clic en “Create” si todo está correcto.
  4. El código se ejecutará y, si no hubo inconvenientes, después de poco tiempo se puede refrescar la tabla de Stacks para comprobar que la creación haya sido exitosa.

Para una configuración más avanzada de este u otros servicios con CloudFormation, AWS dispone de varias plantillas de ejemplo en el siguiente enlace: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/sample-templates-services-us-west-2.html