CDK Constructs for AWS Route53
Project description
Amazon Route53 Construct Library
This is a developer preview (public beta) module. Releases might lack important features and might have future breaking changes.
To add a public hosted zone:
import route53 = require('@aws-cdk/aws-route53');
new route53.PublicHostedZone(this, 'HostedZone', {
zoneName: 'fully.qualified.domain.com'
});
To add a private hosted zone, use PrivateHostedZone
. Note that
enableDnsHostnames
and enableDnsSupport
must have been enabled for the
VPC you're configuring for private hosted zones.
import ec2 = require('@aws-cdk/aws-ec2');
import route53 = require('@aws-cdk/aws-route53');
const vpc = new ec2.Vpc(this, 'VPC');
const zone = new route53.PrivateHostedZone(this, 'HostedZone', {
zoneName: 'fully.qualified.domain.com',
vpc // At least one VPC has to be added to a Private Hosted Zone.
});
Additional VPCs can be added with zone.addVPC()
.
Adding Records
To add a TXT record to your zone:
import route53 = require('@aws-cdk/aws-route53');
new route53.TxtRecord(this, 'TXTRecord', {
zone: myZone,
recordName: '_foo', // If the name ends with a ".", it will be used as-is;
// if it ends with a "." followed by the zone name, a trailing "." will be added automatically;
// otherwise, a ".", the zone name, and a trailing "." will be added automatically.
// Defaults to zone root if not specified.
values: [ // Will be quoted for you, and " will be escaped automatically.
'Bar!',
'Baz?'
],
ttl: 90, // Optional - default is 1800
});
To add a A record to your zone:
import route53 = require('@aws-cdk/aws-route53');
new route53.ARecord(this, 'ARecord', {
zone: myZone,
target: route53.AddressRecordTarget.fromIpAddresses('1.2.3.4', '5.6.7.8')
})
To add a AAAA record pointing to a CloudFront distribution:
import route53 = require('@aws-cdk/aws-route53');
import targets = require('@aws-cdk/aws-route53-targets');
new route53.AaaaRecord(this, 'Alias', {
zone: myZone,
target: route53.AddressRecordTarget.fromAlias(new targets.CloudFrontTarget(distribution))
})
Constructs are available for A, AAAA, CAA, CNAME, MX, NS, SRV and TXT records.
Use the CaaAmazonRecord
construct to easily restrict certificate authorities
allowed to issue certificates for a domain to Amazon only.
Adding records to existing hosted zones
If you know the ID and Name of a Hosted Zone, you can import it directly:
const zone = HostedZone.import(this, 'MyZone', {
zoneName: 'example.com',
hostedZoneId: 'ZOJJZC49E0EPZ',
});
If you don't know the ID of a Hosted Zone, you can use the HostedZoneProvider
to discover and import it:
const zone = new HostedZoneProvider(this, {
domainName: 'example.com'
}).findAndImport(this, 'MyZone');
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for aws-cdk.aws-route53-0.39.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 824987f7644a9bd8a7daff5f89130c397653c7ec15195ccea63b4ecfaabaa6f9 |
|
MD5 | a35a8fae24d71711cef8f90dd342d65b |
|
BLAKE2b-256 | d81ae8d094b0dcbf2bd254d79c712282715f64470edbbf1317ea878355e54c69 |
Hashes for aws_cdk.aws_route53-0.39.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0f21ae9ce6eab7161c81ae43b1b28542b0c65f46faf57f1d3dd61b5bfdb8c788 |
|
MD5 | 0c566d29fe63de66db2738fb16fbff93 |
|
BLAKE2b-256 | d72762d932d612102d176f318c5f99859afc9414f48535667ec27e7f2a929b82 |