» Resource: aws_route53_zone_association

Manages a Route53 Hosted Zone VPC association. VPC associations can only be made on private zones.

» Example Usage

resource "aws_vpc" "primary" {
  cidr_block           = ""
  enable_dns_hostnames = true
  enable_dns_support   = true

resource "aws_vpc" "secondary" {
  cidr_block           = ""
  enable_dns_hostnames = true
  enable_dns_support   = true

resource "aws_route53_zone" "example" {
  name = "example.com"

  # NOTE: The aws_route53_zone vpc argument accepts multiple configuration
  #       blocks. The below usage of the single vpc configuration, the
  #       lifecycle configuration, and the aws_route53_zone_association
  #       resource is for illustrative purposes (e.g. for a separate
  #       cross-account authorization process, which is not shown here).
  vpc {
    vpc_id = "${aws_vpc.primary.id}"

  lifecycle {
    ignore_changes = ["vpc"]

resource "aws_route53_zone_association" "secondary" {
  zone_id = "${aws_route53_zone.example.zone_id}"
  vpc_id  = "${aws_vpc.secondary.id}"

» Argument Reference

The following arguments are supported:

  • zone_id - (Required) The private hosted zone to associate.
  • vpc_id - (Required) The VPC to associate with the private hosted zone.
  • vpc_region - (Optional) The VPC's region. Defaults to the region of the AWS provider.

» Attributes Reference

In addition to all arguments above, the following attributes are exported:

  • id - The calculated unique identifier for the association.
  • zone_id - The ID of the hosted zone for the association.
  • vpc_id - The ID of the VPC for the association.
  • vpc_region - The region in which the VPC identified by vpc_id was created.

» Import

Route 53 Hosted Zone Associations can be imported via the Hosted Zone ID and VPC ID, separated by a colon (:), e.g.

$ terraform import aws_route53_zone_association.example Z123456ABCDEFG:vpc-12345678