Como funciona y como se configura una TTL de DynamoDB en AWS

Higarigaoka - Odaiba, Sin comentarios
Hola,
En DynamoDB de AWS Time to Live (TTL) permite definir una marca de tiempo por elemento para determinar cuándo ya no se necesita dicho elemento y eliminarlo de la tabla.
Es una utilidad muy útil para temas de control de datos y para eliminar registros de tablas que se vuelven irrelevantes o muy difíciles de mantener.

Para configurar una TTL en una tabla de DynamoDB, se puede realizar de dos formas:

Primera forma (Por DynamoDB):
Si se tienen todos los permisos (todos los superpoderes), se pueden realizar de forma manual directamente en Dynamo, de la siguiente forma:
  • Ingresar a DynamoDB en AWS.
  • Seleccionar la opción Tablas y ahí escoger la tabla que se le requiere crear la TTL.
  • Ingresar dentro de la tabla a la opción Configuración adicional.
  • Bajar con el scroll del mouse y en el título Tiempo de vida (TTL), presionar el botón Habilitar:

  • Ahí nos llevará a una nueva pantalla en donde se realizara la configuración de la TTL:


  • En la opción Nombre de atributo TTL, se crea el nombre del campo que será la TTL y en la opción Fecha y hora simuladas, se seleccionara el tipo de fecha normalmente se utiliza Valor de tiempo Unix y se asigna un valor por defecto o se deja en vacío.
  • Finalmente se presiona el botón Habilitar TTL y listo, ya queda la TTL habilitada con el campo creado en la tabla de Dynamo seleccionada.
Segunda forma (Por Terraform):
Terraform permite a los usuarios definir y configurar la infraestructura de un centro de datos en un lenguaje de alto nivel, generando un plan de ejecución para desplegar la infraestructura, por lo cual de esta forma y si se tiene una infraestructura configurada y versiona en la base de datos, se realiza de la siguiente forma:
  • En Terraform utilizar el comando:
ttl { attribute_name = "TimeToExist" enabled = true }

En donde attribute_name contiene el nombre de la TTL en la tabla de DynamoDB y el enable se define como true, para que quede activado.

Después de realizar esta codificación se debe versionar y desplegar y ahí queda activa la TTL en DynamoDB.

Nota #1:
Este comando se utiliza dentro de los campos codificados de la tabla, en el siguiente ejemplo se muestra como queda una tabla en Terraform (tf) con todo configurado por código para DynamoDB:

resource "aws_dynamodb_table" "basic-dynamodb-table" { name = "GameScores" read_capacity = 20 write_capacity = 20 hash_key = "UserId" range_key = "GameTitle" attribute { name = "UserId" type = "S" } attribute { name = "GameTitle" type = "S" } attribute { name = "TopScore" type = "N" } ttl { attribute_name = "TimeToExist" enabled = true } global_secondary_index { name = "GameTitleIndex" hash_key = "GameTitle" range_key = "TopScore" write_capacity = 10 read_capacity = 10 projection_type = "INCLUDE" non_key_attributes = ["UserId"] } tags { Name = "dynamodb-table-1" Environment = "production" } }

Si se requiere conocer las definiciones de cada uno de estos argumentos, se pueden consultar en la url: https://runebook.dev/es/docs/terraform/providers/aws/r/dynamodb_table

Tener en cuenta:
Se debe tener en cuenta que la habilitación de TTL puede tardar hasta una hora en aplicarse en todas las particiones. No podrá efectuar cambios de TTL adicionales hasta que se complete esta actualización.

Fuentes:

0 comentarios :

Publicar un comentario