Resumen

¿Cómo crear una tabla en AWS DynamoDB usando un template?

La creación de una tabla en AWS DynamoDB puede parecer un desafío, pero con las herramientas y conocimientos adecuados, se vuelve una tarea manejable y emocionante. A continuación, se presenta una guía básica para crear una tabla desde cero utilizando un template en formato YAML, siguiendo la documentación oficial de AWS.

¿Cómo comenzar con la documentación de AWS y crear un archivo YAML?

Para empezar desde cero, es fundamental dirigirse a la documentación oficial de AWS DynamoDB para obtener un template base que nos dirija en el proceso. Aquí está el paso a paso:

  1. Busca "DynamoDB" en Google y localiza la documentación de AWS para DynamoDB.
  2. Encuentra ejemplos sencillos en formato JSON y YAML. Para este caso, utilizaremos el ejemplo en YAML.
  3. Copia el template completamente vacío proporcionado por AWS a tu editor de texto favorito.
  4. Guarda el archivo con un nombre adecuado, por ejemplo, miDynamoDB.yaml.
AWSTemplateFormatVersion: "2010-09-09"

¿Cuáles son los elementos clave de un template?

Al crear un template, es crucial asegurar que contiene los componentes esenciales, como parámetros y recursos:

  • Versión del formato: Especifica la versión del template de AWS que estás utilizando, p. ej., 2010-09-09.
AWSTemplateFormatVersion: "2010-09-09"
  • Recursos: Es la única propiedad completamente obligatoria, que en este caso será una tabla de DynamoDB.
Resources:
  MyDynamoTable:
    Type: "AWS::DynamoDB::Table"

¿Cómo definir atributos y llaves primarias?

La definición de atributos es crucial, ya que determina la estructura de tu base de datos.

  • Atributo Definición: Aunque no obligatorio, es una buena práctica definirlo. Aquí, se especifica la llave primaria para la base de datos.
AttributeDefinitions:
  - AttributeName: Gender
    AttributeType: S
  • KeySchema: Esta sección especifica cómo se construirá la llave primaria.
KeySchema:
  - AttributeName: Gender
    KeyType: HASH

¿Cómo configurar las lecturas y escrituras pagadas?

Dependiendo de tu carga, puedes configurar DynamoDB para que pague por solicitudes o para tener una capacidad preestablecida.

  • BillingMode: Aquí establecemos cómo se realizarán los cargos, utilizando "PAY_PER_REQUEST" para práctica flexibilidad.
BillingMode: PAY_PER_REQUEST

¿Qué se debe saber sobre la encriptación y el exportado de nombres?

La seguridad es una prioridad, y AWS permite activar la encriptación para los datos en reposo.

  • Encriptación: Active con la configuración SSESpecification.
SSESpecification:
  SSEEnabled: true

Además, puedes exportar valores, como el nombre de la tabla, para su uso posterior en otras partes de tu infraestructura:

  • Outputs: Exporta el nombre de DynamoDB para facilitar su referencia.
Outputs:
  TableName:
    Value: !Ref MyDynamoDBTable
    Export:
      Name: MyDynamoTableName

Con estos pasos, habrás establecido un template básico que puedes desplegar para crear una tabla en DynamoDB con AWS CloudFormation. Recuerda siempre revisar la documentación y mantenerte actualizado sobre las mejores prácticas de AWS para una implementación eficiente. Mantente avanzado en tu aprendizaje revisando más cursos sobre bases de datos en AWS para ampliar tus conocimientos y habilidades.