A Terraform module for provisioning and managing AWS DynamoDB tables with comprehensive configuration options.
terraform-aws-dynamodb-table is a Terraform module that automates the provisioning and management of AWS DynamoDB tables. It encapsulates complex AWS resource configurations into a reusable module, allowing developers to define tables, indexes, autoscaling, encryption, and global replication using Infrastructure-as-Code principles. It solves the problem of repetitive and error-prone manual DynamoDB setup by providing a consistent, version-controlled interface.
DevOps engineers, cloud infrastructure teams, and developers managing AWS environments who use Terraform for infrastructure provisioning and want to streamline DynamoDB deployment.
Developers choose this module because it reduces boilerplate Terraform code, enforces best practices, and provides comprehensive support for DynamoDB features like autoscaling, global tables, and encryption out-of-the-box. It is maintained as part of the trusted Terraform AWS Modules collection, ensuring reliability and community support.
Terraform module to create AWS DynamoDB resources 🇺🇦
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
It supports all key DynamoDB features, including billing modes, global tables, encryption, and S3 data import, as shown in the extensive input variables list in the README.
The module automates Application Auto Scaling setup for tables and indexes, reducing boilerplate code, with examples provided in the autoscaling directory.
It simplifies enabling security features like server-side encryption and point-in-time recovery by exposing them as configurable inputs, aligning with AWS best practices.
As part of the Terraform AWS Modules collection, it benefits from regular updates and contributions, ensuring reliability and compatibility with AWS provider changes.
Enabling or disabling autoscaling forces Terraform to recreate the entire table, as warned in the README, which can cause downtime and require manual state migration.
With autoscaling, global secondary index changes can reset capacity, necessitating the use of ignore_changes_global_secondary_index that bypasses Terraform management for GSIs, as noted in the warnings.
The module manages multiple resources like autoscaling policies, which bloats Terraform state and complicates operations such as rollbacks or state recovery.