DEV Community

Cover image for Adiós DynamoDB: S3-Native State Locking en Terraform 1.10
francotel
francotel

Posted on

Adiós DynamoDB: S3-Native State Locking en Terraform 1.10

¡Terraform sigue evolucionando! Con la versión 1.10, ahora podemos decirle adiós a DynamoDB para el state locking cuando usamos Amazon S3 como backend. Esto simplifica la configuración, reduce costos y elimina una dependencia extra. ✅

🤖 ¿Qué es el state locking y por qué es importante?

Cuando trabajamos con Terraform en equipo, es crucial evitar que múltiples personas modifiquen el estado al mismo tiempo. Esto previene corrupción de datos y conflictos. Tradicionalmente, en AWS se usaba DynamoDB para gestionar estos bloqueos, lo que añadía configuraciones adicionales y costos extra.

terraform-backend

🚀 ¿Qué cambia con Terraform 1.10?

Ahora, Terraform puede bloquear el estado directamente en S3, usando escrituras condicionales. Esto significa que:

✅ No necesitas DynamoDB para el locking.
✅ Menos configuraciones y menos costos.
✅ Terraform maneja el bloqueo de manera transparente usando S3.

Para habilitarlo, solo agrega esta configuración en tu backend:

terraform {
  backend "s3" {
    bucket       = "mybucket"
    key          = "path/to/my/key"
    region       = "us-east-1"
    use_lockfile = true
  }
}
Enter fullscreen mode Exit fullscreen mode

Con la opción use_lockfile = true, Terraform crea un archivo de bloqueo en S3 y utiliza headers condicionales para evitar que dos procesos lo modifiquen al mismo tiempo. ✨

tflock

🛠️ Consideraciones importantes

⚡ Compatibilidad: Puedes seguir usando DynamoDB si lo deseas, pero es recomendable migrar a este nuevo método.

⚡ Buckets con restricciones: Si tu bucket tiene configuraciones avanzadas, revisa que soporte escrituras condicionales.

⚡ Object Lock en S3: Si tienes habilitada esta función, actualiza a Terraform 1.10.1, donde se solucionaron algunos errores relacionados.

🔄 ¿Qué sigue?

💡 Terraform 1.11: Se marcarán como deprecated las opciones de DynamoDB (dynamodb_table, etc.).

💡 Terraform 1.12: Posiblemente se eliminen por completo las dependencias de DynamoDB en futuros lanzamientos.

Si quieres una configuración más sencilla y ahorrar costos, es el momento perfecto para actualizar. ⏳✨


¡No te lo pierdas! Sígueme en LinkedIn para estar al tanto de todas las actualizaciones y futuros artículos:

LinkedIn

☕ Apóyame con un café

Si este contenido te ha sido útil y quieres apoyarme para seguir creando más, considera invitarme un café. ¡Tu apoyo hace la diferencia! 🥰

BuyMeACoffee


¡Gracias por leer y hasta la próxima! 👋

Image of Datadog

The Future of AI, LLMs, and Observability on Google Cloud

Datadog sat down with Google’s Director of AI to discuss the current and future states of AI, ML, and LLMs on Google Cloud. Discover 7 key insights for technical leaders, covering everything from upskilling teams to observability best practices

Learn More

Top comments (0)

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay