Terraform AWS provider tops 4 billion downloads, 6.0 now in public beta
HashiCorp and AWS continue to support the widespread demand for standardized infrastructure lifecycle management with the Terraform AWS provider 6.0.
The Terraform AWS provider serves as the bridge between Terraform configurations and AWS, enabling users to define and manage AWS resources as code. We are excited to share that version 6.0 of the Terraform AWS provider is now available in public beta. Along with bugfixes, the latest update brings enhanced multi-region support and other workflow improvements.
This post will explore the enhanced mult-region support features and announce the provider’s latest downloads milestone.
» Terraform AWS provider reaches 4 billion downloads
We are excited to announce that this release coincides with a new milestone: The Terraform AWS provider has surpassed 4 billion downloads.

Terraform AWS provider downloads as of May 7, 2025
As we approach 5 billion downloads, AWS and HashiCorp continue to expand their partnership — delivering new integrations that help customers move faster, adopt more AWS services and features, and deploy infrastructure with developer-friendly workflows. For example, we recently partnered to develop pre-written Sentinel policy sets for AWS to simplify policy adoption and provide a turnkey governance solution for our customers.
With Terraform, HashiCorp aims to provide launch-day support for all AWS services, ensuring immediate access to the latest innovations. We also recommend you learn about the AWSCC provider and compare it to the AWS provider.
» Enhanced region support
Previously in the Terraform AWS provider, each provider configuration targeted a single AWS region. With this limitation, practitioners had to update every configuration file individually if they wanted to change a particular resource’s configuration. For global companies, this could mean editing the same parameter in up to 32 separate configuration files for each region.
With 6.0, the AWS provider now supports multiple regions all within a single configuration file. This new approach leverages an injected region
attribute at the resource level to simplify configuration efforts. This method also reduces the need to load multiple instances of the AWS provider, lowering memory usage overall.
Here are some more key highlights in this feature:
- Single provider configuration: Reduces the need to load multiple instances of the AWS provider, lowering memory usage.
- Region attribute injection: The
region
argument is added to all resources (except global resources) without requiring explicit schema changes. - Global resources exclusion: Services like IAM, CloudFront, and Route 53 remain unaffected as they operate globally.
- Terraform plugin framework updates: Adjustments to the AWS API client mechanism support per-region API client mappings.
- Resource import enhancements: A new
@<regionID>
suffix allows importing of resources from different regions. - Documentation and testing: Changes are documented at the provider level and tested to ensure backward compatibility.
This example shows how to use the new region attribute for the aws_vpc_peering_connection_accepter
in your Terraform configuration:
provider "aws" {
region = "us-east-1"
}
resource "aws_vpc" "main" {
cidr_block = "10.0.0.0/16"
}
resource "aws_vpc" "peer" {
region = "us-west-2"
cidr_block = "10.1.0.0/16"
}
# Requester's side of the connection.
resource "aws_vpc_peering_connection" "main" {
vpc_id = aws_vpc.main.id
peer_vpc_id = aws_vpc.peer.id
peer_region = "us-west-2"
auto_accept = false
}
# Accepter's side of the connection.
resource "aws_vpc_peering_connection_accepter" "peer" {
region = "us-west-2"
vpc_peering_connection_id = aws_vpc_peering_connection.main.id
auto_accept = true
}
This is an example of how to use the new region attribute for the aws_kms_replica_key
in your Terraform configuration:
### KMS Replica Key
#### Terraform AWS Provider v6 (and above)
```terraform
provider "aws" {
region = "us-west-2"
}
resource "aws_kms_key" "primary" {
region = "us-east-1"
description = "Multi-Region primary key"
deletion_window_in_days = 30
multi_region = true
}
resource "aws_kms_replica_key" "replica" {
description = "Multi-Region replica key"
deletion_window_in_days = 7
primary_key_arn = aws_kms_key.primary.arn
}
» Getting started
The Terraform AWS provider 6.0 pre-release is labeled "beta" and uploaded to the Terraform Registry as usual. It is important to note that users with permissive version constraints will not automatically use the new beta version. Instead, they will need to opt in by specifying the pre-release version in their provider requirements:
terraform {
required_providers {
aws = {
source = "hashicorp/aws"
version = "= 6.0.0-beta1"
}
}
}
When upgrading to version 6.0 of the Terraform AWS provider, please consult the upgrade guide on the Terraform Registry as it contains not only a list of changes but also examples. Because this release introduces breaking changes, we recommend pinning your provider version to protect against unexpected results.
For the full list of updates in version 6.0, please refer to the summary of changes on GitHub. The beta will run for six weeks. Please submit any feedback by creating an issue in the provider using the beta-feedback form.
To learn the basics of Terraform using this provider, follow the hands-on tutorials for getting started with Terraform on AWS on our developer education platform. Interact with AWS services, including AWS Lambda, Amazon RDS, and AWS IAM by following the AWS services tutorials.
If you are currently using Terraform Community Edition or are completely new to Terraform, try HCP Terraform for free today.
Sign up for the latest HashiCorp news
More blog posts like this one

The AWS GameDay challenge with Terraform
What if learning Terraform was a fun game you could play with your friends?

Announcing HCP Terraform Premium: Infrastructure Lifecycle Management at scale
HCP Terraform Premium offers additional features on top of Standard and Plus plans that focus on private infrastructure and module lifecycle management.

Terraform now supports multiple team tokens
Teams in HCP Terraform can now generate multiple API tokens per team, making multi-pipeline management easier and more secure.