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.
The following Route 53 features are not currently supported in this service:
- Domain Name Registration
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.
|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:
|<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.
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.