Despliegue de Recursos con Stacks Anidados en AWS

Clase 17 de 38Curso de Infraestructura Como Código en AWS

Resumen

¿Cómo desplegar recursos en Stacks anidados?

Desplegar recursos en Stacks anidados es una técnica poderosa que te permite organizar y gestionar tus proyectos con mayor eficiencia y claridad. Imagina tener control sobre funciones Lambda, API Gateway y DynamoDB desde un Stack maestro, logrando así una estructura ordenada y fácil de expandir. Este método te ayuda a reutilizar componentes, lo que es especialmente útil en proyectos de gran escala.

¿Qué es un Stack maestro?

Un Stack maestro en Amazon CloudFormation es un conjunto de recursos agrupados. Permite gestionar múltiples Stacks anidados que son instancias individuales de recursos como bases de datos, funciones Lambda y API Gateway.

  • Componentes del Stack:
    • Lambda Function
    • API Gateway
    • DynamoDB

El Stack maestro facilita el control centralizado de recursos independientes, permitiendo enviar parámetros a cada uno, incluso si son completamente diferentes.

¿Cómo gestionar dependencias con DependsOn?

Al desplegar APIs o bases de datos, es fundamental controlar el orden de creación de los recursos. Utilizando la propiedad DependsOn, aseguras que ciertos recursos no se creen antes de que los necesarios estén disponibles, lo cual es esencial para evitar errores y mejorar la eficiencia.

Resources:
  MyApiGateway:
    Type: AWS::ApiGateway::RestApi
    Properties: 
      [Propiedades]
    DependsOn: MyDynamoDB

¿Cómo estructurar el código para un Stack anidado?

  1. Estructura del Repositorio:

    • Repositorio con carpeta nested para Stacks anidados.
    • Código de Lambda en la carpeta lambda_code.
  2. Carga del Código:

    • Asegúrate de que el bucket S3 está vaciado y luego sube el nuevo código.
    • Selección y carga de archivos a través de la consola de AWS S3.
  3. Implementación y Configuración:

    • Clonar el repositorio usando Git:
      git clone [URL del repositorio]
      
    • Desplegar el template desde el bucket S3 seleccionando Crear Stack en la consola de CloudFormation.
    • Proveer detalles como el nombre del Stack y parámetros funcionales específicos.

¿Cómo verificar la creación de recursos?

Después de haber creado el Stack maestro y sus Stacks anidados, es crucial verificar que los recursos se hayan creado correctamente.

  • Consola de DynamoDB: Comprueba la creación correcta de la tabla.

  • Consola de Lambda: Asegúrate que las funciones se hayan creado y configurado adecuadamente.

  • Consola de API Gateway: Confirma que las APIs estén conectadas a las funciones Lambda correctas.

Estas verificaciones garantizan que todos los recursos estén listos para su utilización en la aplicación o sistema que estás desarrollando. Además, utilizar Stacks anidados simplifica futuras actualizaciones, permitiendo replicar fácilmente cualquier recurso específico para otros proyectos.

Recuerda siempre optimizar y estructurar tus proyectos considerando la flexibilidad, claridad y reusabilidad de los recursos, lo cual será un valor añadido en tu ámbito profesional. ¡Avanza en tu aprendizaje y mejora continua!