Skip to main content
Service Catalog Version 0.96.9Last updated in version 0.96.1

Route 53 Hosted Zones

View SourceRelease Notes

Overview

This service contains code to deploy Route 53 Hosted Zones and AWS Cloud Map Namespaces on AWS.

Route 53 architectureRoute 53 architecture

Features

  • Manage DNS entries using AWS Route 53 or AWS Cloud Map
  • Optionally order and automatically verify ACM wildcard certificates for public zones
  • Automatic health checks to route traffic only to healthy endpoints
  • Automatic integration with other AWS services, such as ELBs

Learn

note

This repo is a part of the Gruntwork Service Catalog, a collection of reusable, battle-tested, production ready infrastructure code. If you’ve never used the Service Catalog before, make sure to read How to use the Gruntwork Service Catalog!

Deploy

Non-production deployment (quick start for learning)

If you just want to try this repo out for experimenting and learning, check out the following resources:

  • examples/for-learning-and-testing folder: The examples/for-learning-and-testing folder contains standalone sample code optimized for learning, experimenting, and testing (but not direct production usage).

Production deployment

If you want to deploy this repo in production, check out the following resources:

Reference

Optional

private_zonesmap(object(…))optional

A map of private Route 53 Hosted Zones. In this map, the key should be the domain name. See examples below.

map(object({
# An optional, arbitrary comment to attach to the private Hosted Zone
comment = string
# The list of VPCs to associate with the private Hosted Zone. You must provide at least one VPC in this list.
vpcs = list(object({
# The ID of the VPC.
id = string
# The region of the VPC. If null, defaults to the region configured on the provider.
region = string
}))
# A mapping of tags to assign to the private Hosted Zone
tags = map(string)
# Whether to destroy all records (possibly managed ouside of Terraform) in the zone when destroying the zone
force_destroy = bool
}))
{}
public_zonesanyoptional

A map of public Route 53 Hosted Zones. In this map, the key should be the domain name. See examples below.

Any types represent complex values of variable type. For details, please consult `variables.tf` in the source repo.
{}
service_discovery_private_namespacesmap(object(…))optional

A map of domain names to configurations for setting up a new private namespace in AWS Cloud Map.

map(object({
# The ID of the VPC where the private hosted zone is restricted to.
vpc_id = string

# A user friendly description for the namespace
description = string
}))
{}

A map of domain names to configurations for setting up a new public namespace in AWS Cloud Map. Note that the domain name must be registered with Route 53.

Any types represent complex values of variable type. For details, please consult `variables.tf` in the source repo.
{}