Route 53 Hosted Zone¶
This document contains information about the Route 53 Hosted Zone service supported in Handel. This Handel service provisions a Route 53 Hosted Zone, in which you can create other DNS records.
Service Limitations¶
The following Route 53 features are not currently supported in this service:
- Domain Name Registration
Manual Steps¶
If you are creating a public zone as a subdomain of another domain (like myapp.mydomain.com), you must register it with your DNS provider.
If you are using Handel for your work at a company or organization of some kind, they likely have a process for registering these hosted zones with their DNS provider. Check with the networking groups in your organization to find out how you can do this.
Parameters¶
Parameter | Type | Required | Default | Description |
---|---|---|---|---|
type | string | Yes | This must always be route53zone for this service type. | |
name | string | Yes | The DNS name for this hosted zone. | |
private | boolean | No | false | Whether or not this is a private zone. If it is a private zone, it is only accessible by the VPC in your account config file. |
tags | Resource Tags | No | Any tags you want to apply to your Hosted Zone |
Example Handel File¶
version: 1
name: my-dns
environments:
dev:
public-zone:
type: route53zone
name: mydomain.example.com
tags:
mytag: mytagvalue
private-zone:
type: route53zone
name: private.myapp # Doesn't have to have a normal top-level domain
private: true
tags:
mytag: mytagvalue
Depending on this service¶
This service outputs the following environment variables:
Environment Variable | Description |
---|---|
<SERVICE_NAME>_ZONE_NAME | The DNS name of hosted zone. |
<SERVICE_NAME>_ZONE_ID | The id of the hosted zone |
<SERVICE_NAME>_ZONE_NAME_SERVERS | A comma-delimited list of the name servers for this hosted zone. For example: ns1.example.com,ns2.example.co.uk |
See Environment Variable Names for information about how the service name is included in the environment variable name.
DNS Records¶
Certain supported services can create an alias record in this zone. The currently supported services are:
API Gateway, Beanstalk, ECS, and ECS (Fargate) can support multiple DNS entries.
See the individual service documentation for how to define the DNS names.
The DNS name must either match or be a subdomain of an existing Route 53 hosted zone name. If the hosted zone is configured in the same Handel environment, you must declare it as a dependency of the service consuming it, so that Handel can make sure that your resources are constructed in the right order.
version: 1
name: my-app
environments:
dev:
dns:
type: route53zone
name: myapp.example.com
private-dns:
type: route53zone
name: internal.myapp
private: true
beanstalk-app:
type: beanstalk
routing:
type: http
dns_names:
- beanstalk.mymapp.example.com
...
dependencies:
- dns
ecs-app:
type: ecs
load_balancer:
type: http
dns_names:
- ecs.myapp.example.com
- ecs.internal.myapp
...
dependencies:
- dns
- private-dns
another-beanstalk:
type: beanstalk
routing:
type: http
dns_names:
- mysite.example.com # This requires that a hosted zone for mysite.example.com have already been configured.
...
Events produced by this service¶
The Route 53 Hosted Zone service does not currently produce events for other Handel services to consume.
Events consumed by this service¶
The Route 53 Hosted Zone service does not currently consume events from other Handle services.