Route 53
Terraform module to create AWS Route53 resources
Inputs
22
commentoptionalstringA comment for the hosted zone. Defaults to `Managed by Terraform`
nullcreateoptionalboolWhether to create Route53 zone
truecreate_dnssec_kms_keyoptionalboolWhether to create a KMS key for DNSSEC signing
truecreate_zoneoptionalboolDetermines whether to create the Route53 zone or lookup an existing zone
truedelegation_set_idoptionalstringThe ID of the reusable delegation set whose NS records you want to assign to the hosted zone. Conflicts with vpc as delegation sets can only be used for public zones
nulldnssec_key_signing_key_nameoptionalstringName of the Route 53 key signing key (KSK). When null, the hosted zone name is used. Set this to match an existing KSK when importing or adopting DNSSEC without recreating the key
nulldnssec_kms_key_aliasesoptionallist(string)A list of aliases to create. Note - due to the use of `toset()`, values must be static strings and not computed values
[]dnssec_kms_key_arnoptionalstringThe ARN of the KMS key to use for DNSSEC signing. Required when `create_dnssec_kms_key` is `false`
nulldnssec_kms_key_descriptionoptionalstringThe description of the key as viewed in AWS console
Route53 DNSSEC KMS Keydnssec_kms_key_tagsoptionalmap(string)Additional tags to apply to the KMS key created for DNSSEC signing
{}enable_accelerated_recoveryoptionalboolWhether to enable Route 53 Accelerated Recovery for the public hosted zone. When enabled, provides a 60-minute RTO for resuming DNS record management if the US East (N. Virginia) Region becomes unavailable. Only applies to public hosted zones
nullenable_dnssecoptionalboolWhether to enable DNSSEC for the Route53 zone
falseforce_destroyoptionalboolWhether to destroy all records (possibly managed outside of Terraform) in the zone when destroying the zone
nullignore_vpcoptionalboolDetermines whether to ignore VPC association changes after creation to avoid disruptive diffs when using `aws_route53_zone_association` resource(s). Changing is a destructive action; users should be prepared to use Terraform state move commands/blocks when changing this value
falsenameoptionalstringThis is the name of the hosted zone
""private_zoneoptionalboolWhether the hosted zone is private. Only applicable when `create_zone = false`
falserecordsoptionalmap(object({ alias = optional(object({ evaluate_target_health = optional(bool, f…A map of Route53 records to create in the zone. The key can be used as the subdomain name, or `name` can be used to specify the full name
{}tagsoptionalmap(string)Tags added to all zones. Will take precedence over tags from the 'zones' variable
{}timeoutsoptionalobject({ create = optional(string) update = optional(string) delete = optional(s…Timeouts for the Route53 zone operations
nullvpcoptionalmap(object({ vpc_id = string vpc_region = optional(string) }))Configuration block(s) specifying VPC(s) to associate with a private hosted zone. Conflicts with the delegation_set_id argument in this resource and any aws_route53_zone_association resource specifying the same zone ID
nullvpc_association_authorizationsoptionalmap(object({ vpc_id = string vpc_region = optional(string) }))A map of VPC association authorizations to create for the Route53 zone
nullvpc_idoptionalstringThe ID of the VPC associated with the existing hosted zone. Only applicable when `create_zone = false`
nullAll 22 are optional — the module deploys with none of them set.
Outputs
16
arnZone ARN of Route53 zone
dnssec_kms_key_arnThe Amazon Resource Name (ARN) of the key
dnssec_kms_key_idThe globally unique identifier for the key
dnssec_kms_key_policyThe IAM resource policy set on the key
dnssec_kms_key_regionThe region for the key
dnssec_signing_key_digest_valueA cryptographic digest of a DNSKEY resource record (RR). DNSKEY records are used to publish the public key that resolvers can use to verify DNSSEC signatures that are used to secure certain kinds of information provided by the DNS system
dnssec_signing_key_dnskey_recordA string that represents a DNSKEY record
dnssec_signing_key_ds_recordA string that represents a delegation signer (DS) record
dnssec_signing_key_idRoute 53 Hosted Zone identifier and KMS Key identifier, separated by a comma (`,`)
dnssec_signing_key_public_keyThe public key, represented as a Base64 encoding, as required by RFC-4034 Page 5
dnssec_signing_key_tagAn integer used to identify the DNSSEC record for the domain name. The process used to calculate the value is described in RFC-4034 Appendix B
idZone ID of Route53 zone
nameName of Route53 zone
name_serversName servers of Route53 zone
primary_name_serverThe Route 53 name server that created the SOA record.
recordsRecords created in the Route53 zone
What the agent wires into the next module. An edge on the architecture diagram is one of these consumed by something else.