Can I use existing domains for the Reference Architecture, or do I have to set up dummy domains? Why?
Can I use existing domains for the Reference Architecture, or do I have to set up dummy domains? Why?
We strongly recommend buying placeholder domain names from Route 53 so we can get everything working with the Reference Architecture without affecting any of your production domain names. Most `.com` domain names are just $12/yr. You can find the latest pricing [on this page](https://aws.amazon.com/route53/pricing/#Domain_Names). We use terraform to manage all the route53 records in the Reference Architecture, and using existing domains has the risk of either accidentally overwriting your existing records, or introducing modifications to your existing public hosted zone that may overwrite your existing configurations (e.g., tags). Once everything is setup and migrated to the Reference Architecture, you can transfer the domain over to the prod account to have your existing domain managed in terraform and point to the app. --- With that said, we support deploying the Reference Architecture to an existing domain, as long as there is an available and active Route 53 Public Hosted Zone in each of the accounts that we can use to manage the domains in Terraform. So you can use existing domains as long as you create a public hosted zone for it in each of the accounts. It is important that these domains are resolvable, as we use these domains to generate TLS certificates in ACM and run tests after the deployment is done. If you create an unroutable Route 53 public hosted zone (e.g., using your existing domain but not link it to the Hosted Zone to avoid disruption), we will not be able to guarantee the Ref Arch is active and usable at the point of hand off. While we can help resolve issues post deploy, it is best to have these domains available for a smoother hand off. --- Side note: one other DNS setup we support is using delegated subdomains. In this setup, you will create a subdomain that points to NS records for a new Public Hosted Zone that is then managed with Terraform. For example, you may have a top level domain of `gruntwork.io`, and create delegated subdomains of `dev.gruntwork.io` (for the dev account), `stage.gruntwork.io` (for the stage account), and `prod.gruntwork.io` (for the prod account). In this setup, the Public Hosted Zone in each of the accounts manages the subdomain, creating a records on top of that (e.g., `vpn.dev.gruntwork.io` and `gruntwork-sample-app.dev.gruntwork.io`).