AWS Route53 (DNS) Terraform Module

Terraform module to provision Route53 DNS records on AWS.


Simple setup

Create a simple Route53 DNS CNAME Record.

    module "record" {
        source      = ""
        version     = "0.1.2"
        domain_name = ""
        records     = [""]
        name        = "example"
        type        = "CNAME"
        ttl         = 300

For more details on a working example, please visit examples/simple

Advanced Setup

If you want to create Route53 DNS Record with enhanced configuration e.g alias to other AWS Service etc., you can use the module like this:

    module "record" {
        source      = ""
        version     = "0.1.2"
        domain_name = ""
        alias = [{
            evaluate_target_health = true,
            zone_id                = "Z1H1xxxxxxxx",
            name                   = ""
        name = "example"
        type = "CNAME"

For more options refer to a working example at examples/advanced


Here are some working examples of using this module:


Name Version
terraform >= 0.12


Name Version
aws n/a


Name Description Type Default Required
alias n/a
evaluate_target_health = bool,
zone_id = string,
name = string
[] no
domain_name The name of the hosted zone to use string n/a yes
name The name of the record string n/a yes
private_zone Whether this is a private hosted zone or not (defaults to false) bool false no
records (Required for non-alias records) A string list of records list(string) null no
ttl (Required for non-alias records) The TTL of the record number null no
type The record type. Valid values are A, AAAA, CAA, CNAME, MX, NAPTR, NS, PTR, SOA, SPF, SRV and TXT string "A" no


Name Description
output n/a


If you want to contribute to this repository check all the guidelines specified here before submitting a new PR.