@aws-cdk/aws-route53
- Version 1.204.0
- Published
- 1.87 MB
- 7 dependencies
- Apache-2.0 license
Install
npm i @aws-cdk/aws-route53
yarn add @aws-cdk/aws-route53
pnpm add @aws-cdk/aws-route53
Overview
The CDK Construct Library for AWS::Route53
Index
Classes
Interfaces
Enums
Namespaces
Classes
class AaaaRecord
class AaaaRecord extends RecordSet {}
A DNS AAAA record
AWS::Route53::RecordSet
constructor
constructor(scope: Construct, id: string, props: AaaaRecordProps);
class AddressRecordTarget
class AddressRecordTarget extends RecordTarget {}
Target for a DNS A Record
Deprecated
Use RecordTarget
class ARecord
class ARecord extends RecordSet {}
A DNS A record
AWS::Route53::RecordSet
constructor
constructor(scope: Construct, id: string, props: ARecordProps);
class CaaAmazonRecord
class CaaAmazonRecord extends CaaRecord {}
A DNS Amazon CAA record.
A CAA record to restrict certificate authorities allowed to issue certificates for a domain to Amazon only.
AWS::Route53::RecordSet
constructor
constructor(scope: Construct, id: string, props: CaaAmazonRecordProps);
class CaaRecord
class CaaRecord extends RecordSet {}
A DNS CAA record
AWS::Route53::RecordSet
constructor
constructor(scope: Construct, id: string, props: CaaRecordProps);
class CfnCidrCollection
class CfnCidrCollection extends cdk.CfnResource implements cdk.IInspectable {}
A CloudFormation
AWS::Route53::CidrCollection
Creates a CIDR collection in the current AWS account.
AWS::Route53::CidrCollection external
http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-cidrcollection.html
constructor
constructor(scope: cdk.Construct, id: string, props: CfnCidrCollectionProps);
Create a new
AWS::Route53::CidrCollection
.Parameter scope
scope in which this resource is defined
Parameter id
scoped id of the resource
Parameter props
resource properties
property attrArn
readonly attrArn: string;
"The Amazon resource name (ARN) to uniquely identify the AWS resource. Arn
property attrId
readonly attrId: string;
The UUID of the CIDR collection. Id
property CFN_RESOURCE_TYPE_NAME
static readonly CFN_RESOURCE_TYPE_NAME: string;
The CloudFormation resource type name for this resource class.
property cfnProperties
readonly cfnProperties: { [key: string]: any };
property locations
locations: any;
A complex type that contains information about the list of CIDR locations.
http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-cidrcollection.html#cfn-route53-cidrcollection-locations
property name
name: string;
The name of a CIDR collection.
http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-cidrcollection.html#cfn-route53-cidrcollection-name
method inspect
inspect: (inspector: cdk.TreeInspector) => void;
Examines the CloudFormation resource and discloses attributes.
Parameter inspector
tree inspector to collect and process attributes
method renderProperties
protected renderProperties: (props: { [key: string]: any }) => { [key: string]: any;};
class CfnDNSSEC
class CfnDNSSEC extends cdk.CfnResource implements cdk.IInspectable {}
A CloudFormation
AWS::Route53::DNSSEC
The
AWS::Route53::DNSSEC
resource is used to enable DNSSEC signing in a hosted zone.AWS::Route53::DNSSEC external
http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-dnssec.html
constructor
constructor(scope: cdk.Construct, id: string, props: CfnDNSSECProps);
Create a new
AWS::Route53::DNSSEC
.Parameter scope
scope in which this resource is defined
Parameter id
scoped id of the resource
Parameter props
resource properties
property CFN_RESOURCE_TYPE_NAME
static readonly CFN_RESOURCE_TYPE_NAME: string;
The CloudFormation resource type name for this resource class.
property cfnProperties
readonly cfnProperties: { [key: string]: any };
property hostedZoneId
hostedZoneId: string;
A unique string (ID) that is used to identify a hosted zone. For example:
Z00001111A1ABCaaABC11
.http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-dnssec.html#cfn-route53-dnssec-hostedzoneid
method inspect
inspect: (inspector: cdk.TreeInspector) => void;
Examines the CloudFormation resource and discloses attributes.
Parameter inspector
tree inspector to collect and process attributes
method renderProperties
protected renderProperties: (props: { [key: string]: any }) => { [key: string]: any;};
class CfnHealthCheck
class CfnHealthCheck extends cdk.CfnResource implements cdk.IInspectable {}
A CloudFormation
AWS::Route53::HealthCheck
The
AWS::Route53::HealthCheck
resource is a Route 53 resource type that contains settings for a Route 53 health check.For information about associating health checks with records, see [HealthCheckId](https://docs.aws.amazon.com/Route53/latest/APIReference/API_ResourceRecordSet.html#Route53-Type-ResourceRecordSet-HealthCheckId) in [ChangeResourceRecordSets](https://docs.aws.amazon.com/Route53/latest/APIReference/API_ChangeResourceRecordSets.html) .
> You can't create a health check with simple routing.
*ELB Load Balancers*
If you're registering EC2 instances with an Elastic Load Balancing (ELB) load balancer, do not create Amazon Route 53 health checks for the EC2 instances. When you register an EC2 instance with a load balancer, you configure settings for an ELB health check, which performs a similar function to a Route 53 health check.
*Private Hosted Zones*
You can associate health checks with failover records in a private hosted zone. Note the following:
- Route 53 health checkers are outside the VPC. To check the health of an endpoint within a VPC by IP address, you must assign a public IP address to the instance in the VPC. - You can configure a health checker to check the health of an external resource that the instance relies on, such as a database server. - You can create a CloudWatch metric, associate an alarm with the metric, and then create a health check that is based on the state of the alarm. For example, you might create a CloudWatch metric that checks the status of the Amazon EC2
StatusCheckFailed
metric, add an alarm to the metric, and then create a health check that is based on the state of the alarm. For information about creating CloudWatch metrics and alarms by using the CloudWatch console, see the [Amazon CloudWatch User Guide](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/WhatIsCloudWatch.html) .AWS::Route53::HealthCheck external
http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-healthcheck.html
constructor
constructor(scope: cdk.Construct, id: string, props: CfnHealthCheckProps);
Create a new
AWS::Route53::HealthCheck
.Parameter scope
scope in which this resource is defined
Parameter id
scoped id of the resource
Parameter props
resource properties
property attrHealthCheckId
readonly attrHealthCheckId: string;
The identifier that Amazon Route 53 assigned to the health check when you created it. When you add or update a resource record set, you use this value to specify which health check to use. The value can be up to 64 characters long. HealthCheckId
property CFN_RESOURCE_TYPE_NAME
static readonly CFN_RESOURCE_TYPE_NAME: string;
The CloudFormation resource type name for this resource class.
property cfnProperties
readonly cfnProperties: { [key: string]: any };
property healthCheckConfig
healthCheckConfig: any;
A complex type that contains detailed information about one health check.
For the values to enter for
HealthCheckConfig
, see [HealthCheckConfig](https://docs.aws.amazon.com/Route53/latest/APIReference/API_HealthCheckConfig.html)http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-healthcheck.html#cfn-route53-healthcheck-healthcheckconfig
property healthCheckTags
healthCheckTags: any;
The
HealthCheckTags
property describes key-value pairs that are associated with anAWS::Route53::HealthCheck
resource.http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-healthcheck.html#cfn-route53-healthcheck-healthchecktags
method inspect
inspect: (inspector: cdk.TreeInspector) => void;
Examines the CloudFormation resource and discloses attributes.
Parameter inspector
tree inspector to collect and process attributes
method renderProperties
protected renderProperties: (props: { [key: string]: any }) => { [key: string]: any;};
class CfnHostedZone
class CfnHostedZone extends cdk.CfnResource implements cdk.IInspectable {}
A CloudFormation
AWS::Route53::HostedZone
Creates a new public or private hosted zone. You create records in a public hosted zone to define how you want to route traffic on the internet for a domain, such as example.com, and its subdomains (apex.example.com, acme.example.com). You create records in a private hosted zone to define how you want to route traffic for a domain and its subdomains within one or more Amazon Virtual Private Clouds (Amazon VPCs).
> You can't convert a public hosted zone to a private hosted zone or vice versa. Instead, you must create a new hosted zone with the same name and create new resource record sets.
For more information about charges for hosted zones, see [Amazon Route 53 Pricing](https://docs.aws.amazon.com/route53/pricing/) .
Note the following:
- You can't create a hosted zone for a top-level domain (TLD) such as .com. - If your domain is registered with a registrar other than Route 53, you must update the name servers with your registrar to make Route 53 the DNS service for the domain. For more information, see [Migrating DNS Service for an Existing Domain to Amazon Route 53](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/MigratingDNS.html) in the *Amazon Route 53 Developer Guide* .
When you submit a
CreateHostedZone
request, the initial status of the hosted zone isPENDING
. For public hosted zones, this means that the NS and SOA records are not yet available on all Route 53 DNS servers. When the NS and SOA records are available, the status of the zone changes toINSYNC
.The
CreateHostedZone
request requires the caller to have anec2:DescribeVpcs
permission.> When creating private hosted zones, the Amazon VPC must belong to the same partition where the hosted zone is created. A partition is a group of AWS Regions . Each AWS account is scoped to one partition. > > The following are the supported partitions: > > -
aws
- AWS Regions > -aws-cn
- China Regions > -aws-us-gov
- AWS GovCloud (US) Region > > For more information, see [Access Management](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) in the *AWS General Reference* .AWS::Route53::HostedZone external
http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-hostedzone.html
constructor
constructor(scope: cdk.Construct, id: string, props?: CfnHostedZoneProps);
Create a new
AWS::Route53::HostedZone
.Parameter scope
scope in which this resource is defined
Parameter id
scoped id of the resource
Parameter props
resource properties
property attrId
readonly attrId: string;
The ID that Amazon Route 53 assigned to the hosted zone when you created it. Id
property attrNameServers
readonly attrNameServers: string[];
Returns the set of name servers for the specific hosted zone. For example:
ns1.example.com
.This attribute is not supported for private hosted zones. NameServers
property CFN_RESOURCE_TYPE_NAME
static readonly CFN_RESOURCE_TYPE_NAME: string;
The CloudFormation resource type name for this resource class.
property cfnProperties
readonly cfnProperties: { [key: string]: any };
property hostedZoneConfig
hostedZoneConfig: any;
A complex type that contains an optional comment.
If you don't want to specify a comment, omit the
HostedZoneConfig
andComment
elements.http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-hostedzone.html#cfn-route53-hostedzone-hostedzoneconfig
property name
name: string;
The name of the domain. Specify a fully qualified domain name, for example, *www.example.com* . The trailing dot is optional; Amazon Route 53 assumes that the domain name is fully qualified. This means that Route 53 treats *www.example.com* (without a trailing dot) and *www.example.com.* (with a trailing dot) as identical.
If you're creating a public hosted zone, this is the name you have registered with your DNS registrar. If your domain name is registered with a registrar other than Route 53, change the name servers for your domain to the set of
NameServers
that are returned by theFn::GetAtt
intrinsic function.http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-hostedzone.html#cfn-route53-hostedzone-name
property queryLoggingConfig
queryLoggingConfig: any;
Creates a configuration for DNS query logging. After you create a query logging configuration, Amazon Route 53 begins to publish log data to an Amazon CloudWatch Logs log group.
DNS query logs contain information about the queries that Route 53 receives for a specified public hosted zone, such as the following:
- Route 53 edge location that responded to the DNS query - Domain or subdomain that was requested - DNS record type, such as A or AAAA - DNS response code, such as
NoError
orServFail
- **Log Group and Resource Policy** - Before you create a query logging configuration, perform the following operations.
> If you create a query logging configuration using the Route 53 console, Route 53 performs these operations automatically.
- Create a CloudWatch Logs log group, and make note of the ARN, which you specify when you create a query logging configuration. Note the following:
- You must create the log group in the us-east-1 region. - You must use the same AWS account to create the log group and the hosted zone that you want to configure query logging for. - When you create log groups for query logging, we recommend that you use a consistent prefix, for example:
/aws/route53/ *hosted zone name*
In the next step, you'll create a resource policy, which controls access to one or more log groups and the associated AWS resources, such as Route 53 hosted zones. There's a limit on the number of resource policies that you can create, so we recommend that you use a consistent prefix so you can use the same resource policy for all the log groups that you create for query logging. - Create a CloudWatch Logs resource policy, and give it the permissions that Route 53 needs to create log streams and to send query logs to log streams. For the value of
Resource
, specify the ARN for the log group that you created in the previous step. To use the same resource policy for all the CloudWatch Logs log groups that you created for query logging configurations, replace the hosted zone name with*
, for example:arn:aws:logs:us-east-1:123412341234:log-group:/aws/route53/*
To avoid the confused deputy problem, a security issue where an entity without a permission for an action can coerce a more-privileged entity to perform it, you can optionally limit the permissions that a service has to a resource in a resource-based policy by supplying the following values:
- For
aws:SourceArn
, supply the hosted zone ARN used in creating the query logging configuration. For example,aws:SourceArn: arn:aws:route53:::hostedzone/hosted zone ID
. - Foraws:SourceAccount
, supply the account ID for the account that creates the query logging configuration. For example,aws:SourceAccount:111111111111
.For more information, see [The confused deputy problem](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html) in the *AWS IAM User Guide* .
> You can't use the CloudWatch console to create or edit a resource policy. You must use the CloudWatch API, one of the AWS SDKs, or the AWS CLI . - **Log Streams and Edge Locations** - When Route 53 finishes creating the configuration for DNS query logging, it does the following:
- Creates a log stream for an edge location the first time that the edge location responds to DNS queries for the specified hosted zone. That log stream is used to log all queries that Route 53 responds to for that edge location. - Begins to send query logs to the applicable log stream.
The name of each log stream is in the following format:
*hosted zone ID* / *edge location code*
The edge location code is a three-letter code and an arbitrarily assigned number, for example, DFW3. The three-letter code typically corresponds with the International Air Transport Association airport code for an airport near the edge location. (These abbreviations might change in the future.) For a list of edge locations, see "The Route 53 Global Network" on the [Route 53 Product Details](https://docs.aws.amazon.com/route53/details/) page. - **Queries That Are Logged** - Query logs contain only the queries that DNS resolvers forward to Route 53. If a DNS resolver has already cached the response to a query (such as the IP address for a load balancer for example.com), the resolver will continue to return the cached response. It doesn't forward another query to Route 53 until the TTL for the corresponding resource record set expires. Depending on how many DNS queries are submitted for a resource record set, and depending on the TTL for that resource record set, query logs might contain information about only one query out of every several thousand queries that are submitted to DNS. For more information about how DNS works, see [Routing Internet Traffic to Your Website or Web Application](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/welcome-dns-service.html) in the *Amazon Route 53 Developer Guide* . - **Log File Format** - For a list of the values in each query log and the format of each value, see [Logging DNS Queries](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/query-logs.html) in the *Amazon Route 53 Developer Guide* . - **Pricing** - For information about charges for query logs, see [Amazon CloudWatch Pricing](https://docs.aws.amazon.com/cloudwatch/pricing/) . - **How to Stop Logging** - If you want Route 53 to stop sending query logs to CloudWatch Logs, delete the query logging configuration. For more information, see [DeleteQueryLoggingConfig](https://docs.aws.amazon.com/Route53/latest/APIReference/API_DeleteQueryLoggingConfig.html) .
http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-hostedzone.html#cfn-route53-hostedzone-queryloggingconfig
property tags
readonly tags: cdk.TagManager;
Adds, edits, or deletes tags for a health check or a hosted zone.
For information about using tags for cost allocation, see [Using Cost Allocation Tags](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html) in the *AWS Billing and Cost Management User Guide* .
http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-hostedzone.html#cfn-route53-hostedzone-hostedzonetags
property vpcs
vpcs: any;
*Private hosted zones:* A complex type that contains information about the VPCs that are associated with the specified hosted zone.
> For public hosted zones, omit
VPCs
,VPCId
, andVPCRegion
.http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-hostedzone.html#cfn-route53-hostedzone-vpcs
method inspect
inspect: (inspector: cdk.TreeInspector) => void;
Examines the CloudFormation resource and discloses attributes.
Parameter inspector
tree inspector to collect and process attributes
method renderProperties
protected renderProperties: (props: { [key: string]: any }) => { [key: string]: any;};
class CfnKeySigningKey
class CfnKeySigningKey extends cdk.CfnResource implements cdk.IInspectable {}
A CloudFormation
AWS::Route53::KeySigningKey
The
AWS::Route53::KeySigningKey
resource creates a new key-signing key (KSK) in a hosted zone. The hosted zone ID is passed as a parameter in the KSK properties. You can specify the properties of this KSK using theName
,Status
, andKeyManagementServiceArn
properties of the resource.AWS::Route53::KeySigningKey external
http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-keysigningkey.html
constructor
constructor(scope: cdk.Construct, id: string, props: CfnKeySigningKeyProps);
Create a new
AWS::Route53::KeySigningKey
.Parameter scope
scope in which this resource is defined
Parameter id
scoped id of the resource
Parameter props
resource properties
property CFN_RESOURCE_TYPE_NAME
static readonly CFN_RESOURCE_TYPE_NAME: string;
The CloudFormation resource type name for this resource class.
property cfnProperties
readonly cfnProperties: { [key: string]: any };
property hostedZoneId
hostedZoneId: string;
The unique string (ID) that is used to identify a hosted zone. For example:
Z00001111A1ABCaaABC11
.http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-keysigningkey.html#cfn-route53-keysigningkey-hostedzoneid
property keyManagementServiceArn
keyManagementServiceArn: string;
The Amazon resource name (ARN) for a customer managed customer master key (CMK) in AWS Key Management Service ( AWS KMS ). The
KeyManagementServiceArn
must be unique for each key-signing key (KSK) in a single hosted zone. For example:arn:aws:kms:us-east-1:111122223333:key/111a2222-a11b-1ab1-2ab2-1ab21a2b3a111
.http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-keysigningkey.html#cfn-route53-keysigningkey-keymanagementservicearn
property name
name: string;
A string used to identify a key-signing key (KSK).
Name
can include numbers, letters, and underscores (_).Name
must be unique for each key-signing key in the same hosted zone.http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-keysigningkey.html#cfn-route53-keysigningkey-name
property status
status: string;
A string that represents the current key-signing key (KSK) status.
Status can have one of the following values:
- **ACTIVE** - The KSK is being used for signing. - **INACTIVE** - The KSK is not being used for signing. - **DELETING** - The KSK is in the process of being deleted. - **ACTION_NEEDED** - There is a problem with the KSK that requires you to take action to resolve. For example, the customer managed key might have been deleted, or the permissions for the customer managed key might have been changed. - **INTERNAL_FAILURE** - There was an error during a request. Before you can continue to work with DNSSEC signing, including actions that involve this KSK, you must correct the problem. For example, you may need to activate or deactivate the KSK.
http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-keysigningkey.html#cfn-route53-keysigningkey-status
method inspect
inspect: (inspector: cdk.TreeInspector) => void;
Examines the CloudFormation resource and discloses attributes.
Parameter inspector
tree inspector to collect and process attributes
method renderProperties
protected renderProperties: (props: { [key: string]: any }) => { [key: string]: any;};
class CfnRecordSet
class CfnRecordSet extends cdk.CfnResource implements cdk.IInspectable {}
A CloudFormation
AWS::Route53::RecordSet
Information about the record that you want to create.
The
AWS::Route53::RecordSet
type can be used as a standalone resource or as an embedded property in theAWS::Route53::RecordSetGroup
type. Note that someAWS::Route53::RecordSet
properties are valid only when used withinAWS::Route53::RecordSetGroup
.For more information, see [ChangeResourceRecordSets](https://docs.aws.amazon.com/Route53/latest/APIReference/API_ChangeResourceRecordSets.html) in the *Amazon Route 53 API Reference* .
AWS::Route53::RecordSet external
http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html
constructor
constructor(scope: cdk.Construct, id: string, props: CfnRecordSetProps);
Create a new
AWS::Route53::RecordSet
.Parameter scope
scope in which this resource is defined
Parameter id
scoped id of the resource
Parameter props
resource properties
property aliasTarget
aliasTarget: any;
*Alias resource record sets only:* Information about the AWS resource, such as a CloudFront distribution or an Amazon S3 bucket, that you want to route traffic to.
If you're creating resource records sets for a private hosted zone, note the following:
- You can't create an alias resource record set in a private hosted zone to route traffic to a CloudFront distribution. - For information about creating failover resource record sets in a private hosted zone, see [Configuring Failover in a Private Hosted Zone](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html) in the *Amazon Route 53 Developer Guide* .
http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-aliastarget
property CFN_RESOURCE_TYPE_NAME
static readonly CFN_RESOURCE_TYPE_NAME: string;
The CloudFormation resource type name for this resource class.
property cfnProperties
readonly cfnProperties: { [key: string]: any };
property cidrRoutingConfig
cidrRoutingConfig: any;
The object that is specified in resource record set object when you are linking a resource record set to a CIDR location.
A
LocationName
with an asterisk “*” can be used to create a default CIDR record.CollectionId
is still required for default record.http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-cidrroutingconfig
property comment
comment: string;
*Optional:* Any comments you want to include about a change batch request.
http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-comment
property failover
failover: string;
*Failover resource record sets only:* To configure failover, you add the
Failover
element to two resource record sets. For one resource record set, you specifyPRIMARY
as the value forFailover
; for the other resource record set, you specifySECONDARY
. In addition, you include theHealthCheckId
element and specify the health check that you want Amazon Route 53 to perform for each resource record set.Except where noted, the following failover behaviors assume that you have included the
HealthCheckId
element in both resource record sets:- When the primary resource record set is healthy, Route 53 responds to DNS queries with the applicable value from the primary resource record set regardless of the health of the secondary resource record set. - When the primary resource record set is unhealthy and the secondary resource record set is healthy, Route 53 responds to DNS queries with the applicable value from the secondary resource record set. - When the secondary resource record set is unhealthy, Route 53 responds to DNS queries with the applicable value from the primary resource record set regardless of the health of the primary resource record set. - If you omit the
HealthCheckId
element for the secondary resource record set, and if the primary resource record set is unhealthy, Route 53 always responds to DNS queries with the applicable value from the secondary resource record set. This is true regardless of the health of the associated endpoint.You can't create non-failover resource record sets that have the same values for the
Name
andType
elements as failover resource record sets.For failover alias resource record sets, you must also include the
EvaluateTargetHealth
element and set the value to true.For more information about configuring failover for Route 53, see the following topics in the *Amazon Route 53 Developer Guide* :
- [Route 53 Health Checks and DNS Failover](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html) - [Configuring Failover in a Private Hosted Zone](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html)
http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-failover
property geoLocation
geoLocation: any;
*Geolocation resource record sets only:* A complex type that lets you control how Amazon Route 53 responds to DNS queries based on the geographic origin of the query. For example, if you want all queries from Africa to be routed to a web server with an IP address of
192.0.2.111
, create a resource record set with aType
ofA
and aContinentCode
ofAF
.> Although creating geolocation and geolocation alias resource record sets in a private hosted zone is allowed, it's not supported.
If you create separate resource record sets for overlapping geographic regions (for example, one resource record set for a continent and one for a country on the same continent), priority goes to the smallest geographic region. This allows you to route most queries for a continent to one resource and to route queries for a country on that continent to a different resource.
You can't create two geolocation resource record sets that specify the same geographic location.
The value
*
in theCountryCode
element matches all geographic locations that aren't specified in other geolocation resource record sets that have the same values for theName
andType
elements.> Geolocation works by mapping IP addresses to locations. However, some IP addresses aren't mapped to geographic locations, so even if you create geolocation resource record sets that cover all seven continents, Route 53 will receive some DNS queries from locations that it can't identify. We recommend that you create a resource record set for which the value of
CountryCode
is*
. Two groups of queries are routed to the resource that you specify in this record: queries that come from locations for which you haven't created geolocation resource record sets and queries from IP addresses that aren't mapped to a location. If you don't create a*
resource record set, Route 53 returns a "no answer" response for queries from those locations.You can't create non-geolocation resource record sets that have the same values for the
Name
andType
elements as geolocation resource record sets.http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-geolocation
property healthCheckId
healthCheckId: string;
If you want Amazon Route 53 to return this resource record set in response to a DNS query only when the status of a health check is healthy, include the
HealthCheckId
element and specify the ID of the applicable health check.Route 53 determines whether a resource record set is healthy based on one of the following:
- By periodically sending a request to the endpoint that is specified in the health check - By aggregating the status of a specified group of health checks (calculated health checks) - By determining the current state of a CloudWatch alarm (CloudWatch metric health checks)
> Route 53 doesn't check the health of the endpoint that is specified in the resource record set, for example, the endpoint specified by the IP address in the
Value
element. When you add aHealthCheckId
element to a resource record set, Route 53 checks the health of the endpoint that you specified in the health check.For more information, see the following topics in the *Amazon Route 53 Developer Guide* :
- [How Amazon Route 53 Determines Whether an Endpoint Is Healthy](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-determining-health-of-endpoints.html) - [Route 53 Health Checks and DNS Failover](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html) - [Configuring Failover in a Private Hosted Zone](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html)
*When to Specify HealthCheckId*
Specifying a value for
HealthCheckId
is useful only when Route 53 is choosing between two or more resource record sets to respond to a DNS query, and you want Route 53 to base the choice in part on the status of a health check. Configuring health checks makes sense only in the following configurations:- *Non-alias resource record sets* : You're checking the health of a group of non-alias resource record sets that have the same routing policy, name, and type (such as multiple weighted records named www.example.com with a type of A) and you specify health check IDs for all the resource record sets.
If the health check status for a resource record set is healthy, Route 53 includes the record among the records that it responds to DNS queries with.
If the health check status for a resource record set is unhealthy, Route 53 stops responding to DNS queries using the value for that resource record set.
If the health check status for all resource record sets in the group is unhealthy, Route 53 considers all resource record sets in the group healthy and responds to DNS queries accordingly. - *Alias resource record sets* : You specify the following settings:
- You set
EvaluateTargetHealth
to true for an alias resource record set in a group of resource record sets that have the same routing policy, name, and type (such as multiple weighted records named www.example.com with a type of A). - You configure the alias resource record set to route traffic to a non-alias resource record set in the same hosted zone. - You specify a health check ID for the non-alias resource record set.If the health check status is healthy, Route 53 considers the alias resource record set to be healthy and includes the alias record among the records that it responds to DNS queries with.
If the health check status is unhealthy, Route 53 stops responding to DNS queries using the alias resource record set.
> The alias resource record set can also route traffic to a *group* of non-alias resource record sets that have the same routing policy, name, and type. In that configuration, associate health checks with all of the resource record sets in the group of non-alias resource record sets.
*Geolocation Routing*
For geolocation resource record sets, if an endpoint is unhealthy, Route 53 looks for a resource record set for the larger, associated geographic region. For example, suppose you have resource record sets for a state in the United States, for the entire United States, for North America, and a resource record set that has
*
forCountryCode
is*
, which applies to all locations. If the endpoint for the state resource record set is unhealthy, Route 53 checks for healthy resource record sets in the following order until it finds a resource record set for which the endpoint is healthy:- The United States - North America - The default resource record set
*Specifying the Health Check Endpoint by Domain Name*
If your health checks specify the endpoint only by domain name, we recommend that you create a separate health check for each endpoint. For example, create a health check for each
HTTP
server that is serving content forwww.example.com
. For the value ofFullyQualifiedDomainName
, specify the domain name of the server (such asus-east-2-www.example.com
), not the name of the resource record sets (www.example.com
).> Health check results will be unpredictable if you do the following: > > - Create a health check that has the same value for
FullyQualifiedDomainName
as the name of a resource record set. > - Associate that health check with the resource record set.http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-healthcheckid
property hostedZoneId
hostedZoneId: string;
The ID of the hosted zone that you want to create records in.
Specify either
HostedZoneName
orHostedZoneId
, but not both. If you have multiple hosted zones with the same domain name, you must specify the hosted zone usingHostedZoneId
.http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-hostedzoneid
property hostedZoneName
hostedZoneName: string;
The name of the hosted zone that you want to create records in. You must include a trailing dot (for example,
www.example.com.
) as part of theHostedZoneName
.When you create a stack using an AWS::Route53::RecordSet that specifies
HostedZoneName
, AWS CloudFormation attempts to find a hosted zone whose name matches the HostedZoneName. If AWS CloudFormation cannot find a hosted zone with a matching domain name, or if there is more than one hosted zone with the specified domain name, AWS CloudFormation will not create the stack.Specify either
HostedZoneName
orHostedZoneId
, but not both. If you have multiple hosted zones with the same domain name, you must specify the hosted zone usingHostedZoneId
.http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-hostedzonename
property multiValueAnswer
multiValueAnswer: any;
*Multivalue answer resource record sets only* : To route traffic approximately randomly to multiple resources, such as web servers, create one multivalue answer record for each resource and specify
true
forMultiValueAnswer
. Note the following:- If you associate a health check with a multivalue answer resource record set, Amazon Route 53 responds to DNS queries with the corresponding IP address only when the health check is healthy. - If you don't associate a health check with a multivalue answer record, Route 53 always considers the record to be healthy. - Route 53 responds to DNS queries with up to eight healthy records; if you have eight or fewer healthy records, Route 53 responds to all DNS queries with all the healthy records. - If you have more than eight healthy records, Route 53 responds to different DNS resolvers with different combinations of healthy records. - When all records are unhealthy, Route 53 responds to DNS queries with up to eight unhealthy records. - If a resource becomes unavailable after a resolver caches a response, client software typically tries another of the IP addresses in the response.
You can't create multivalue answer alias records.
http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-multivalueanswer
property name
name: string;
For
ChangeResourceRecordSets
requests, the name of the record that you want to create, update, or delete. ForListResourceRecordSets
responses, the name of a record in the specified hosted zone.*ChangeResourceRecordSets Only*
Enter a fully qualified domain name, for example,
www.example.com
. You can optionally include a trailing dot. If you omit the trailing dot, Amazon Route 53 assumes that the domain name that you specify is fully qualified. This means that Route 53 treatswww.example.com
(without a trailing dot) andwww.example.com.
(with a trailing dot) as identical.For information about how to specify characters other than
a-z
,0-9
, and-
(hyphen) and how to specify internationalized domain names, see [DNS Domain Name Format](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/DomainNameFormat.html) in the *Amazon Route 53 Developer Guide* .You can use the asterisk (*) wildcard to replace the leftmost label in a domain name, for example,
*.example.com
. Note the following:- The * must replace the entire label. For example, you can't specify
*prod.example.com
orprod*.example.com
. - The * can't replace any of the middle labels, for example, marketing.*.example.com. - If you include * in any position other than the leftmost label in a domain name, DNS treats it as an * character (ASCII 42), not as a wildcard.> You can't use the * wildcard for resource records sets that have a type of NS.
You can use the * wildcard as the leftmost label in a domain name, for example,
*.example.com
. You can't use an * for one of the middle labels, for example,marketing.*.example.com
. In addition, the * must replace the entire label; for example, you can't specifyprod*.example.com
.http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-name
property region
region: string;
*Latency-based resource record sets only:* The Amazon EC2 Region where you created the resource that this resource record set refers to. The resource typically is an AWS resource, such as an EC2 instance or an ELB load balancer, and is referred to by an IP address or a DNS domain name, depending on the record type.
When Amazon Route 53 receives a DNS query for a domain name and type for which you have created latency resource record sets, Route 53 selects the latency resource record set that has the lowest latency between the end user and the associated Amazon EC2 Region. Route 53 then returns the value that is associated with the selected resource record set.
Note the following:
- You can only specify one
ResourceRecord
per latency resource record set. - You can only create one latency resource record set for each Amazon EC2 Region. - You aren't required to create latency resource record sets for all Amazon EC2 Regions. Route 53 will choose the region with the best latency from among the regions that you create latency resource record sets for. - You can't create non-latency resource record sets that have the same values for theName
andType
elements as latency resource record sets.http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-region
property resourceRecords
resourceRecords: string[];
One or more values that correspond with the value that you specified for the
Type
property. For example, if you specifiedA
forType
, you specify one or more IP addresses in IPv4 format forResourceRecords
. For information about the format of values for each record type, see [Supported DNS Resource Record Types](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/ResourceRecordTypes.html) in the *Amazon Route 53 Developer Guide* .Note the following:
- You can specify more than one value for all record types except CNAME and SOA. - The maximum length of a value is 4000 characters. - If you're creating an alias record, omit
ResourceRecords
.http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-resourcerecords
property setIdentifier
setIdentifier: string;
*Resource record sets that have a routing policy other than simple:* An identifier that differentiates among multiple resource record sets that have the same combination of name and type, such as multiple weighted resource record sets named acme.example.com that have a type of A. In a group of resource record sets that have the same name and type, the value of
SetIdentifier
must be unique for each resource record set.For information about routing policies, see [Choosing a Routing Policy](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy.html) in the *Amazon Route 53 Developer Guide* .
http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-setidentifier
property ttl
ttl: string;
The resource record cache time to live (TTL), in seconds. Note the following:
- If you're creating or updating an alias resource record set, omit
TTL
. Amazon Route 53 uses the value ofTTL
for the alias target. - If you're associating this resource record set with a health check (if you're adding aHealthCheckId
element), we recommend that you specify aTTL
of 60 seconds or less so clients respond quickly to changes in health status. - All of the resource record sets in a group of weighted resource record sets must have the same value forTTL
. - If a group of weighted resource record sets includes one or more weighted alias resource record sets for which the alias target is an ELB load balancer, we recommend that you specify aTTL
of 60 seconds for all of the non-alias weighted resource record sets that have the same name and type. Values other than 60 seconds (the TTL for load balancers) will change the effect of the values that you specify forWeight
.http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-ttl
property type
type: string;
The DNS record type. For information about different record types and how data is encoded for them, see [Supported DNS Resource Record Types](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/ResourceRecordTypes.html) in the *Amazon Route 53 Developer Guide* .
Valid values for basic resource record sets:
A
|AAAA
|CAA
|CNAME
|DS
|MX
|NAPTR
|NS
|PTR
|SOA
|SPF
|SRV
|TXT
Values for weighted, latency, geolocation, and failover resource record sets:
A
|AAAA
|CAA
|CNAME
|MX
|NAPTR
|PTR
|SPF
|SRV
|TXT
. When creating a group of weighted, latency, geolocation, or failover resource record sets, specify the same value for all of the resource record sets in the group.Valid values for multivalue answer resource record sets:
A
|AAAA
|MX
|NAPTR
|PTR
|SPF
|SRV
|TXT
> SPF records were formerly used to verify the identity of the sender of email messages. However, we no longer recommend that you create resource record sets for which the value of
Type
isSPF
. RFC 7208, *Sender Policy Framework (SPF) for Authorizing Use of Domains in Email, Version 1* , has been updated to say, "...[I]ts existence and mechanism defined in [RFC4408] have led to some interoperability issues. Accordingly, its use is no longer appropriate for SPF version 1; implementations are not to use it." In RFC 7208, see section 14.1, [The SPF DNS Record Type](https://docs.aws.amazon.com/http://tools.ietf.org/html/rfc7208#section-14.1) .Values for alias resource record sets:
- *Amazon API Gateway custom regional APIs and edge-optimized APIs:*
A
- *CloudFront distributions:*A
If IPv6 is enabled for the distribution, create two resource record sets to route traffic to your distribution, one with a value of
A
and one with a value ofAAAA
. - *Amazon API Gateway environment that has a regionalized subdomain* :A
- *ELB load balancers:*A
|AAAA
- *Amazon S3 buckets:*A
- *Amazon Virtual Private Cloud interface VPC endpoints*A
- *Another resource record set in this hosted zone:* Specify the type of the resource record set that you're creating the alias for. All values are supported exceptNS
andSOA
.> If you're creating an alias record that has the same name as the hosted zone (known as the zone apex), you can't route traffic to a record for which the value of
Type
isCNAME
. This is because the alias record must have the same type as the record you're routing traffic to, and creating a CNAME record for the zone apex isn't supported even for an alias record.http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-type
property weight
weight: number;
*Weighted resource record sets only:* Among resource record sets that have the same combination of DNS name and type, a value that determines the proportion of DNS queries that Amazon Route 53 responds to using the current resource record set. Route 53 calculates the sum of the weights for the resource record sets that have the same combination of DNS name and type. Route 53 then responds to queries based on the ratio of a resource's weight to the total. Note the following:
- You must specify a value for the
Weight
element for every weighted resource record set. - You can only specify oneResourceRecord
per weighted resource record set. - You can't create latency, failover, or geolocation resource record sets that have the same values for theName
andType
elements as weighted resource record sets. - You can create a maximum of 100 weighted resource record sets that have the same values for theName
andType
elements. - For weighted (but not weighted alias) resource record sets, if you setWeight
to0
for a resource record set, Route 53 never responds to queries with the applicable value for that resource record set. However, if you setWeight
to0
for all resource record sets that have the same combination of DNS name and type, traffic is routed to all resources with equal probability.The effect of setting
Weight
to0
is different when you associate health checks with weighted resource record sets. For more information, see [Options for Configuring Route 53 Active-Active and Active-Passive Failover](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-configuring-options.html) in the *Amazon Route 53 Developer Guide* .http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-weight
method inspect
inspect: (inspector: cdk.TreeInspector) => void;
Examines the CloudFormation resource and discloses attributes.
Parameter inspector
tree inspector to collect and process attributes
method renderProperties
protected renderProperties: (props: { [key: string]: any }) => { [key: string]: any;};
class CfnRecordSetGroup
class CfnRecordSetGroup extends cdk.CfnResource implements cdk.IInspectable {}
A CloudFormation
AWS::Route53::RecordSetGroup
A complex type that contains an optional comment, the name and ID of the hosted zone that you want to make changes in, and values for the records that you want to create.
AWS::Route53::RecordSetGroup external
http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-recordsetgroup.html
constructor
constructor(scope: cdk.Construct, id: string, props?: CfnRecordSetGroupProps);
Create a new
AWS::Route53::RecordSetGroup
.Parameter scope
scope in which this resource is defined
Parameter id
scoped id of the resource
Parameter props
resource properties
property CFN_RESOURCE_TYPE_NAME
static readonly CFN_RESOURCE_TYPE_NAME: string;
The CloudFormation resource type name for this resource class.
property cfnProperties
readonly cfnProperties: { [key: string]: any };
property comment
comment: string;
*Optional:* Any comments you want to include about a change batch request.
http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-recordsetgroup.html#cfn-route53-recordsetgroup-comment
property hostedZoneId
hostedZoneId: string;
The ID of the hosted zone that you want to create records in.
Specify either
HostedZoneName
orHostedZoneId
, but not both. If you have multiple hosted zones with the same domain name, you must specify the hosted zone usingHostedZoneId
.http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-recordsetgroup.html#cfn-route53-recordsetgroup-hostedzoneid
property hostedZoneName
hostedZoneName: string;
The name of the hosted zone that you want to create records in. You must include a trailing dot (for example,
www.example.com.
) as part of theHostedZoneName
.When you create a stack using an
AWS::Route53::RecordSet
that specifiesHostedZoneName
, AWS CloudFormation attempts to find a hosted zone whose name matches theHostedZoneName
. If AWS CloudFormation can't find a hosted zone with a matching domain name, or if there is more than one hosted zone with the specified domain name, AWS CloudFormation will not create the stack.Specify either
HostedZoneName
orHostedZoneId
, but not both. If you have multiple hosted zones with the same domain name, you must specify the hosted zone usingHostedZoneId
.http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-recordsetgroup.html#cfn-route53-recordsetgroup-hostedzonename
property recordSets
recordSets: any;
A complex type that contains one
RecordSet
element for each record that you want to create.http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-recordsetgroup.html#cfn-route53-recordsetgroup-recordsets
method inspect
inspect: (inspector: cdk.TreeInspector) => void;
Examines the CloudFormation resource and discloses attributes.
Parameter inspector
tree inspector to collect and process attributes
method renderProperties
protected renderProperties: (props: { [key: string]: any }) => { [key: string]: any;};
class CnameRecord
class CnameRecord extends RecordSet {}
A DNS CNAME record
AWS::Route53::RecordSet
constructor
constructor(scope: Construct, id: string, props: CnameRecordProps);
class CrossAccountZoneDelegationRecord
class CrossAccountZoneDelegationRecord extends CoreConstruct {}
A Cross Account Zone Delegation record
constructor
constructor( scope: Construct, id: string, props: CrossAccountZoneDelegationRecordProps);
class DsRecord
class DsRecord extends RecordSet {}
A DNS DS record
AWS::Route53::RecordSet
constructor
constructor(scope: Construct, id: string, props: DsRecordProps);
class HostedZone
class HostedZone extends Resource implements IHostedZone {}
Container for records, and records contain information about how to route traffic for a specific domain, such as example.com and its subdomains (acme.example.com, zenith.example.com)
constructor
constructor(scope: Construct, id: string, props: HostedZoneProps);
property hostedZoneArn
readonly hostedZoneArn: string;
property hostedZoneId
readonly hostedZoneId: string;
property hostedZoneNameServers
readonly hostedZoneNameServers?: string[];
property vpcs
protected readonly vpcs: CfnHostedZone.VPCProperty[];
VPCs to which this hosted zone will be added
property zoneName
readonly zoneName: string;
method addVpc
addVpc: (vpc: ec2.IVpc) => void;
Add another VPC to this private hosted zone.
Parameter vpc
the other VPC to add.
method fromHostedZoneAttributes
static fromHostedZoneAttributes: ( scope: Construct, id: string, attrs: HostedZoneAttributes) => IHostedZone;
Imports a hosted zone from another stack.
Use when both hosted zone ID and hosted zone name are known.
Parameter scope
the parent Construct for this Construct
Parameter id
the logical name of this Construct
Parameter attrs
the HostedZoneAttributes (hosted zone ID and hosted zone name)
method fromHostedZoneId
static fromHostedZoneId: ( scope: Construct, id: string, hostedZoneId: string) => IHostedZone;
Import a Route 53 hosted zone defined either outside the CDK, or in a different CDK stack
Use when hosted zone ID is known. Hosted zone name becomes unavailable through this query.
Parameter scope
the parent Construct for this Construct
Parameter id
the logical name of this Construct
Parameter hostedZoneId
the ID of the hosted zone to import
method fromLookup
static fromLookup: ( scope: Construct, id: string, query: HostedZoneProviderProps) => IHostedZone;
Lookup a hosted zone in the current account/region based on query parameters. Requires environment, you must specify env for the stack.
Use to easily query hosted zones.
See Also
https://docs.aws.amazon.com/cdk/latest/guide/environments.html
class MxRecord
class MxRecord extends RecordSet {}
A DNS MX record
AWS::Route53::RecordSet
constructor
constructor(scope: Construct, id: string, props: MxRecordProps);
class NsRecord
class NsRecord extends RecordSet {}
A DNS NS record
AWS::Route53::RecordSet
constructor
constructor(scope: Construct, id: string, props: NsRecordProps);
class PrivateHostedZone
class PrivateHostedZone extends HostedZone implements IPrivateHostedZone {}
Create a Route53 private hosted zone for use in one or more VPCs.
Note that
enableDnsHostnames
andenableDnsSupport
must have been enabled for the VPC you're configuring for private hosted zones.AWS::Route53::HostedZone
constructor
constructor(scope: Construct, id: string, props: PrivateHostedZoneProps);
method fromPrivateHostedZoneId
static fromPrivateHostedZoneId: ( scope: Construct, id: string, privateHostedZoneId: string) => IPrivateHostedZone;
Import a Route 53 private hosted zone defined either outside the CDK, or in a different CDK stack
Parameter scope
the parent Construct for this Construct
Parameter id
the logical name of this Construct
Parameter privateHostedZoneId
the ID of the private hosted zone to import
class PublicHostedZone
class PublicHostedZone extends HostedZone implements IPublicHostedZone {}
Create a Route53 public hosted zone.
AWS::Route53::HostedZone
constructor
constructor(scope: Construct, id: string, props: PublicHostedZoneProps);
property crossAccountZoneDelegationRole
readonly crossAccountZoneDelegationRole?: iam.Role;
Role for cross account zone delegation
method addDelegation
addDelegation: ( delegate: IPublicHostedZone, opts?: ZoneDelegationOptions) => void;
Adds a delegation from this zone to a designated zone.
Parameter delegate
the zone being delegated to.
Parameter opts
options for creating the DNS record, if any.
method addVpc
addVpc: (_vpc: ec2.IVpc) => void;
method fromPublicHostedZoneAttributes
static fromPublicHostedZoneAttributes: ( scope: Construct, id: string, attrs: PublicHostedZoneAttributes) => IHostedZone;
Imports a public hosted zone from another stack.
Use when both hosted zone ID and hosted zone name are known.
Parameter scope
the parent Construct for this Construct
Parameter id
the logical name of this Construct
Parameter attrs
the PublicHostedZoneAttributes (hosted zone ID and hosted zone name)
method fromPublicHostedZoneId
static fromPublicHostedZoneId: ( scope: Construct, id: string, publicHostedZoneId: string) => IPublicHostedZone;
Import a Route 53 public hosted zone defined either outside the CDK, or in a different CDK stack
Parameter scope
the parent Construct for this Construct
Parameter id
the logical name of this Construct
Parameter publicHostedZoneId
the ID of the public hosted zone to import
class RecordSet
class RecordSet extends Resource implements IRecordSet {}
A record set.
constructor
constructor(scope: Construct, id: string, props: RecordSetProps);
property domainName
readonly domainName: string;
class RecordTarget
class RecordTarget {}
Type union for a record that accepts multiple types of target.
constructor
protected constructor(values?: string[], aliasTarget?: IAliasRecordTarget);
Parameter values
correspond with the chosen record type (e.g. for 'A' Type, specify one or more IP addresses)
Parameter aliasTarget
alias for targets such as CloudFront distribution to route traffic to
property aliasTarget
readonly aliasTarget?: IAliasRecordTarget;
property values
readonly values?: string[];
method fromAlias
static fromAlias: (aliasTarget: IAliasRecordTarget) => RecordTarget;
Use an alias as target.
method fromIpAddresses
static fromIpAddresses: (...ipAddresses: string[]) => RecordTarget;
Use ip addresses as target.
method fromValues
static fromValues: (...values: string[]) => RecordTarget;
Use string values as target.
class SrvRecord
class SrvRecord extends RecordSet {}
A DNS SRV record
AWS::Route53::RecordSet
constructor
constructor(scope: Construct, id: string, props: SrvRecordProps);
class TxtRecord
class TxtRecord extends RecordSet {}
A DNS TXT record
AWS::Route53::RecordSet
constructor
constructor(scope: Construct, id: string, props: TxtRecordProps);
class VpcEndpointServiceDomainName
class VpcEndpointServiceDomainName extends CoreConstruct {}
A Private DNS configuration for a VPC endpoint service.
constructor
constructor( scope: Construct, id: string, props: VpcEndpointServiceDomainNameProps);
property domainName
domainName: string;
The domain name associated with the private DNS configuration
class ZoneDelegationRecord
class ZoneDelegationRecord extends RecordSet {}
A record to delegate further lookups to a different set of name servers.
constructor
constructor(scope: Construct, id: string, props: ZoneDelegationRecordProps);
Interfaces
interface AaaaRecordProps
interface AaaaRecordProps extends RecordSetOptions {}
Construction properties for a AaaaRecord.
property target
readonly target: RecordTarget;
The target.
interface AliasRecordTargetConfig
interface AliasRecordTargetConfig {}
Represents the properties of an alias target destination.
property dnsName
readonly dnsName: string;
DNS name of the target
property hostedZoneId
readonly hostedZoneId: string;
Hosted zone ID of the target
interface ARecordProps
interface ARecordProps extends RecordSetOptions {}
Construction properties for a ARecord.
property target
readonly target: RecordTarget;
The target.
interface CaaAmazonRecordProps
interface CaaAmazonRecordProps extends RecordSetOptions {}
Construction properties for a CaaAmazonRecord.
interface CaaRecordProps
interface CaaRecordProps extends RecordSetOptions {}
Construction properties for a CaaRecord.
property values
readonly values: CaaRecordValue[];
The values.
interface CaaRecordValue
interface CaaRecordValue {}
Properties for a CAA record value.
interface CfnCidrCollectionProps
interface CfnCidrCollectionProps {}
Properties for defining a
CfnCidrCollection
external
http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-cidrcollection.html
property locations
readonly locations?: | Array<CfnCidrCollection.LocationProperty | cdk.IResolvable> | cdk.IResolvable;
A complex type that contains information about the list of CIDR locations.
http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-cidrcollection.html#cfn-route53-cidrcollection-locations
property name
readonly name: string;
The name of a CIDR collection.
http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-cidrcollection.html#cfn-route53-cidrcollection-name
interface CfnDNSSECProps
interface CfnDNSSECProps {}
Properties for defining a
CfnDNSSEC
external
http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-dnssec.html
property hostedZoneId
readonly hostedZoneId: string;
A unique string (ID) that is used to identify a hosted zone. For example:
Z00001111A1ABCaaABC11
.http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-dnssec.html#cfn-route53-dnssec-hostedzoneid
interface CfnHealthCheckProps
interface CfnHealthCheckProps {}
Properties for defining a
CfnHealthCheck
external
http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-healthcheck.html
property healthCheckConfig
readonly healthCheckConfig: | CfnHealthCheck.HealthCheckConfigProperty | cdk.IResolvable;
A complex type that contains detailed information about one health check.
For the values to enter for
HealthCheckConfig
, see [HealthCheckConfig](https://docs.aws.amazon.com/Route53/latest/APIReference/API_HealthCheckConfig.html)http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-healthcheck.html#cfn-route53-healthcheck-healthcheckconfig
property healthCheckTags
readonly healthCheckTags?: | Array<CfnHealthCheck.HealthCheckTagProperty | cdk.IResolvable> | cdk.IResolvable;
The
HealthCheckTags
property describes key-value pairs that are associated with anAWS::Route53::HealthCheck
resource.http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-healthcheck.html#cfn-route53-healthcheck-healthchecktags
interface CfnHostedZoneProps
interface CfnHostedZoneProps {}
Properties for defining a
CfnHostedZone
external
http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-hostedzone.html
property hostedZoneConfig
readonly hostedZoneConfig?: | CfnHostedZone.HostedZoneConfigProperty | cdk.IResolvable;
A complex type that contains an optional comment.
If you don't want to specify a comment, omit the
HostedZoneConfig
andComment
elements.http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-hostedzone.html#cfn-route53-hostedzone-hostedzoneconfig
property hostedZoneTags
readonly hostedZoneTags?: CfnHostedZone.HostedZoneTagProperty[];
Adds, edits, or deletes tags for a health check or a hosted zone.
For information about using tags for cost allocation, see [Using Cost Allocation Tags](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html) in the *AWS Billing and Cost Management User Guide* .
http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-hostedzone.html#cfn-route53-hostedzone-hostedzonetags
property name
readonly name?: string;
The name of the domain. Specify a fully qualified domain name, for example, *www.example.com* . The trailing dot is optional; Amazon Route 53 assumes that the domain name is fully qualified. This means that Route 53 treats *www.example.com* (without a trailing dot) and *www.example.com.* (with a trailing dot) as identical.
If you're creating a public hosted zone, this is the name you have registered with your DNS registrar. If your domain name is registered with a registrar other than Route 53, change the name servers for your domain to the set of
NameServers
that are returned by theFn::GetAtt
intrinsic function.http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-hostedzone.html#cfn-route53-hostedzone-name
property queryLoggingConfig
readonly queryLoggingConfig?: | CfnHostedZone.QueryLoggingConfigProperty | cdk.IResolvable;
Creates a configuration for DNS query logging. After you create a query logging configuration, Amazon Route 53 begins to publish log data to an Amazon CloudWatch Logs log group.
DNS query logs contain information about the queries that Route 53 receives for a specified public hosted zone, such as the following:
- Route 53 edge location that responded to the DNS query - Domain or subdomain that was requested - DNS record type, such as A or AAAA - DNS response code, such as
NoError
orServFail
- **Log Group and Resource Policy** - Before you create a query logging configuration, perform the following operations.
> If you create a query logging configuration using the Route 53 console, Route 53 performs these operations automatically.
- Create a CloudWatch Logs log group, and make note of the ARN, which you specify when you create a query logging configuration. Note the following:
- You must create the log group in the us-east-1 region. - You must use the same AWS account to create the log group and the hosted zone that you want to configure query logging for. - When you create log groups for query logging, we recommend that you use a consistent prefix, for example:
/aws/route53/ *hosted zone name*
In the next step, you'll create a resource policy, which controls access to one or more log groups and the associated AWS resources, such as Route 53 hosted zones. There's a limit on the number of resource policies that you can create, so we recommend that you use a consistent prefix so you can use the same resource policy for all the log groups that you create for query logging. - Create a CloudWatch Logs resource policy, and give it the permissions that Route 53 needs to create log streams and to send query logs to log streams. For the value of
Resource
, specify the ARN for the log group that you created in the previous step. To use the same resource policy for all the CloudWatch Logs log groups that you created for query logging configurations, replace the hosted zone name with*
, for example:arn:aws:logs:us-east-1:123412341234:log-group:/aws/route53/*
To avoid the confused deputy problem, a security issue where an entity without a permission for an action can coerce a more-privileged entity to perform it, you can optionally limit the permissions that a service has to a resource in a resource-based policy by supplying the following values:
- For
aws:SourceArn
, supply the hosted zone ARN used in creating the query logging configuration. For example,aws:SourceArn: arn:aws:route53:::hostedzone/hosted zone ID
. - Foraws:SourceAccount
, supply the account ID for the account that creates the query logging configuration. For example,aws:SourceAccount:111111111111
.For more information, see [The confused deputy problem](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html) in the *AWS IAM User Guide* .
> You can't use the CloudWatch console to create or edit a resource policy. You must use the CloudWatch API, one of the AWS SDKs, or the AWS CLI . - **Log Streams and Edge Locations** - When Route 53 finishes creating the configuration for DNS query logging, it does the following:
- Creates a log stream for an edge location the first time that the edge location responds to DNS queries for the specified hosted zone. That log stream is used to log all queries that Route 53 responds to for that edge location. - Begins to send query logs to the applicable log stream.
The name of each log stream is in the following format:
*hosted zone ID* / *edge location code*
The edge location code is a three-letter code and an arbitrarily assigned number, for example, DFW3. The three-letter code typically corresponds with the International Air Transport Association airport code for an airport near the edge location. (These abbreviations might change in the future.) For a list of edge locations, see "The Route 53 Global Network" on the [Route 53 Product Details](https://docs.aws.amazon.com/route53/details/) page. - **Queries That Are Logged** - Query logs contain only the queries that DNS resolvers forward to Route 53. If a DNS resolver has already cached the response to a query (such as the IP address for a load balancer for example.com), the resolver will continue to return the cached response. It doesn't forward another query to Route 53 until the TTL for the corresponding resource record set expires. Depending on how many DNS queries are submitted for a resource record set, and depending on the TTL for that resource record set, query logs might contain information about only one query out of every several thousand queries that are submitted to DNS. For more information about how DNS works, see [Routing Internet Traffic to Your Website or Web Application](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/welcome-dns-service.html) in the *Amazon Route 53 Developer Guide* . - **Log File Format** - For a list of the values in each query log and the format of each value, see [Logging DNS Queries](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/query-logs.html) in the *Amazon Route 53 Developer Guide* . - **Pricing** - For information about charges for query logs, see [Amazon CloudWatch Pricing](https://docs.aws.amazon.com/cloudwatch/pricing/) . - **How to Stop Logging** - If you want Route 53 to stop sending query logs to CloudWatch Logs, delete the query logging configuration. For more information, see [DeleteQueryLoggingConfig](https://docs.aws.amazon.com/Route53/latest/APIReference/API_DeleteQueryLoggingConfig.html) .
http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-hostedzone.html#cfn-route53-hostedzone-queryloggingconfig
property vpcs
readonly vpcs?: | Array<CfnHostedZone.VPCProperty | cdk.IResolvable> | cdk.IResolvable;
*Private hosted zones:* A complex type that contains information about the VPCs that are associated with the specified hosted zone.
> For public hosted zones, omit
VPCs
,VPCId
, andVPCRegion
.http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-hostedzone.html#cfn-route53-hostedzone-vpcs
interface CfnKeySigningKeyProps
interface CfnKeySigningKeyProps {}
Properties for defining a
CfnKeySigningKey
external
http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-keysigningkey.html
property hostedZoneId
readonly hostedZoneId: string;
The unique string (ID) that is used to identify a hosted zone. For example:
Z00001111A1ABCaaABC11
.http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-keysigningkey.html#cfn-route53-keysigningkey-hostedzoneid
property keyManagementServiceArn
readonly keyManagementServiceArn: string;
The Amazon resource name (ARN) for a customer managed customer master key (CMK) in AWS Key Management Service ( AWS KMS ). The
KeyManagementServiceArn
must be unique for each key-signing key (KSK) in a single hosted zone. For example:arn:aws:kms:us-east-1:111122223333:key/111a2222-a11b-1ab1-2ab2-1ab21a2b3a111
.http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-keysigningkey.html#cfn-route53-keysigningkey-keymanagementservicearn
property name
readonly name: string;
A string used to identify a key-signing key (KSK).
Name
can include numbers, letters, and underscores (_).Name
must be unique for each key-signing key in the same hosted zone.http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-keysigningkey.html#cfn-route53-keysigningkey-name
property status
readonly status: string;
A string that represents the current key-signing key (KSK) status.
Status can have one of the following values:
- **ACTIVE** - The KSK is being used for signing. - **INACTIVE** - The KSK is not being used for signing. - **DELETING** - The KSK is in the process of being deleted. - **ACTION_NEEDED** - There is a problem with the KSK that requires you to take action to resolve. For example, the customer managed key might have been deleted, or the permissions for the customer managed key might have been changed. - **INTERNAL_FAILURE** - There was an error during a request. Before you can continue to work with DNSSEC signing, including actions that involve this KSK, you must correct the problem. For example, you may need to activate or deactivate the KSK.
http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-keysigningkey.html#cfn-route53-keysigningkey-status
interface CfnRecordSetGroupProps
interface CfnRecordSetGroupProps {}
Properties for defining a
CfnRecordSetGroup
external
http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-recordsetgroup.html
property comment
readonly comment?: string;
*Optional:* Any comments you want to include about a change batch request.
http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-recordsetgroup.html#cfn-route53-recordsetgroup-comment
property hostedZoneId
readonly hostedZoneId?: string;
The ID of the hosted zone that you want to create records in.
Specify either
HostedZoneName
orHostedZoneId
, but not both. If you have multiple hosted zones with the same domain name, you must specify the hosted zone usingHostedZoneId
.http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-recordsetgroup.html#cfn-route53-recordsetgroup-hostedzoneid
property hostedZoneName
readonly hostedZoneName?: string;
The name of the hosted zone that you want to create records in. You must include a trailing dot (for example,
www.example.com.
) as part of theHostedZoneName
.When you create a stack using an
AWS::Route53::RecordSet
that specifiesHostedZoneName
, AWS CloudFormation attempts to find a hosted zone whose name matches theHostedZoneName
. If AWS CloudFormation can't find a hosted zone with a matching domain name, or if there is more than one hosted zone with the specified domain name, AWS CloudFormation will not create the stack.Specify either
HostedZoneName
orHostedZoneId
, but not both. If you have multiple hosted zones with the same domain name, you must specify the hosted zone usingHostedZoneId
.http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-recordsetgroup.html#cfn-route53-recordsetgroup-hostedzonename
property recordSets
readonly recordSets?: | Array<CfnRecordSetGroup.RecordSetProperty | cdk.IResolvable> | cdk.IResolvable;
A complex type that contains one
RecordSet
element for each record that you want to create.http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-recordsetgroup.html#cfn-route53-recordsetgroup-recordsets
interface CfnRecordSetProps
interface CfnRecordSetProps {}
Properties for defining a
CfnRecordSet
external
http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html
property aliasTarget
readonly aliasTarget?: CfnRecordSet.AliasTargetProperty | cdk.IResolvable;
*Alias resource record sets only:* Information about the AWS resource, such as a CloudFront distribution or an Amazon S3 bucket, that you want to route traffic to.
If you're creating resource records sets for a private hosted zone, note the following:
- You can't create an alias resource record set in a private hosted zone to route traffic to a CloudFront distribution. - For information about creating failover resource record sets in a private hosted zone, see [Configuring Failover in a Private Hosted Zone](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html) in the *Amazon Route 53 Developer Guide* .
http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-aliastarget
property cidrRoutingConfig
readonly cidrRoutingConfig?: | CfnRecordSet.CidrRoutingConfigProperty | cdk.IResolvable;
The object that is specified in resource record set object when you are linking a resource record set to a CIDR location.
A
LocationName
with an asterisk “*” can be used to create a default CIDR record.CollectionId
is still required for default record.http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-cidrroutingconfig
property comment
readonly comment?: string;
*Optional:* Any comments you want to include about a change batch request.
http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-comment
property failover
readonly failover?: string;
*Failover resource record sets only:* To configure failover, you add the
Failover
element to two resource record sets. For one resource record set, you specifyPRIMARY
as the value forFailover
; for the other resource record set, you specifySECONDARY
. In addition, you include theHealthCheckId
element and specify the health check that you want Amazon Route 53 to perform for each resource record set.Except where noted, the following failover behaviors assume that you have included the
HealthCheckId
element in both resource record sets:- When the primary resource record set is healthy, Route 53 responds to DNS queries with the applicable value from the primary resource record set regardless of the health of the secondary resource record set. - When the primary resource record set is unhealthy and the secondary resource record set is healthy, Route 53 responds to DNS queries with the applicable value from the secondary resource record set. - When the secondary resource record set is unhealthy, Route 53 responds to DNS queries with the applicable value from the primary resource record set regardless of the health of the primary resource record set. - If you omit the
HealthCheckId
element for the secondary resource record set, and if the primary resource record set is unhealthy, Route 53 always responds to DNS queries with the applicable value from the secondary resource record set. This is true regardless of the health of the associated endpoint.You can't create non-failover resource record sets that have the same values for the
Name
andType
elements as failover resource record sets.For failover alias resource record sets, you must also include the
EvaluateTargetHealth
element and set the value to true.For more information about configuring failover for Route 53, see the following topics in the *Amazon Route 53 Developer Guide* :
- [Route 53 Health Checks and DNS Failover](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html) - [Configuring Failover in a Private Hosted Zone](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html)
http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-failover
property geoLocation
readonly geoLocation?: CfnRecordSet.GeoLocationProperty | cdk.IResolvable;
*Geolocation resource record sets only:* A complex type that lets you control how Amazon Route 53 responds to DNS queries based on the geographic origin of the query. For example, if you want all queries from Africa to be routed to a web server with an IP address of
192.0.2.111
, create a resource record set with aType
ofA
and aContinentCode
ofAF
.> Although creating geolocation and geolocation alias resource record sets in a private hosted zone is allowed, it's not supported.
If you create separate resource record sets for overlapping geographic regions (for example, one resource record set for a continent and one for a country on the same continent), priority goes to the smallest geographic region. This allows you to route most queries for a continent to one resource and to route queries for a country on that continent to a different resource.
You can't create two geolocation resource record sets that specify the same geographic location.
The value
*
in theCountryCode
element matches all geographic locations that aren't specified in other geolocation resource record sets that have the same values for theName
andType
elements.> Geolocation works by mapping IP addresses to locations. However, some IP addresses aren't mapped to geographic locations, so even if you create geolocation resource record sets that cover all seven continents, Route 53 will receive some DNS queries from locations that it can't identify. We recommend that you create a resource record set for which the value of
CountryCode
is*
. Two groups of queries are routed to the resource that you specify in this record: queries that come from locations for which you haven't created geolocation resource record sets and queries from IP addresses that aren't mapped to a location. If you don't create a*
resource record set, Route 53 returns a "no answer" response for queries from those locations.You can't create non-geolocation resource record sets that have the same values for the
Name
andType
elements as geolocation resource record sets.http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-geolocation
property healthCheckId
readonly healthCheckId?: string;
If you want Amazon Route 53 to return this resource record set in response to a DNS query only when the status of a health check is healthy, include the
HealthCheckId
element and specify the ID of the applicable health check.Route 53 determines whether a resource record set is healthy based on one of the following:
- By periodically sending a request to the endpoint that is specified in the health check - By aggregating the status of a specified group of health checks (calculated health checks) - By determining the current state of a CloudWatch alarm (CloudWatch metric health checks)
> Route 53 doesn't check the health of the endpoint that is specified in the resource record set, for example, the endpoint specified by the IP address in the
Value
element. When you add aHealthCheckId
element to a resource record set, Route 53 checks the health of the endpoint that you specified in the health check.For more information, see the following topics in the *Amazon Route 53 Developer Guide* :
- [How Amazon Route 53 Determines Whether an Endpoint Is Healthy](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-determining-health-of-endpoints.html) - [Route 53 Health Checks and DNS Failover](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html) - [Configuring Failover in a Private Hosted Zone](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html)
*When to Specify HealthCheckId*
Specifying a value for
HealthCheckId
is useful only when Route 53 is choosing between two or more resource record sets to respond to a DNS query, and you want Route 53 to base the choice in part on the status of a health check. Configuring health checks makes sense only in the following configurations:- *Non-alias resource record sets* : You're checking the health of a group of non-alias resource record sets that have the same routing policy, name, and type (such as multiple weighted records named www.example.com with a type of A) and you specify health check IDs for all the resource record sets.
If the health check status for a resource record set is healthy, Route 53 includes the record among the records that it responds to DNS queries with.
If the health check status for a resource record set is unhealthy, Route 53 stops responding to DNS queries using the value for that resource record set.
If the health check status for all resource record sets in the group is unhealthy, Route 53 considers all resource record sets in the group healthy and responds to DNS queries accordingly. - *Alias resource record sets* : You specify the following settings:
- You set
EvaluateTargetHealth
to true for an alias resource record set in a group of resource record sets that have the same routing policy, name, and type (such as multiple weighted records named www.example.com with a type of A). - You configure the alias resource record set to route traffic to a non-alias resource record set in the same hosted zone. - You specify a health check ID for the non-alias resource record set.If the health check status is healthy, Route 53 considers the alias resource record set to be healthy and includes the alias record among the records that it responds to DNS queries with.
If the health check status is unhealthy, Route 53 stops responding to DNS queries using the alias resource record set.
> The alias resource record set can also route traffic to a *group* of non-alias resource record sets that have the same routing policy, name, and type. In that configuration, associate health checks with all of the resource record sets in the group of non-alias resource record sets.
*Geolocation Routing*
For geolocation resource record sets, if an endpoint is unhealthy, Route 53 looks for a resource record set for the larger, associated geographic region. For example, suppose you have resource record sets for a state in the United States, for the entire United States, for North America, and a resource record set that has
*
forCountryCode
is*
, which applies to all locations. If the endpoint for the state resource record set is unhealthy, Route 53 checks for healthy resource record sets in the following order until it finds a resource record set for which the endpoint is healthy:- The United States - North America - The default resource record set
*Specifying the Health Check Endpoint by Domain Name*
If your health checks specify the endpoint only by domain name, we recommend that you create a separate health check for each endpoint. For example, create a health check for each
HTTP
server that is serving content forwww.example.com
. For the value ofFullyQualifiedDomainName
, specify the domain name of the server (such asus-east-2-www.example.com
), not the name of the resource record sets (www.example.com
).> Health check results will be unpredictable if you do the following: > > - Create a health check that has the same value for
FullyQualifiedDomainName
as the name of a resource record set. > - Associate that health check with the resource record set.http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-healthcheckid
property hostedZoneId
readonly hostedZoneId?: string;
The ID of the hosted zone that you want to create records in.
Specify either
HostedZoneName
orHostedZoneId
, but not both. If you have multiple hosted zones with the same domain name, you must specify the hosted zone usingHostedZoneId
.http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-hostedzoneid
property hostedZoneName
readonly hostedZoneName?: string;
The name of the hosted zone that you want to create records in. You must include a trailing dot (for example,
www.example.com.
) as part of theHostedZoneName
.When you create a stack using an AWS::Route53::RecordSet that specifies
HostedZoneName
, AWS CloudFormation attempts to find a hosted zone whose name matches the HostedZoneName. If AWS CloudFormation cannot find a hosted zone with a matching domain name, or if there is more than one hosted zone with the specified domain name, AWS CloudFormation will not create the stack.Specify either
HostedZoneName
orHostedZoneId
, but not both. If you have multiple hosted zones with the same domain name, you must specify the hosted zone usingHostedZoneId
.http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-hostedzonename
property multiValueAnswer
readonly multiValueAnswer?: boolean | cdk.IResolvable;
*Multivalue answer resource record sets only* : To route traffic approximately randomly to multiple resources, such as web servers, create one multivalue answer record for each resource and specify
true
forMultiValueAnswer
. Note the following:- If you associate a health check with a multivalue answer resource record set, Amazon Route 53 responds to DNS queries with the corresponding IP address only when the health check is healthy. - If you don't associate a health check with a multivalue answer record, Route 53 always considers the record to be healthy. - Route 53 responds to DNS queries with up to eight healthy records; if you have eight or fewer healthy records, Route 53 responds to all DNS queries with all the healthy records. - If you have more than eight healthy records, Route 53 responds to different DNS resolvers with different combinations of healthy records. - When all records are unhealthy, Route 53 responds to DNS queries with up to eight unhealthy records. - If a resource becomes unavailable after a resolver caches a response, client software typically tries another of the IP addresses in the response.
You can't create multivalue answer alias records.
http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-multivalueanswer
property name
readonly name: string;
For
ChangeResourceRecordSets
requests, the name of the record that you want to create, update, or delete. ForListResourceRecordSets
responses, the name of a record in the specified hosted zone.*ChangeResourceRecordSets Only*
Enter a fully qualified domain name, for example,
www.example.com
. You can optionally include a trailing dot. If you omit the trailing dot, Amazon Route 53 assumes that the domain name that you specify is fully qualified. This means that Route 53 treatswww.example.com
(without a trailing dot) andwww.example.com.
(with a trailing dot) as identical.For information about how to specify characters other than
a-z
,0-9
, and-
(hyphen) and how to specify internationalized domain names, see [DNS Domain Name Format](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/DomainNameFormat.html) in the *Amazon Route 53 Developer Guide* .You can use the asterisk (*) wildcard to replace the leftmost label in a domain name, for example,
*.example.com
. Note the following:- The * must replace the entire label. For example, you can't specify
*prod.example.com
orprod*.example.com
. - The * can't replace any of the middle labels, for example, marketing.*.example.com. - If you include * in any position other than the leftmost label in a domain name, DNS treats it as an * character (ASCII 42), not as a wildcard.> You can't use the * wildcard for resource records sets that have a type of NS.
You can use the * wildcard as the leftmost label in a domain name, for example,
*.example.com
. You can't use an * for one of the middle labels, for example,marketing.*.example.com
. In addition, the * must replace the entire label; for example, you can't specifyprod*.example.com
.http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-name
property region
readonly region?: string;
*Latency-based resource record sets only:* The Amazon EC2 Region where you created the resource that this resource record set refers to. The resource typically is an AWS resource, such as an EC2 instance or an ELB load balancer, and is referred to by an IP address or a DNS domain name, depending on the record type.
When Amazon Route 53 receives a DNS query for a domain name and type for which you have created latency resource record sets, Route 53 selects the latency resource record set that has the lowest latency between the end user and the associated Amazon EC2 Region. Route 53 then returns the value that is associated with the selected resource record set.
Note the following:
- You can only specify one
ResourceRecord
per latency resource record set. - You can only create one latency resource record set for each Amazon EC2 Region. - You aren't required to create latency resource record sets for all Amazon EC2 Regions. Route 53 will choose the region with the best latency from among the regions that you create latency resource record sets for. - You can't create non-latency resource record sets that have the same values for theName
andType
elements as latency resource record sets.http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-region
property resourceRecords
readonly resourceRecords?: string[];
One or more values that correspond with the value that you specified for the
Type
property. For example, if you specifiedA
forType
, you specify one or more IP addresses in IPv4 format forResourceRecords
. For information about the format of values for each record type, see [Supported DNS Resource Record Types](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/ResourceRecordTypes.html) in the *Amazon Route 53 Developer Guide* .Note the following:
- You can specify more than one value for all record types except CNAME and SOA. - The maximum length of a value is 4000 characters. - If you're creating an alias record, omit
ResourceRecords
.http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-resourcerecords
property setIdentifier
readonly setIdentifier?: string;
*Resource record sets that have a routing policy other than simple:* An identifier that differentiates among multiple resource record sets that have the same combination of name and type, such as multiple weighted resource record sets named acme.example.com that have a type of A. In a group of resource record sets that have the same name and type, the value of
SetIdentifier
must be unique for each resource record set.For information about routing policies, see [Choosing a Routing Policy](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy.html) in the *Amazon Route 53 Developer Guide* .
http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-setidentifier
property ttl
readonly ttl?: string;
The resource record cache time to live (TTL), in seconds. Note the following:
- If you're creating or updating an alias resource record set, omit
TTL
. Amazon Route 53 uses the value ofTTL
for the alias target. - If you're associating this resource record set with a health check (if you're adding aHealthCheckId
element), we recommend that you specify aTTL
of 60 seconds or less so clients respond quickly to changes in health status. - All of the resource record sets in a group of weighted resource record sets must have the same value forTTL
. - If a group of weighted resource record sets includes one or more weighted alias resource record sets for which the alias target is an ELB load balancer, we recommend that you specify aTTL
of 60 seconds for all of the non-alias weighted resource record sets that have the same name and type. Values other than 60 seconds (the TTL for load balancers) will change the effect of the values that you specify forWeight
.http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-ttl
property type
readonly type: string;
The DNS record type. For information about different record types and how data is encoded for them, see [Supported DNS Resource Record Types](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/ResourceRecordTypes.html) in the *Amazon Route 53 Developer Guide* .
Valid values for basic resource record sets:
A
|AAAA
|CAA
|CNAME
|DS
|MX
|NAPTR
|NS
|PTR
|SOA
|SPF
|SRV
|TXT
Values for weighted, latency, geolocation, and failover resource record sets:
A
|AAAA
|CAA
|CNAME
|MX
|NAPTR
|PTR
|SPF
|SRV
|TXT
. When creating a group of weighted, latency, geolocation, or failover resource record sets, specify the same value for all of the resource record sets in the group.Valid values for multivalue answer resource record sets:
A
|AAAA
|MX
|NAPTR
|PTR
|SPF
|SRV
|TXT
> SPF records were formerly used to verify the identity of the sender of email messages. However, we no longer recommend that you create resource record sets for which the value of
Type
isSPF
. RFC 7208, *Sender Policy Framework (SPF) for Authorizing Use of Domains in Email, Version 1* , has been updated to say, "...[I]ts existence and mechanism defined in [RFC4408] have led to some interoperability issues. Accordingly, its use is no longer appropriate for SPF version 1; implementations are not to use it." In RFC 7208, see section 14.1, [The SPF DNS Record Type](https://docs.aws.amazon.com/http://tools.ietf.org/html/rfc7208#section-14.1) .Values for alias resource record sets:
- *Amazon API Gateway custom regional APIs and edge-optimized APIs:*
A
- *CloudFront distributions:*A
If IPv6 is enabled for the distribution, create two resource record sets to route traffic to your distribution, one with a value of
A
and one with a value ofAAAA
. - *Amazon API Gateway environment that has a regionalized subdomain* :A
- *ELB load balancers:*A
|AAAA
- *Amazon S3 buckets:*A
- *Amazon Virtual Private Cloud interface VPC endpoints*A
- *Another resource record set in this hosted zone:* Specify the type of the resource record set that you're creating the alias for. All values are supported exceptNS
andSOA
.> If you're creating an alias record that has the same name as the hosted zone (known as the zone apex), you can't route traffic to a record for which the value of
Type
isCNAME
. This is because the alias record must have the same type as the record you're routing traffic to, and creating a CNAME record for the zone apex isn't supported even for an alias record.http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-type
property weight
readonly weight?: number;
*Weighted resource record sets only:* Among resource record sets that have the same combination of DNS name and type, a value that determines the proportion of DNS queries that Amazon Route 53 responds to using the current resource record set. Route 53 calculates the sum of the weights for the resource record sets that have the same combination of DNS name and type. Route 53 then responds to queries based on the ratio of a resource's weight to the total. Note the following:
- You must specify a value for the
Weight
element for every weighted resource record set. - You can only specify oneResourceRecord
per weighted resource record set. - You can't create latency, failover, or geolocation resource record sets that have the same values for theName
andType
elements as weighted resource record sets. - You can create a maximum of 100 weighted resource record sets that have the same values for theName
andType
elements. - For weighted (but not weighted alias) resource record sets, if you setWeight
to0
for a resource record set, Route 53 never responds to queries with the applicable value for that resource record set. However, if you setWeight
to0
for all resource record sets that have the same combination of DNS name and type, traffic is routed to all resources with equal probability.The effect of setting
Weight
to0
is different when you associate health checks with weighted resource record sets. For more information, see [Options for Configuring Route 53 Active-Active and Active-Passive Failover](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-configuring-options.html) in the *Amazon Route 53 Developer Guide* .http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-weight
interface CnameRecordProps
interface CnameRecordProps extends RecordSetOptions {}
Construction properties for a CnameRecord.
property domainName
readonly domainName: string;
The domain name.
interface CommonHostedZoneProps
interface CommonHostedZoneProps {}
Common properties to create a Route 53 hosted zone
property comment
readonly comment?: string;
Any comments that you want to include about the hosted zone.
none
property queryLogsLogGroupArn
readonly queryLogsLogGroupArn?: string;
The Amazon Resource Name (ARN) for the log group that you want Amazon Route 53 to send query logs to.
disabled
property zoneName
readonly zoneName: string;
The name of the domain. For resource record types that include a domain name, specify a fully qualified domain name.
interface CrossAccountZoneDelegationRecordProps
interface CrossAccountZoneDelegationRecordProps {}
Construction properties for a CrossAccountZoneDelegationRecord
property delegatedZone
readonly delegatedZone: IHostedZone;
The zone to be delegated
property delegationRole
readonly delegationRole: iam.IRole;
The delegation role in the parent account
property parentHostedZoneId
readonly parentHostedZoneId?: string;
The hosted zone id in the parent account
- no zone id
property parentHostedZoneName
readonly parentHostedZoneName?: string;
The hosted zone name in the parent account
- no zone name
property removalPolicy
readonly removalPolicy?: RemovalPolicy;
The removal policy to apply to the record set.
RemovalPolicy.DESTROY
property ttl
readonly ttl?: Duration;
The resource record cache time to live (TTL).
Duration.days(2)
interface DsRecordProps
interface DsRecordProps extends RecordSetOptions {}
Construction properties for a DSRecord.
property values
readonly values: string[];
The DS values.
interface HostedZoneAttributes
interface HostedZoneAttributes {}
Reference to a hosted zone
property hostedZoneId
readonly hostedZoneId: string;
Identifier of the hosted zone
property zoneName
readonly zoneName: string;
Name of the hosted zone
interface HostedZoneProps
interface HostedZoneProps extends CommonHostedZoneProps {}
Properties of a new hosted zone
property vpcs
readonly vpcs?: ec2.IVpc[];
A VPC that you want to associate with this hosted zone. When you specify this property, a private hosted zone will be created.
You can associate additional VPCs to this private zone using
addVpc(vpc)
.public (no VPCs associated)
interface HostedZoneProviderProps
interface HostedZoneProviderProps {}
Zone properties for looking up the Hosted Zone
property domainName
readonly domainName: string;
The zone domain e.g. example.com
property privateZone
readonly privateZone?: boolean;
Whether the zone that is being looked up is a private hosted zone
false
property vpcId
readonly vpcId?: string;
Specifies the ID of the VPC associated with a private hosted zone.
If a VPC ID is provided and privateZone is false, no results will be returned and an error will be raised
- No VPC ID
interface IAliasRecordTarget
interface IAliasRecordTarget {}
Classes that are valid alias record targets, like CloudFront distributions and load balancers, should implement this interface.
method bind
bind: (record: IRecordSet, zone?: IHostedZone) => AliasRecordTargetConfig;
Return hosted zone ID and DNS name, usable for Route53 alias targets
interface IHostedZone
interface IHostedZone extends IResource {}
Imported or created hosted zone
property hostedZoneArn
readonly hostedZoneArn: string;
ARN of this hosted zone, such as arn:${Partition}:route53:::hostedzone/${Id}
property hostedZoneId
readonly hostedZoneId: string;
ID of this hosted zone, such as "Z23ABC4XYZL05B"
property hostedZoneNameServers
readonly hostedZoneNameServers?: string[];
Returns the set of name servers for the specific hosted zone. For example: ns1.example.com.
This attribute will be undefined for private hosted zones or hosted zones imported from another stack.
property zoneName
readonly zoneName: string;
FQDN of this hosted zone
interface IPrivateHostedZone
interface IPrivateHostedZone extends IHostedZone {}
Represents a Route 53 private hosted zone
interface IPublicHostedZone
interface IPublicHostedZone extends IHostedZone {}
Represents a Route 53 public hosted zone
interface IRecordSet
interface IRecordSet extends IResource {}
A record set
property domainName
readonly domainName: string;
The domain name of the record
interface MxRecordProps
interface MxRecordProps extends RecordSetOptions {}
Construction properties for a MxRecord.
property values
readonly values: MxRecordValue[];
The values.
interface MxRecordValue
interface MxRecordValue {}
Properties for a MX record value.
interface NsRecordProps
interface NsRecordProps extends RecordSetOptions {}
Construction properties for a NSRecord.
property values
readonly values: string[];
The NS values.
interface PrivateHostedZoneProps
interface PrivateHostedZoneProps extends CommonHostedZoneProps {}
Properties to create a Route 53 private hosted zone
property vpc
readonly vpc: ec2.IVpc;
A VPC that you want to associate with this hosted zone.
Private hosted zones must be associated with at least one VPC. You can associated additional VPCs using
addVpc(vpc)
.
interface PublicHostedZoneAttributes
interface PublicHostedZoneAttributes extends HostedZoneAttributes {}
Reference to a public hosted zone
interface PublicHostedZoneProps
interface PublicHostedZoneProps extends CommonHostedZoneProps {}
Construction properties for a PublicHostedZone.
property caaAmazon
readonly caaAmazon?: boolean;
Whether to create a CAA record to restrict certificate authorities allowed to issue certificates for this domain to Amazon only.
false
property crossAccountZoneDelegationPrincipal
readonly crossAccountZoneDelegationPrincipal?: iam.IPrincipal;
A principal which is trusted to assume a role for zone delegation
- No delegation configuration
property crossAccountZoneDelegationRoleName
readonly crossAccountZoneDelegationRoleName?: string;
The name of the role created for cross account delegation
- A role name is generated automatically
interface RecordSetOptions
interface RecordSetOptions {}
Options for a RecordSet.
property comment
readonly comment?: string;
A comment to add on the record.
no comment
property recordName
readonly recordName?: string;
The domain name for this record.
zone root
property ttl
readonly ttl?: Duration;
The resource record cache time to live (TTL).
Duration.minutes(30)
property zone
readonly zone: IHostedZone;
The hosted zone in which to define the new record.
interface RecordSetProps
interface RecordSetProps extends RecordSetOptions {}
Construction properties for a RecordSet.
property recordType
readonly recordType: RecordType;
The record type.
property target
readonly target: RecordTarget;
The target for this record, either
RecordTarget.fromValues()
orRecordTarget.fromAlias()
.
interface SrvRecordProps
interface SrvRecordProps extends RecordSetOptions {}
Construction properties for a SrvRecord.
property values
readonly values: SrvRecordValue[];
The values.
interface SrvRecordValue
interface SrvRecordValue {}
Properties for a SRV record value.
interface TxtRecordProps
interface TxtRecordProps extends RecordSetOptions {}
Construction properties for a TxtRecord.
property values
readonly values: string[];
The text values.
interface VpcEndpointServiceDomainNameProps
interface VpcEndpointServiceDomainNameProps {}
Properties to configure a VPC Endpoint Service domain name
property domainName
readonly domainName: string;
The domain name to use.
This domain name must be owned by this account (registered through Route53), or delegated to this account. Domain ownership will be verified by AWS before private DNS can be used.
See Also
https://docs.aws.amazon.com/vpc/latest/userguide/endpoint-services-dns-validation.html
property endpointService
readonly endpointService: IVpcEndpointService;
The VPC Endpoint Service to configure Private DNS for
property publicHostedZone
readonly publicHostedZone: IPublicHostedZone;
The public hosted zone to use for the domain.
interface ZoneDelegationOptions
interface ZoneDelegationOptions {}
Options available when creating a delegation relationship from one PublicHostedZone to another.
interface ZoneDelegationRecordProps
interface ZoneDelegationRecordProps extends RecordSetOptions {}
Construction properties for a ZoneDelegationRecord
property nameServers
readonly nameServers: string[];
The name servers to report in the delegation records.
Enums
enum CaaTag
enum CaaTag { ISSUE = 'issue', ISSUEWILD = 'issuewild', IODEF = 'iodef',}
The CAA tag.
member IODEF
IODEF = 'iodef'
Specifies a URL to which a certificate authority may report policy violations.
member ISSUE
ISSUE = 'issue'
Explicity authorizes a single certificate authority to issue a certificate (any type) for the hostname.
member ISSUEWILD
ISSUEWILD = 'issuewild'
Explicity authorizes a single certificate authority to issue a wildcard certificate (and only wildcard) for the hostname.
enum RecordType
enum RecordType { A = 'A', AAAA = 'AAAA', CAA = 'CAA', CNAME = 'CNAME', DS = 'DS', MX = 'MX', NAPTR = 'NAPTR', NS = 'NS', PTR = 'PTR', SOA = 'SOA', SPF = 'SPF', SRV = 'SRV', TXT = 'TXT',}
The record type.
member A
A = 'A'
route traffic to a resource, such as a web server, using an IPv4 address in dotted decimal notation
See Also
https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/ResourceRecordTypes.html#AFormat
member AAAA
AAAA = 'AAAA'
route traffic to a resource, such as a web server, using an IPv6 address in colon-separated hexadecimal format
See Also
https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/ResourceRecordTypes.html#AAAAFormat
member CAA
CAA = 'CAA'
A CAA record specifies which certificate authorities (CAs) are allowed to issue certificates for a domain or subdomain
See Also
https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/ResourceRecordTypes.html#CAAFormat
member CNAME
CNAME = 'CNAME'
A CNAME record maps DNS queries for the name of the current record, such as acme.example.com, to another domain (example.com or example.net) or subdomain (acme.example.com or zenith.example.org).
See Also
https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/ResourceRecordTypes.html#CNAMEFormat
member DS
DS = 'DS'
A delegation signer (DS) record refers a zone key for a delegated subdomain zone.
See Also
https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/ResourceRecordTypes.html#DSFormat
member MX
MX = 'MX'
An MX record specifies the names of your mail servers and, if you have two or more mail servers, the priority order.
See Also
https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/ResourceRecordTypes.html#MXFormat
member NAPTR
NAPTR = 'NAPTR'
A Name Authority Pointer (NAPTR) is a type of record that is used by Dynamic Delegation Discovery System (DDDS) applications to convert one value to another or to replace one value with another. For example, one common use is to convert phone numbers into SIP URIs.
See Also
https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/ResourceRecordTypes.html#NAPTRFormat
member NS
NS = 'NS'
An NS record identifies the name servers for the hosted zone
See Also
https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/ResourceRecordTypes.html#NSFormat
member PTR
PTR = 'PTR'
A PTR record maps an IP address to the corresponding domain name.
See Also
https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/ResourceRecordTypes.html#PTRFormat
member SOA
SOA = 'SOA'
A start of authority (SOA) record provides information about a domain and the corresponding Amazon Route 53 hosted zone
See Also
https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/ResourceRecordTypes.html#SOAFormat
member SPF
SPF = 'SPF'
SPF records were formerly used to verify the identity of the sender of email messages. Instead of an SPF record, we recommend that you create a TXT record that contains the applicable value.
See Also
https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/ResourceRecordTypes.html#SPFFormat
member SRV
SRV = 'SRV'
An SRV record Value element consists of four space-separated values. The first three values are decimal numbers representing priority, weight, and port. The fourth value is a domain name.
See Also
https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/ResourceRecordTypes.html#SRVFormat
member TXT
TXT = 'TXT'
A TXT record contains one or more strings that are enclosed in double quotation marks (").
See Also
https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/ResourceRecordTypes.html#TXTFormat
Namespaces
namespace CfnCidrCollection
namespace CfnCidrCollection {}
interface LocationProperty
interface LocationProperty {}
Specifies the list of CIDR blocks for a CIDR location.
external
http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-cidrcollection-location.html
property cidrList
readonly cidrList: string[];
List of CIDR blocks.
http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-cidrcollection-location.html#cfn-route53-cidrcollection-location-cidrlist
property locationName
readonly locationName: string;
The CIDR collection location name.
http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-cidrcollection-location.html#cfn-route53-cidrcollection-location-locationname
namespace CfnHealthCheck
namespace CfnHealthCheck {}
interface AlarmIdentifierProperty
interface AlarmIdentifierProperty {}
A complex type that identifies the CloudWatch alarm that you want Amazon Route 53 health checkers to use to determine whether the specified health check is healthy.
external
http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-healthcheck-alarmidentifier.html
property name
readonly name: string;
The name of the CloudWatch alarm that you want Amazon Route 53 health checkers to use to determine whether this health check is healthy.
> Route 53 supports CloudWatch alarms with the following features: > > - Standard-resolution metrics. High-resolution metrics aren't supported. For more information, see [High-Resolution Metrics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/publishingMetrics.html#high-resolution-metrics) in the *Amazon CloudWatch User Guide* . > - Statistics: Average, Minimum, Maximum, Sum, and SampleCount. Extended statistics aren't supported.
http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-healthcheck-alarmidentifier.html#cfn-route53-healthcheck-alarmidentifier-name
property region
readonly region: string;
For the CloudWatch alarm that you want Route 53 health checkers to use to determine whether this health check is healthy, the region that the alarm was created in.
For the current list of CloudWatch regions, see [Amazon CloudWatch endpoints and quotas](https://docs.aws.amazon.com/general/latest/gr/cw_region.html) in the *Amazon Web Services General Reference* .
http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-healthcheck-alarmidentifier.html#cfn-route53-healthcheck-alarmidentifier-region
interface HealthCheckConfigProperty
interface HealthCheckConfigProperty {}
A complex type that contains information about the health check.
external
http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-healthcheck-healthcheckconfig.html
property alarmIdentifier
readonly alarmIdentifier?: | CfnHealthCheck.AlarmIdentifierProperty | cdk.IResolvable;
A complex type that identifies the CloudWatch alarm that you want Amazon Route 53 health checkers to use to determine whether the specified health check is healthy.
http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-healthcheck-healthcheckconfig.html#cfn-route53-healthcheck-healthcheckconfig-alarmidentifier
property childHealthChecks
readonly childHealthChecks?: string[];
(CALCULATED Health Checks Only) A complex type that contains one
ChildHealthCheck
element for each health check that you want to associate with aCALCULATED
health check.http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-healthcheck-healthcheckconfig.html#cfn-route53-healthcheck-healthcheckconfig-childhealthchecks
property enableSni
readonly enableSni?: boolean | cdk.IResolvable;
Specify whether you want Amazon Route 53 to send the value of
FullyQualifiedDomainName
to the endpoint in theclient_hello
message during TLS negotiation. This allows the endpoint to respond toHTTPS
health check requests with the applicable SSL/TLS certificate.Some endpoints require that
HTTPS
requests include the host name in theclient_hello
message. If you don't enable SNI, the status of the health check will beSSL alert handshake_failure
. A health check can also have that status for other reasons. If SNI is enabled and you're still getting the error, check the SSL/TLS configuration on your endpoint and confirm that your certificate is valid.The SSL/TLS certificate on your endpoint includes a domain name in the
Common Name
field and possibly several more in theSubject Alternative Names
field. One of the domain names in the certificate should match the value that you specify forFullyQualifiedDomainName
. If the endpoint responds to theclient_hello
message with a certificate that does not include the domain name that you specified inFullyQualifiedDomainName
, a health checker will retry the handshake. In the second attempt, the health checker will omitFullyQualifiedDomainName
from theclient_hello
message.http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-healthcheck-healthcheckconfig.html#cfn-route53-healthcheck-healthcheckconfig-enablesni
property failureThreshold
readonly failureThreshold?: number;
The number of consecutive health checks that an endpoint must pass or fail for Amazon Route 53 to change the current status of the endpoint from unhealthy to healthy or vice versa. For more information, see [How Amazon Route 53 Determines Whether an Endpoint Is Healthy](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-determining-health-of-endpoints.html) in the *Amazon Route 53 Developer Guide* .
If you don't specify a value for
FailureThreshold
, the default value is three health checks.http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-healthcheck-healthcheckconfig.html#cfn-route53-healthcheck-healthcheckconfig-failurethreshold
property fullyQualifiedDomainName
readonly fullyQualifiedDomainName?: string;
Amazon Route 53 behavior depends on whether you specify a value for
IPAddress
.*If you specify a value for*
IPAddress
:Amazon Route 53 sends health check requests to the specified IPv4 or IPv6 address and passes the value of
FullyQualifiedDomainName
in theHost
header for all health checks except TCP health checks. This is typically the fully qualified DNS name of the endpoint on which you want Route 53 to perform health checks.When Route 53 checks the health of an endpoint, here is how it constructs the
Host
header:- If you specify a value of
80
forPort
andHTTP
orHTTP_STR_MATCH
forType
, Route 53 passes the value ofFullyQualifiedDomainName
to the endpoint in the Host header. - If you specify a value of443
forPort
andHTTPS
orHTTPS_STR_MATCH
forType
, Route 53 passes the value ofFullyQualifiedDomainName
to the endpoint in theHost
header. - If you specify another value forPort
and any value exceptTCP
forType
, Route 53 passesFullyQualifiedDomainName:Port
to the endpoint in theHost
header.If you don't specify a value for
FullyQualifiedDomainName
, Route 53 substitutes the value ofIPAddress
in theHost
header in each of the preceding cases.*If you don't specify a value for
IPAddress
* :Route 53 sends a DNS request to the domain that you specify for
FullyQualifiedDomainName
at the interval that you specify forRequestInterval
. Using an IPv4 address that DNS returns, Route 53 then checks the health of the endpoint.> If you don't specify a value for
IPAddress
, Route 53 uses only IPv4 to send health checks to the endpoint. If there's no record with a type of A for the name that you specify forFullyQualifiedDomainName
, the health check fails with a "DNS resolution failed" error.If you want to check the health of multiple records that have the same name and type, such as multiple weighted records, and if you choose to specify the endpoint only by
FullyQualifiedDomainName
, we recommend that you create a separate health check for each endpoint. For example, create a health check for each HTTP server that is serving content for www.example.com. For the value ofFullyQualifiedDomainName
, specify the domain name of the server (such as us-east-2-www.example.com), not the name of the records (www.example.com).> In this configuration, if you create a health check for which the value of
FullyQualifiedDomainName
matches the name of the records and you then associate the health check with those records, health check results will be unpredictable.In addition, if the value that you specify for
Type
isHTTP
,HTTPS
,HTTP_STR_MATCH
, orHTTPS_STR_MATCH
, Route 53 passes the value ofFullyQualifiedDomainName
in theHost
header, as it does when you specify a value forIPAddress
. If the value ofType
isTCP
, Route 53 doesn't pass aHost
header.http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-healthcheck-healthcheckconfig.html#cfn-route53-healthcheck-healthcheckconfig-fullyqualifieddomainname
property healthThreshold
readonly healthThreshold?: number;
The number of child health checks that are associated with a
CALCULATED
health check that Amazon Route 53 must consider healthy for theCALCULATED
health check to be considered healthy. To specify the child health checks that you want to associate with aCALCULATED
health check, use the [ChildHealthChecks](https://docs.aws.amazon.com/Route53/latest/APIReference/API_UpdateHealthCheck.html#Route53-UpdateHealthCheck-request-ChildHealthChecks) element.Note the following:
- If you specify a number greater than the number of child health checks, Route 53 always considers this health check to be unhealthy. - If you specify
0
, Route 53 always considers this health check to be healthy.http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-healthcheck-healthcheckconfig.html#cfn-route53-healthcheck-healthcheckconfig-healththreshold
property insufficientDataHealthStatus
readonly insufficientDataHealthStatus?: string;
When CloudWatch has insufficient data about the metric to determine the alarm state, the status that you want Amazon Route 53 to assign to the health check:
-
Healthy
: Route 53 considers the health check to be healthy. -Unhealthy
: Route 53 considers the health check to be unhealthy. -LastKnownStatus
: Route 53 uses the status of the health check from the last time that CloudWatch had sufficient data to determine the alarm state. For new health checks that have no last known status, the default status for the health check is healthy.http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-healthcheck-healthcheckconfig.html#cfn-route53-healthcheck-healthcheckconfig-insufficientdatahealthstatus
property inverted
readonly inverted?: boolean | cdk.IResolvable;
Specify whether you want Amazon Route 53 to invert the status of a health check, for example, to consider a health check unhealthy when it otherwise would be considered healthy.
http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-healthcheck-healthcheckconfig.html#cfn-route53-healthcheck-healthcheckconfig-inverted
property ipAddress
readonly ipAddress?: string;
The IPv4 or IPv6 IP address of the endpoint that you want Amazon Route 53 to perform health checks on. If you don't specify a value for
IPAddress
, Route 53 sends a DNS request to resolve the domain name that you specify inFullyQualifiedDomainName
at the interval that you specify inRequestInterval
. Using an IP address returned by DNS, Route 53 then checks the health of the endpoint.Use one of the following formats for the value of
IPAddress
:- *IPv4 address* : four values between 0 and 255, separated by periods (.), for example,
192.0.2.44
. - *IPv6 address* : eight groups of four hexadecimal values, separated by colons (:), for example,2001:0db8:85a3:0000:0000:abcd:0001:2345
. You can also shorten IPv6 addresses as described in RFC 5952, for example,2001:db8:85a3::abcd:1:2345
.If the endpoint is an EC2 instance, we recommend that you create an Elastic IP address, associate it with your EC2 instance, and specify the Elastic IP address for
IPAddress
. This ensures that the IP address of your instance will never change.For more information, see [FullyQualifiedDomainName](https://docs.aws.amazon.com/Route53/latest/APIReference/API_UpdateHealthCheck.html#Route53-UpdateHealthCheck-request-FullyQualifiedDomainName) .
Constraints: Route 53 can't check the health of endpoints for which the IP address is in local, private, non-routable, or multicast ranges. For more information about IP addresses for which you can't create health checks, see the following documents:
- [RFC 5735, Special Use IPv4 Addresses](https://docs.aws.amazon.com/https://tools.ietf.org/html/rfc5735) - [RFC 6598, IANA-Reserved IPv4 Prefix for Shared Address Space](https://docs.aws.amazon.com/https://tools.ietf.org/html/rfc6598) - [RFC 5156, Special-Use IPv6 Addresses](https://docs.aws.amazon.com/https://tools.ietf.org/html/rfc5156)
When the value of
Type
isCALCULATED
orCLOUDWATCH_METRIC
, omitIPAddress
.http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-healthcheck-healthcheckconfig.html#cfn-route53-healthcheck-healthcheckconfig-ipaddress
property measureLatency
readonly measureLatency?: boolean | cdk.IResolvable;
Specify whether you want Amazon Route 53 to measure the latency between health checkers in multiple AWS regions and your endpoint, and to display CloudWatch latency graphs on the *Health Checks* page in the Route 53 console.
> You can't change the value of
MeasureLatency
after you create a health check.http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-healthcheck-healthcheckconfig.html#cfn-route53-healthcheck-healthcheckconfig-measurelatency
property port
readonly port?: number;
The port on the endpoint that you want Amazon Route 53 to perform health checks on.
> Don't specify a value for
Port
when you specify a value for [Type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-healthcheck-healthcheckconfig.html#cfn-route53-healthcheck-healthcheckconfig-type) ofCLOUDWATCH_METRIC
orCALCULATED
.http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-healthcheck-healthcheckconfig.html#cfn-route53-healthcheck-healthcheckconfig-port
property regions
readonly regions?: string[];
A complex type that contains one
Region
element for each region from which you want Amazon Route 53 health checkers to check the specified endpoint.If you don't specify any regions, Route 53 health checkers automatically performs checks from all of the regions that are listed under *Valid Values* .
If you update a health check to remove a region that has been performing health checks, Route 53 will briefly continue to perform checks from that region to ensure that some health checkers are always checking the endpoint (for example, if you replace three regions with four different regions).
http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-healthcheck-healthcheckconfig.html#cfn-route53-healthcheck-healthcheckconfig-regions
property requestInterval
readonly requestInterval?: number;
The number of seconds between the time that Amazon Route 53 gets a response from your endpoint and the time that it sends the next health check request. Each Route 53 health checker makes requests at this interval.
> You can't change the value of
RequestInterval
after you create a health check.If you don't specify a value for
RequestInterval
, the default value is30
seconds.http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-healthcheck-healthcheckconfig.html#cfn-route53-healthcheck-healthcheckconfig-requestinterval
property resourcePath
readonly resourcePath?: string;
The path, if any, that you want Amazon Route 53 to request when performing health checks. The path can be any value for which your endpoint will return an HTTP status code of 2xx or 3xx when the endpoint is healthy, for example, the file /docs/route53-health-check.html. You can also include query string parameters, for example,
/welcome.html?language=jp&login=y
.http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-healthcheck-healthcheckconfig.html#cfn-route53-healthcheck-healthcheckconfig-resourcepath
property routingControlArn
readonly routingControlArn?: string;
CfnHealthCheck.HealthCheckConfigProperty.RoutingControlArn
http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-healthcheck-healthcheckconfig.html#cfn-route53-healthcheck-healthcheckconfig-routingcontrolarn
property searchString
readonly searchString?: string;
If the value of Type is
HTTP_STR_MATCH
orHTTPS_STR_MATCH
, the string that you want Amazon Route 53 to search for in the response body from the specified resource. If the string appears in the response body, Route 53 considers the resource healthy.Route 53 considers case when searching for
SearchString
in the response body.http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-healthcheck-healthcheckconfig.html#cfn-route53-healthcheck-healthcheckconfig-searchstring
property type
readonly type: string;
The type of health check that you want to create, which indicates how Amazon Route 53 determines whether an endpoint is healthy.
> You can't change the value of
Type
after you create a health check.You can create the following types of health checks:
- *HTTP* : Route 53 tries to establish a TCP connection. If successful, Route 53 submits an HTTP request and waits for an HTTP status code of 200 or greater and less than 400. - *HTTPS* : Route 53 tries to establish a TCP connection. If successful, Route 53 submits an HTTPS request and waits for an HTTP status code of 200 or greater and less than 400.
> If you specify
HTTPS
for the value ofType
, the endpoint must support TLS v1.0 or later. - *HTTP_STR_MATCH* : Route 53 tries to establish a TCP connection. If successful, Route 53 submits an HTTP request and searches the first 5,120 bytes of the response body for the string that you specify inSearchString
. - *HTTPS_STR_MATCH* : Route 53 tries to establish a TCP connection. If successful, Route 53 submits anHTTPS
request and searches the first 5,120 bytes of the response body for the string that you specify inSearchString
. - *TCP* : Route 53 tries to establish a TCP connection. - *CLOUDWATCH_METRIC* : The health check is associated with a CloudWatch alarm. If the state of the alarm isOK
, the health check is considered healthy. If the state isALARM
, the health check is considered unhealthy. If CloudWatch doesn't have sufficient data to determine whether the state isOK
orALARM
, the health check status depends on the setting forInsufficientDataHealthStatus
:Healthy
,Unhealthy
, orLastKnownStatus
. - *CALCULATED* : For health checks that monitor the status of other health checks, Route 53 adds up the number of health checks that Route 53 health checkers consider to be healthy and compares that number with the value ofHealthThreshold
. - *RECOVERY_CONTROL* : The health check is assocated with a Route53 Application Recovery Controller routing control. If the routing control state isON
, the health check is considered healthy. If the state isOFF
, the health check is considered unhealthy.For more information, see [How Route 53 Determines Whether an Endpoint Is Healthy](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-determining-health-of-endpoints.html) in the *Amazon Route 53 Developer Guide* .
http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-healthcheck-healthcheckconfig.html#cfn-route53-healthcheck-healthcheckconfig-type
interface HealthCheckTagProperty
interface HealthCheckTagProperty {}
The
HealthCheckTag
property describes one key-value pair that is associated with anAWS::Route53::HealthCheck
resource.external
http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-healthcheck-healthchecktag.html
property key
readonly key: string;
The value of
Key
depends on the operation that you want to perform:- *Add a tag to a health check or hosted zone* :
Key
is the name that you want to give the new tag. - *Edit a tag* :Key
is the name of the tag that you want to change theValue
for. - *Delete a key* :Key
is the name of the tag you want to remove. - *Give a name to a health check* : Edit the defaultName
tag. In the Amazon Route 53 console, the list of your health checks includes a *Name* column that lets you see the name that you've given to each health check.http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-healthcheck-healthchecktag.html#cfn-route53-healthcheck-healthchecktag-key
property value
readonly value: string;
The value of
Value
depends on the operation that you want to perform:- *Add a tag to a health check or hosted zone* :
Value
is the value that you want to give the new tag. - *Edit a tag* :Value
is the new value that you want to assign the tag.http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-healthcheck-healthchecktag.html#cfn-route53-healthcheck-healthchecktag-value
namespace CfnHostedZone
namespace CfnHostedZone {}
interface HostedZoneConfigProperty
interface HostedZoneConfigProperty {}
A complex type that contains an optional comment about your hosted zone. If you don't want to specify a comment, omit both the
HostedZoneConfig
andComment
elements.external
http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-hostedzone-hostedzoneconfig.html
property comment
readonly comment?: string;
Any comments that you want to include about the hosted zone.
http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-hostedzone-hostedzoneconfig.html#cfn-route53-hostedzone-hostedzoneconfig-comment
interface HostedZoneTagProperty
interface HostedZoneTagProperty {}
A complex type that contains information about a tag that you want to add or edit for the specified health check or hosted zone.
external
http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-hostedzone-hostedzonetag.html
property key
readonly key: string;
The value of
Key
depends on the operation that you want to perform:- *Add a tag to a health check or hosted zone* :
Key
is the name that you want to give the new tag. - *Edit a tag* :Key
is the name of the tag that you want to change theValue
for. - *Delete a key* :Key
is the name of the tag you want to remove. - *Give a name to a health check* : Edit the defaultName
tag. In the Amazon Route 53 console, the list of your health checks includes a *Name* column that lets you see the name that you've given to each health check.http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-hostedzone-hostedzonetag.html#cfn-route53-hostedzone-hostedzonetag-key
property value
readonly value: string;
The value of
Value
depends on the operation that you want to perform:- *Add a tag to a health check or hosted zone* :
Value
is the value that you want to give the new tag. - *Edit a tag* :Value
is the new value that you want to assign the tag.http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-hostedzone-hostedzonetag.html#cfn-route53-hostedzone-hostedzonetag-value
interface QueryLoggingConfigProperty
interface QueryLoggingConfigProperty {}
A complex type that contains information about a configuration for DNS query logging.
external
http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-hostedzone-queryloggingconfig.html
property cloudWatchLogsLogGroupArn
readonly cloudWatchLogsLogGroupArn: string;
The Amazon Resource Name (ARN) of the CloudWatch Logs log group that Amazon Route 53 is publishing logs to.
http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-hostedzone-queryloggingconfig.html#cfn-route53-hostedzone-queryloggingconfig-cloudwatchlogsloggrouparn
interface VPCProperty
interface VPCProperty {}
*Private hosted zones only:* A complex type that contains information about an Amazon VPC. Route 53 Resolver uses the records in the private hosted zone to route traffic in that VPC.
> For public hosted zones, omit
VPCs
,VPCId
, andVPCRegion
.external
http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-hostedzone-vpc.html
property vpcId
readonly vpcId: string;
*Private hosted zones only:* The ID of an Amazon VPC.
> For public hosted zones, omit
VPCs
,VPCId
, andVPCRegion
.http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-hostedzone-vpc.html#cfn-route53-hostedzone-vpc-vpcid
property vpcRegion
readonly vpcRegion: string;
*Private hosted zones only:* The region that an Amazon VPC was created in.
> For public hosted zones, omit
VPCs
,VPCId
, andVPCRegion
.http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-hostedzone-vpc.html#cfn-route53-hostedzone-vpc-vpcregion
namespace CfnRecordSet
namespace CfnRecordSet {}
interface AliasTargetProperty
interface AliasTargetProperty {}
*Alias records only:* Information about the AWS resource, such as a CloudFront distribution or an Amazon S3 bucket, that you want to route traffic to.
When creating records for a private hosted zone, note the following:
- Creating geolocation alias and latency alias records in a private hosted zone is allowed but not supported. - For information about creating failover records in a private hosted zone, see [Configuring Failover in a Private Hosted Zone](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html) .
external
http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-aliastarget.html
property dnsName
readonly dnsName: string;
*Alias records only:* The value that you specify depends on where you want to route queries:
- **Amazon API Gateway custom regional APIs and edge-optimized APIs** - Specify the applicable domain name for your API. You can get the applicable value using the AWS CLI command [get-domain-names](https://docs.aws.amazon.com/cli/latest/reference/apigateway/get-domain-names.html) :
- For regional APIs, specify the value of
regionalDomainName
. - For edge-optimized APIs, specify the value ofdistributionDomainName
. This is the name of the associated CloudFront distribution, such asda1b2c3d4e5.cloudfront.net
.> The name of the record that you're creating must match a custom domain name for your API, such as
api.example.com
. - **Amazon Virtual Private Cloud interface VPC endpoint** - Enter the API endpoint for the interface endpoint, such asvpce-123456789abcdef01-example-us-east-1a.elasticloadbalancing.us-east-1.vpce.amazonaws.com
. For edge-optimized APIs, this is the domain name for the corresponding CloudFront distribution. You can get the value ofDnsName
using the AWS CLI command [describe-vpc-endpoints](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-vpc-endpoints.html) . - **CloudFront distribution** - Specify the domain name that CloudFront assigned when you created your distribution.Your CloudFront distribution must include an alternate domain name that matches the name of the record. For example, if the name of the record is *acme.example.com* , your CloudFront distribution must include *acme.example.com* as one of the alternate domain names. For more information, see [Using Alternate Domain Names (CNAMEs)](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/CNAMEs.html) in the *Amazon CloudFront Developer Guide* .
You can't create a record in a private hosted zone to route traffic to a CloudFront distribution.
> For failover alias records, you can't specify a CloudFront distribution for both the primary and secondary records. A distribution must include an alternate domain name that matches the name of the record. However, the primary and secondary records have the same name, and you can't include the same alternate domain name in more than one distribution. - **Elastic Beanstalk environment** - If the domain name for your Elastic Beanstalk environment includes the region that you deployed the environment in, you can create an alias record that routes traffic to the environment. For example, the domain name
my-environment. *us-west-2* .elasticbeanstalk.com
is a regionalized domain name.> For environments that were created before early 2016, the domain name doesn't include the region. To route traffic to these environments, you must create a CNAME record instead of an alias record. Note that you can't create a CNAME record for the root domain name. For example, if your domain name is example.com, you can create a record that routes traffic for acme.example.com to your Elastic Beanstalk environment, but you can't create a record that routes traffic for example.com to your Elastic Beanstalk environment.
For Elastic Beanstalk environments that have regionalized subdomains, specify the
CNAME
attribute for the environment. You can use the following methods to get the value of the CNAME attribute:- *AWS Management Console* : For information about how to get the value by using the console, see [Using Custom Domains with AWS Elastic Beanstalk](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/customdomains.html) in the *AWS Elastic Beanstalk Developer Guide* . - *Elastic Beanstalk API* : Use the
DescribeEnvironments
action to get the value of theCNAME
attribute. For more information, see [DescribeEnvironments](https://docs.aws.amazon.com/elasticbeanstalk/latest/api/API_DescribeEnvironments.html) in the *AWS Elastic Beanstalk API Reference* . - *AWS CLI* : Use thedescribe-environments
command to get the value of theCNAME
attribute. For more information, see [describe-environments](https://docs.aws.amazon.com/cli/latest/reference/elasticbeanstalk/describe-environments.html) in the *AWS CLI* . - **ELB load balancer** - Specify the DNS name that is associated with the load balancer. Get the DNS name by using the AWS Management Console , the ELB API, or the AWS CLI .- *AWS Management Console* : Go to the EC2 page, choose *Load Balancers* in the navigation pane, choose the load balancer, choose the *Description* tab, and get the value of the *DNS name* field.
If you're routing traffic to a Classic Load Balancer, get the value that begins with *dualstack* . If you're routing traffic to another type of load balancer, get the value that applies to the record type, A or AAAA. - *Elastic Load Balancing API* : Use
DescribeLoadBalancers
to get the value ofDNSName
. For more information, see the applicable guide:- Classic Load Balancers: [DescribeLoadBalancers](https://docs.aws.amazon.com/elasticloadbalancing/2012-06-01/APIReference/API_DescribeLoadBalancers.html) - Application and Network Load Balancers: [DescribeLoadBalancers](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeLoadBalancers.html) - *CloudFormation Fn::GetAtt intrinsic function* : Use the [Fn::GetAtt](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-getatt.html) intrinsic function to get the value of
DNSName
:- [Classic Load Balancers](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb.html#aws-properties-ec2-elb-return-values) . - [Application and Network Load Balancers](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-loadbalancer.html#aws-resource-elasticloadbalancingv2-loadbalancer-return-values) . - *AWS CLI* : Use
describe-load-balancers
to get the value ofDNSName
. For more information, see the applicable guide:- Classic Load Balancers: [describe-load-balancers](https://docs.aws.amazon.com/cli/latest/reference/elb/describe-load-balancers.html) - Application and Network Load Balancers: [describe-load-balancers](https://docs.aws.amazon.com/cli/latest/reference/elbv2/describe-load-balancers.html) - **Global Accelerator accelerator** - Specify the DNS name for your accelerator:
- *Global Accelerator API* : To get the DNS name, use [DescribeAccelerator](https://docs.aws.amazon.com/global-accelerator/latest/api/API_DescribeAccelerator.html) . - *AWS CLI* : To get the DNS name, use [describe-accelerator](https://docs.aws.amazon.com/cli/latest/reference/globalaccelerator/describe-accelerator.html) . - **Amazon S3 bucket that is configured as a static website** - Specify the domain name of the Amazon S3 website endpoint that you created the bucket in, for example,
s3-website.us-east-2.amazonaws.com
. For more information about valid values, see the table [Amazon S3 Website Endpoints](https://docs.aws.amazon.com/general/latest/gr/s3.html#s3_website_region_endpoints) in the *Amazon Web Services General Reference* . For more information about using S3 buckets for websites, see [Getting Started with Amazon Route 53](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/getting-started.html) in the *Amazon Route 53 Developer Guide.* - **Another Route 53 record** - Specify the value of theName
element for a record in the current hosted zone.> If you're creating an alias record that has the same name as the hosted zone (known as the zone apex), you can't specify the domain name for a record for which the value of
Type
isCNAME
. This is because the alias record must have the same type as the record that you're routing traffic to, and creating a CNAME record for the zone apex isn't supported even for an alias record.http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-aliastarget.html#cfn-route53-aliastarget-dnshostname
property evaluateTargetHealth
readonly evaluateTargetHealth?: boolean | cdk.IResolvable;
*Applies only to alias, failover alias, geolocation alias, latency alias, and weighted alias resource record sets:* When
EvaluateTargetHealth
istrue
, an alias resource record set inherits the health of the referenced AWS resource, such as an ELB load balancer or another resource record set in the hosted zone.Note the following:
- **CloudFront distributions** - You can't set
EvaluateTargetHealth
totrue
when the alias target is a CloudFront distribution. - **Elastic Beanstalk environments that have regionalized subdomains** - If you specify an Elastic Beanstalk environment inDNSName
and the environment contains an ELB load balancer, Elastic Load Balancing routes queries only to the healthy Amazon EC2 instances that are registered with the load balancer. (An environment automatically contains an ELB load balancer if it includes more than one Amazon EC2 instance.) If you setEvaluateTargetHealth
totrue
and either no Amazon EC2 instances are healthy or the load balancer itself is unhealthy, Route 53 routes queries to other available resources that are healthy, if any.If the environment contains a single Amazon EC2 instance, there are no special requirements. - **ELB load balancers** - Health checking behavior depends on the type of load balancer:
- *Classic Load Balancers* : If you specify an ELB Classic Load Balancer in
DNSName
, Elastic Load Balancing routes queries only to the healthy Amazon EC2 instances that are registered with the load balancer. If you setEvaluateTargetHealth
totrue
and either no EC2 instances are healthy or the load balancer itself is unhealthy, Route 53 routes queries to other resources. - *Application and Network Load Balancers* : If you specify an ELB Application or Network Load Balancer and you setEvaluateTargetHealth
totrue
, Route 53 routes queries to the load balancer based on the health of the target groups that are associated with the load balancer:- For an Application or Network Load Balancer to be considered healthy, every target group that contains targets must contain at least one healthy target. If any target group contains only unhealthy targets, the load balancer is considered unhealthy, and Route 53 routes queries to other resources. - A target group that has no registered targets is considered unhealthy.
> When you create a load balancer, you configure settings for Elastic Load Balancing health checks; they're not Route 53 health checks, but they perform a similar function. Do not create Route 53 health checks for the EC2 instances that you register with an ELB load balancer. - **S3 buckets** - There are no special requirements for setting
EvaluateTargetHealth
totrue
when the alias target is an S3 bucket. - **Other records in the same hosted zone** - If the AWS resource that you specify inDNSName
is a record or a group of records (for example, a group of weighted records) but is not another alias record, we recommend that you associate a health check with all of the records in the alias target. For more information, see [What Happens When You Omit Health Checks?](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-complex-configs.html#dns-failover-complex-configs-hc-omitting) in the *Amazon Route 53 Developer Guide* .For more information and examples, see [Amazon Route 53 Health Checks and DNS Failover](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html) in the *Amazon Route 53 Developer Guide* .
http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-aliastarget.html#cfn-route53-aliastarget-evaluatetargethealth
property hostedZoneId
readonly hostedZoneId: string;
*Alias resource records sets only* : The value used depends on where you want to route traffic:
- **Amazon API Gateway custom regional APIs and edge-optimized APIs** - Specify the hosted zone ID for your API. You can get the applicable value using the AWS CLI command [get-domain-names](https://docs.aws.amazon.com/cli/latest/reference/apigateway/get-domain-names.html) :
- For regional APIs, specify the value of
regionalHostedZoneId
. - For edge-optimized APIs, specify the value ofdistributionHostedZoneId
. - **Amazon Virtual Private Cloud interface VPC endpoint** - Specify the hosted zone ID for your interface endpoint. You can get the value ofHostedZoneId
using the AWS CLI command [describe-vpc-endpoints](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-vpc-endpoints.html) . - **CloudFront distribution** - SpecifyZ2FDTNDATAQYW2
. This is always the hosted zone ID when you create an alias record that routes traffic to a CloudFront distribution.> Alias records for CloudFront can't be created in a private zone. - **Elastic Beanstalk environment** - Specify the hosted zone ID for the region that you created the environment in. The environment must have a regionalized subdomain. For a list of regions and the corresponding hosted zone IDs, see [AWS Elastic Beanstalk endpoints and quotas](https://docs.aws.amazon.com/general/latest/gr/elasticbeanstalk.html) in the *Amazon Web Services General Reference* . - **ELB load balancer** - Specify the value of the hosted zone ID for the load balancer. Use the following methods to get the hosted zone ID:
- [Service Endpoints](https://docs.aws.amazon.com/general/latest/gr/elb.html) table in the "Elastic Load Balancing Endpoints and Quotas" topic in the *Amazon Web Services General Reference* : Use the value that corresponds with the region that you created your load balancer in. Note that there are separate columns for Application and Classic Load Balancers and for Network Load Balancers. - *AWS Management Console* : Go to the Amazon EC2 page, choose *Load Balancers* in the navigation pane, select the load balancer, and get the value of the *Hosted zone* field on the *Description* tab. - *Elastic Load Balancing API* : Use
DescribeLoadBalancers
to get the applicable value. For more information, see the applicable guide:- Classic Load Balancers: Use [DescribeLoadBalancers](https://docs.aws.amazon.com/elasticloadbalancing/2012-06-01/APIReference/API_DescribeLoadBalancers.html) to get the value of
CanonicalHostedZoneNameID
. - Application and Network Load Balancers: Use [DescribeLoadBalancers](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeLoadBalancers.html) to get the value ofCanonicalHostedZoneID
. - *CloudFormation Fn::GetAtt intrinsic function* : Use the [Fn::GetAtt](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-getatt.html) intrinsic function to get the applicable value:- Classic Load Balancers: Get [CanonicalHostedZoneNameID](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb.html#aws-properties-ec2-elb-return-values) . - Application and Network Load Balancers: Get [CanonicalHostedZoneID](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-loadbalancer.html#aws-resource-elasticloadbalancingv2-loadbalancer-return-values) . - *AWS CLI* : Use
describe-load-balancers
to get the applicable value. For more information, see the applicable guide:- Classic Load Balancers: Use [describe-load-balancers](https://docs.aws.amazon.com/cli/latest/reference/elb/describe-load-balancers.html) to get the value of
CanonicalHostedZoneNameID
. - Application and Network Load Balancers: Use [describe-load-balancers](https://docs.aws.amazon.com/cli/latest/reference/elbv2/describe-load-balancers.html) to get the value ofCanonicalHostedZoneID
. - **Global Accelerator accelerator** - SpecifyZ2BJ6XQ5FK7U4H
. - **An Amazon S3 bucket configured as a static website** - Specify the hosted zone ID for the region that you created the bucket in. For more information about valid values, see the table [Amazon S3 Website Endpoints](https://docs.aws.amazon.com/general/latest/gr/s3.html#s3_website_region_endpoints) in the *Amazon Web Services General Reference* . - **Another Route 53 record in your hosted zone** - Specify the hosted zone ID of your hosted zone. (An alias record can't reference a record in a different hosted zone.)http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-aliastarget.html#cfn-route53-aliastarget-hostedzoneid
interface CidrRoutingConfigProperty
interface CidrRoutingConfigProperty {}
The object that is specified in resource record set object when you are linking a resource record set to a CIDR location.
A
LocationName
with an asterisk “*” can be used to create a default CIDR record.CollectionId
is still required for default record.external
http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-cidrroutingconfig.html
property collectionId
readonly collectionId: string;
The CIDR collection ID.
http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-cidrroutingconfig.html#cfn-route53-cidrroutingconfig-collectionid
property locationName
readonly locationName: string;
The CIDR collection location name.
http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-cidrroutingconfig.html#cfn-route53-cidrroutingconfig-locationname
interface GeoLocationProperty
interface GeoLocationProperty {}
A complex type that contains information about a geographic location.
external
http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset-geolocation.html
property continentCode
readonly continentCode?: string;
For geolocation resource record sets, a two-letter abbreviation that identifies a continent. Route 53 supports the following continent codes:
- *AF* : Africa - *AN* : Antarctica - *AS* : Asia - *EU* : Europe - *OC* : Oceania - *NA* : North America - *SA* : South America
Constraint: Specifying
ContinentCode
with eitherCountryCode
orSubdivisionCode
returns anInvalidInput
error.http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset-geolocation.html#cfn-route53-recordset-geolocation-continentcode
property countryCode
readonly countryCode?: string;
For geolocation resource record sets, the two-letter code for a country.
Route 53 uses the two-letter country codes that are specified in [ISO standard 3166-1 alpha-2](https://docs.aws.amazon.com/https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) .
http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset-geolocation.html#cfn-route53-recordset-geolocation-countrycode
property subdivisionCode
readonly subdivisionCode?: string;
For geolocation resource record sets, the two-letter code for a state of the United States. Route 53 doesn't support any other values for
SubdivisionCode
. For a list of state abbreviations, see [Appendix B: Two–Letter State and Possession Abbreviations](https://docs.aws.amazon.com/https://pe.usps.com/text/pub28/28apb.htm) on the United States Postal Service website.If you specify
subdivisioncode
, you must also specifyUS
forCountryCode
.http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset-geolocation.html#cfn-route53-recordset-geolocation-subdivisioncode
namespace CfnRecordSetGroup
namespace CfnRecordSetGroup {}
interface AliasTargetProperty
interface AliasTargetProperty {}
*Alias records only:* Information about the AWS resource, such as a CloudFront distribution or an Amazon S3 bucket, that you want to route traffic to.
When creating records for a private hosted zone, note the following:
- Creating geolocation alias and latency alias records in a private hosted zone is allowed but not supported. - For information about creating failover records in a private hosted zone, see [Configuring Failover in a Private Hosted Zone](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html) .
external
http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-aliastarget.html
property dnsName
readonly dnsName: string;
*Alias records only:* The value that you specify depends on where you want to route queries:
- **Amazon API Gateway custom regional APIs and edge-optimized APIs** - Specify the applicable domain name for your API. You can get the applicable value using the AWS CLI command [get-domain-names](https://docs.aws.amazon.com/cli/latest/reference/apigateway/get-domain-names.html) :
- For regional APIs, specify the value of
regionalDomainName
. - For edge-optimized APIs, specify the value ofdistributionDomainName
. This is the name of the associated CloudFront distribution, such asda1b2c3d4e5.cloudfront.net
.> The name of the record that you're creating must match a custom domain name for your API, such as
api.example.com
. - **Amazon Virtual Private Cloud interface VPC endpoint** - Enter the API endpoint for the interface endpoint, such asvpce-123456789abcdef01-example-us-east-1a.elasticloadbalancing.us-east-1.vpce.amazonaws.com
. For edge-optimized APIs, this is the domain name for the corresponding CloudFront distribution. You can get the value ofDnsName
using the AWS CLI command [describe-vpc-endpoints](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-vpc-endpoints.html) . - **CloudFront distribution** - Specify the domain name that CloudFront assigned when you created your distribution.Your CloudFront distribution must include an alternate domain name that matches the name of the record. For example, if the name of the record is *acme.example.com* , your CloudFront distribution must include *acme.example.com* as one of the alternate domain names. For more information, see [Using Alternate Domain Names (CNAMEs)](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/CNAMEs.html) in the *Amazon CloudFront Developer Guide* .
You can't create a record in a private hosted zone to route traffic to a CloudFront distribution.
> For failover alias records, you can't specify a CloudFront distribution for both the primary and secondary records. A distribution must include an alternate domain name that matches the name of the record. However, the primary and secondary records have the same name, and you can't include the same alternate domain name in more than one distribution. - **Elastic Beanstalk environment** - If the domain name for your Elastic Beanstalk environment includes the region that you deployed the environment in, you can create an alias record that routes traffic to the environment. For example, the domain name
my-environment. *us-west-2* .elasticbeanstalk.com
is a regionalized domain name.> For environments that were created before early 2016, the domain name doesn't include the region. To route traffic to these environments, you must create a CNAME record instead of an alias record. Note that you can't create a CNAME record for the root domain name. For example, if your domain name is example.com, you can create a record that routes traffic for acme.example.com to your Elastic Beanstalk environment, but you can't create a record that routes traffic for example.com to your Elastic Beanstalk environment.
For Elastic Beanstalk environments that have regionalized subdomains, specify the
CNAME
attribute for the environment. You can use the following methods to get the value of the CNAME attribute:- *AWS Management Console* : For information about how to get the value by using the console, see [Using Custom Domains with AWS Elastic Beanstalk](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/customdomains.html) in the *AWS Elastic Beanstalk Developer Guide* . - *Elastic Beanstalk API* : Use the
DescribeEnvironments
action to get the value of theCNAME
attribute. For more information, see [DescribeEnvironments](https://docs.aws.amazon.com/elasticbeanstalk/latest/api/API_DescribeEnvironments.html) in the *AWS Elastic Beanstalk API Reference* . - *AWS CLI* : Use thedescribe-environments
command to get the value of theCNAME
attribute. For more information, see [describe-environments](https://docs.aws.amazon.com/cli/latest/reference/elasticbeanstalk/describe-environments.html) in the *AWS CLI* . - **ELB load balancer** - Specify the DNS name that is associated with the load balancer. Get the DNS name by using the AWS Management Console , the ELB API, or the AWS CLI .- *AWS Management Console* : Go to the EC2 page, choose *Load Balancers* in the navigation pane, choose the load balancer, choose the *Description* tab, and get the value of the *DNS name* field.
If you're routing traffic to a Classic Load Balancer, get the value that begins with *dualstack* . If you're routing traffic to another type of load balancer, get the value that applies to the record type, A or AAAA. - *Elastic Load Balancing API* : Use
DescribeLoadBalancers
to get the value ofDNSName
. For more information, see the applicable guide:- Classic Load Balancers: [DescribeLoadBalancers](https://docs.aws.amazon.com/elasticloadbalancing/2012-06-01/APIReference/API_DescribeLoadBalancers.html) - Application and Network Load Balancers: [DescribeLoadBalancers](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeLoadBalancers.html) - *CloudFormation Fn::GetAtt intrinsic function* : Use the [Fn::GetAtt](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-getatt.html) intrinsic function to get the value of
DNSName
:- [Classic Load Balancers](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb.html#aws-properties-ec2-elb-return-values) . - [Application and Network Load Balancers](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-loadbalancer.html#aws-resource-elasticloadbalancingv2-loadbalancer-return-values) . - *AWS CLI* : Use
describe-load-balancers
to get the value ofDNSName
. For more information, see the applicable guide:- Classic Load Balancers: [describe-load-balancers](https://docs.aws.amazon.com/cli/latest/reference/elb/describe-load-balancers.html) - Application and Network Load Balancers: [describe-load-balancers](https://docs.aws.amazon.com/cli/latest/reference/elbv2/describe-load-balancers.html) - **Global Accelerator accelerator** - Specify the DNS name for your accelerator:
- *Global Accelerator API* : To get the DNS name, use [DescribeAccelerator](https://docs.aws.amazon.com/global-accelerator/latest/api/API_DescribeAccelerator.html) . - *AWS CLI* : To get the DNS name, use [describe-accelerator](https://docs.aws.amazon.com/cli/latest/reference/globalaccelerator/describe-accelerator.html) . - **Amazon S3 bucket that is configured as a static website** - Specify the domain name of the Amazon S3 website endpoint that you created the bucket in, for example,
s3-website.us-east-2.amazonaws.com
. For more information about valid values, see the table [Amazon S3 Website Endpoints](https://docs.aws.amazon.com/general/latest/gr/s3.html#s3_website_region_endpoints) in the *Amazon Web Services General Reference* . For more information about using S3 buckets for websites, see [Getting Started with Amazon Route 53](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/getting-started.html) in the *Amazon Route 53 Developer Guide.* - **Another Route 53 record** - Specify the value of theName
element for a record in the current hosted zone.> If you're creating an alias record that has the same name as the hosted zone (known as the zone apex), you can't specify the domain name for a record for which the value of
Type
isCNAME
. This is because the alias record must have the same type as the record that you're routing traffic to, and creating a CNAME record for the zone apex isn't supported even for an alias record.http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-aliastarget.html#cfn-route53-aliastarget-dnshostname
property evaluateTargetHealth
readonly evaluateTargetHealth?: boolean | cdk.IResolvable;
*Applies only to alias records with any routing policy:* When
EvaluateTargetHealth
istrue
, an alias record inherits the health of the referenced AWS resource, such as an ELB load balancer or another record in the hosted zone.Note the following:
- **CloudFront distributions** - You can't set
EvaluateTargetHealth
totrue
when the alias target is a CloudFront distribution. - **Elastic Beanstalk environments that have regionalized subdomains** - If you specify an Elastic Beanstalk environment inDNSName
and the environment contains an ELB load balancer, Elastic Load Balancing routes queries only to the healthy Amazon EC2 instances that are registered with the load balancer. (An environment automatically contains an ELB load balancer if it includes more than one Amazon EC2 instance.) If you setEvaluateTargetHealth
totrue
and either no Amazon EC2 instances are healthy or the load balancer itself is unhealthy, Route 53 routes queries to other available resources that are healthy, if any.If the environment contains a single Amazon EC2 instance, there are no special requirements. - **ELB load balancers** - Health checking behavior depends on the type of load balancer:
- *Classic Load Balancers* : If you specify an ELB Classic Load Balancer in
DNSName
, Elastic Load Balancing routes queries only to the healthy Amazon EC2 instances that are registered with the load balancer. If you setEvaluateTargetHealth
totrue
and either no EC2 instances are healthy or the load balancer itself is unhealthy, Route 53 routes queries to other resources. - *Application and Network Load Balancers* : If you specify an ELB Application or Network Load Balancer and you setEvaluateTargetHealth
totrue
, Route 53 routes queries to the load balancer based on the health of the target groups that are associated with the load balancer:- For an Application or Network Load Balancer to be considered healthy, every target group that contains targets must contain at least one healthy target. If any target group contains only unhealthy targets, the load balancer is considered unhealthy, and Route 53 routes queries to other resources. - A target group that has no registered targets is considered unhealthy.
> When you create a load balancer, you configure settings for Elastic Load Balancing health checks; they're not Route 53 health checks, but they perform a similar function. Do not create Route 53 health checks for the EC2 instances that you register with an ELB load balancer. - **S3 buckets** - There are no special requirements for setting
EvaluateTargetHealth
totrue
when the alias target is an S3 bucket. - **Other records in the same hosted zone** - If the AWS resource that you specify inDNSName
is a record or a group of records (for example, a group of weighted records) but is not another alias record, we recommend that you associate a health check with all of the records in the alias target. For more information, see [What Happens When You Omit Health Checks?](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-complex-configs.html#dns-failover-complex-configs-hc-omitting) in the *Amazon Route 53 Developer Guide* .For more information and examples, see [Amazon Route 53 Health Checks and DNS Failover](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html) in the *Amazon Route 53 Developer Guide* .
http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-aliastarget.html#cfn-route53-aliastarget-evaluatetargethealth
property hostedZoneId
readonly hostedZoneId: string;
*Alias resource records sets only* : The value used depends on where you want to route traffic:
- **Amazon API Gateway custom regional APIs and edge-optimized APIs** - Specify the hosted zone ID for your API. You can get the applicable value using the AWS CLI command [get-domain-names](https://docs.aws.amazon.com/cli/latest/reference/apigateway/get-domain-names.html) :
- For regional APIs, specify the value of
regionalHostedZoneId
. - For edge-optimized APIs, specify the value ofdistributionHostedZoneId
. - **Amazon Virtual Private Cloud interface VPC endpoint** - Specify the hosted zone ID for your interface endpoint. You can get the value ofHostedZoneId
using the AWS CLI command [describe-vpc-endpoints](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-vpc-endpoints.html) . - **CloudFront distribution** - SpecifyZ2FDTNDATAQYW2
. This is always the hosted zone ID when you create an alias record that routes traffic to a CloudFront distribution.> Alias records for CloudFront can't be created in a private zone. - **Elastic Beanstalk environment** - Specify the hosted zone ID for the region that you created the environment in. The environment must have a regionalized subdomain. For a list of regions and the corresponding hosted zone IDs, see [AWS Elastic Beanstalk endpoints and quotas](https://docs.aws.amazon.com/general/latest/gr/elasticbeanstalk.html) in the *Amazon Web Services General Reference* . - **ELB load balancer** - Specify the value of the hosted zone ID for the load balancer. Use the following methods to get the hosted zone ID:
- [Service Endpoints](https://docs.aws.amazon.com/general/latest/gr/elb.html) table in the "Elastic Load Balancing endpoints and quotas" topic in the *Amazon Web Services General Reference* : Use the value that corresponds with the region that you created your load balancer in. Note that there are separate columns for Application and Classic Load Balancers and for Network Load Balancers. - *AWS Management Console* : Go to the Amazon EC2 page, choose *Load Balancers* in the navigation pane, select the load balancer, and get the value of the *Hosted zone* field on the *Description* tab. - *Elastic Load Balancing API* : Use
DescribeLoadBalancers
to get the applicable value. For more information, see the applicable guide:- Classic Load Balancers: Use [DescribeLoadBalancers](https://docs.aws.amazon.com/elasticloadbalancing/2012-06-01/APIReference/API_DescribeLoadBalancers.html) to get the value of
CanonicalHostedZoneNameID
. - Application and Network Load Balancers: Use [DescribeLoadBalancers](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeLoadBalancers.html) to get the value ofCanonicalHostedZoneID
. - *CloudFormation Fn::GetAtt intrinsic function* : Use the [Fn::GetAtt](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-getatt.html) intrinsic function to get the applicable value:- Classic Load Balancers: Get [CanonicalHostedZoneNameID](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb.html#aws-properties-ec2-elb-return-values) . - Application and Network Load Balancers: Get [CanonicalHostedZoneID](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-loadbalancer.html#aws-resource-elasticloadbalancingv2-loadbalancer-return-values) . - *AWS CLI* : Use
describe-load-balancers
to get the applicable value. For more information, see the applicable guide:- Classic Load Balancers: Use [describe-load-balancers](https://docs.aws.amazon.com/cli/latest/reference/elb/describe-load-balancers.html) to get the value of
CanonicalHostedZoneNameID
. - Application and Network Load Balancers: Use [describe-load-balancers](https://docs.aws.amazon.com/cli/latest/reference/elbv2/describe-load-balancers.html) to get the value ofCanonicalHostedZoneID
. - **Global Accelerator accelerator** - SpecifyZ2BJ6XQ5FK7U4H
. - **An Amazon S3 bucket configured as a static website** - Specify the hosted zone ID for the region that you created the bucket in. For more information about valid values, see the table [Amazon S3 Website Endpoints](https://docs.aws.amazon.com/general/latest/gr/s3.html#s3_website_region_endpoints) in the *Amazon Web Services General Reference* . - **Another Route 53 record in your hosted zone** - Specify the hosted zone ID of your hosted zone. (An alias record can't reference a record in a different hosted zone.)http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-aliastarget.html#cfn-route53-aliastarget-hostedzoneid
interface CidrRoutingConfigProperty
interface CidrRoutingConfigProperty {}
The object that is specified in resource record set object when you are linking a resource record set to a CIDR location.
A
LocationName
with an asterisk “*” can be used to create a default CIDR record.CollectionId
is still required for default record.external
http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-cidrroutingconfig.html
property collectionId
readonly collectionId: string;
The CIDR collection ID.
http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-cidrroutingconfig.html#cfn-route53-cidrroutingconfig-collectionid
property locationName
readonly locationName: string;
The CIDR collection location name.
http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-cidrroutingconfig.html#cfn-route53-cidrroutingconfig-locationname
interface GeoLocationProperty
interface GeoLocationProperty {}
A complex type that contains information about a geographic location.
external
http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset-geolocation.html
property continentCode
readonly continentCode?: string;
For geolocation resource record sets, a two-letter abbreviation that identifies a continent. Route 53 supports the following continent codes:
- *AF* : Africa - *AN* : Antarctica - *AS* : Asia - *EU* : Europe - *OC* : Oceania - *NA* : North America - *SA* : South America
Constraint: Specifying
ContinentCode
with eitherCountryCode
orSubdivisionCode
returns anInvalidInput
error.http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset-geolocation.html#cfn-route53-recordsetgroup-geolocation-continentcode
property countryCode
readonly countryCode?: string;
For geolocation resource record sets, the two-letter code for a country.
Route 53 uses the two-letter country codes that are specified in [ISO standard 3166-1 alpha-2](https://docs.aws.amazon.com/https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) .
http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset-geolocation.html#cfn-route53-recordset-geolocation-countrycode
property subdivisionCode
readonly subdivisionCode?: string;
For geolocation resource record sets, the two-letter code for a state of the United States. Route 53 doesn't support any other values for
SubdivisionCode
. For a list of state abbreviations, see [Appendix B: Two–Letter State and Possession Abbreviations](https://docs.aws.amazon.com/https://pe.usps.com/text/pub28/28apb.htm) on the United States Postal Service website.If you specify
subdivisioncode
, you must also specifyUS
forCountryCode
.http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset-geolocation.html#cfn-route53-recordset-geolocation-subdivisioncode
interface RecordSetProperty
interface RecordSetProperty {}
Information about one record that you want to create.
external
http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html
property aliasTarget
readonly aliasTarget?: CfnRecordSetGroup.AliasTargetProperty | cdk.IResolvable;
*Alias resource record sets only:* Information about the AWS resource, such as a CloudFront distribution or an Amazon S3 bucket, that you want to route traffic to.
If you're creating resource records sets for a private hosted zone, note the following:
- You can't create an alias resource record set in a private hosted zone to route traffic to a CloudFront distribution. - For information about creating failover resource record sets in a private hosted zone, see [Configuring Failover in a Private Hosted Zone](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html) in the *Amazon Route 53 Developer Guide* .
http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-aliastarget
property cidrRoutingConfig
readonly cidrRoutingConfig?: | CfnRecordSetGroup.CidrRoutingConfigProperty | cdk.IResolvable;
CfnRecordSetGroup.RecordSetProperty.CidrRoutingConfig
http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-cidrroutingconfig
property failover
readonly failover?: string;
*Failover resource record sets only:* To configure failover, you add the
Failover
element to two resource record sets. For one resource record set, you specifyPRIMARY
as the value forFailover
; for the other resource record set, you specifySECONDARY
. In addition, you include theHealthCheckId
element and specify the health check that you want Amazon Route 53 to perform for each resource record set.Except where noted, the following failover behaviors assume that you have included the
HealthCheckId
element in both resource record sets:- When the primary resource record set is healthy, Route 53 responds to DNS queries with the applicable value from the primary resource record set regardless of the health of the secondary resource record set. - When the primary resource record set is unhealthy and the secondary resource record set is healthy, Route 53 responds to DNS queries with the applicable value from the secondary resource record set. - When the secondary resource record set is unhealthy, Route 53 responds to DNS queries with the applicable value from the primary resource record set regardless of the health of the primary resource record set. - If you omit the
HealthCheckId
element for the secondary resource record set, and if the primary resource record set is unhealthy, Route 53 always responds to DNS queries with the applicable value from the secondary resource record set. This is true regardless of the health of the associated endpoint.You can't create non-failover resource record sets that have the same values for the
Name
andType
elements as failover resource record sets.For failover alias resource record sets, you must also include the
EvaluateTargetHealth
element and set the value to true.For more information about configuring failover for Route 53, see the following topics in the *Amazon Route 53 Developer Guide* :
- [Route 53 Health Checks and DNS Failover](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html) - [Configuring Failover in a Private Hosted Zone](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html)
http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-failover
property geoLocation
readonly geoLocation?: CfnRecordSetGroup.GeoLocationProperty | cdk.IResolvable;
*Geolocation resource record sets only:* A complex type that lets you control how Amazon Route 53 responds to DNS queries based on the geographic origin of the query. For example, if you want all queries from Africa to be routed to a web server with an IP address of
192.0.2.111
, create a resource record set with aType
ofA
and aContinentCode
ofAF
.> Although creating geolocation and geolocation alias resource record sets in a private hosted zone is allowed, it's not supported.
If you create separate resource record sets for overlapping geographic regions (for example, one resource record set for a continent and one for a country on the same continent), priority goes to the smallest geographic region. This allows you to route most queries for a continent to one resource and to route queries for a country on that continent to a different resource.
You can't create two geolocation resource record sets that specify the same geographic location.
The value
*
in theCountryCode
element matches all geographic locations that aren't specified in other geolocation resource record sets that have the same values for theName
andType
elements.> Geolocation works by mapping IP addresses to locations. However, some IP addresses aren't mapped to geographic locations, so even if you create geolocation resource record sets that cover all seven continents, Route 53 will receive some DNS queries from locations that it can't identify. We recommend that you create a resource record set for which the value of
CountryCode
is*
. Two groups of queries are routed to the resource that you specify in this record: queries that come from locations for which you haven't created geolocation resource record sets and queries from IP addresses that aren't mapped to a location. If you don't create a*
resource record set, Route 53 returns a "no answer" response for queries from those locations.You can't create non-geolocation resource record sets that have the same values for the
Name
andType
elements as geolocation resource record sets.http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-geolocation
property healthCheckId
readonly healthCheckId?: string;
If you want Amazon Route 53 to return this resource record set in response to a DNS query only when the status of a health check is healthy, include the
HealthCheckId
element and specify the ID of the applicable health check.Route 53 determines whether a resource record set is healthy based on one of the following:
- By periodically sending a request to the endpoint that is specified in the health check - By aggregating the status of a specified group of health checks (calculated health checks) - By determining the current state of a CloudWatch alarm (CloudWatch metric health checks)
> Route 53 doesn't check the health of the endpoint that is specified in the resource record set, for example, the endpoint specified by the IP address in the
Value
element. When you add aHealthCheckId
element to a resource record set, Route 53 checks the health of the endpoint that you specified in the health check.For more information, see the following topics in the *Amazon Route 53 Developer Guide* :
- [How Amazon Route 53 Determines Whether an Endpoint Is Healthy](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-determining-health-of-endpoints.html) - [Route 53 Health Checks and DNS Failover](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html) - [Configuring Failover in a Private Hosted Zone](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html)
*When to Specify HealthCheckId*
Specifying a value for
HealthCheckId
is useful only when Route 53 is choosing between two or more resource record sets to respond to a DNS query, and you want Route 53 to base the choice in part on the status of a health check. Configuring health checks makes sense only in the following configurations:- *Non-alias resource record sets* : You're checking the health of a group of non-alias resource record sets that have the same routing policy, name, and type (such as multiple weighted records named www.example.com with a type of A) and you specify health check IDs for all the resource record sets.
If the health check status for a resource record set is healthy, Route 53 includes the record among the records that it responds to DNS queries with.
If the health check status for a resource record set is unhealthy, Route 53 stops responding to DNS queries using the value for that resource record set.
If the health check status for all resource record sets in the group is unhealthy, Route 53 considers all resource record sets in the group healthy and responds to DNS queries accordingly. - *Alias resource record sets* : You specify the following settings:
- You set
EvaluateTargetHealth
to true for an alias resource record set in a group of resource record sets that have the same routing policy, name, and type (such as multiple weighted records named www.example.com with a type of A). - You configure the alias resource record set to route traffic to a non-alias resource record set in the same hosted zone. - You specify a health check ID for the non-alias resource record set.If the health check status is healthy, Route 53 considers the alias resource record set to be healthy and includes the alias record among the records that it responds to DNS queries with.
If the health check status is unhealthy, Route 53 stops responding to DNS queries using the alias resource record set.
> The alias resource record set can also route traffic to a *group* of non-alias resource record sets that have the same routing policy, name, and type. In that configuration, associate health checks with all of the resource record sets in the group of non-alias resource record sets.
*Geolocation Routing*
For geolocation resource record sets, if an endpoint is unhealthy, Route 53 looks for a resource record set for the larger, associated geographic region. For example, suppose you have resource record sets for a state in the United States, for the entire United States, for North America, and a resource record set that has
*
forCountryCode
is*
, which applies to all locations. If the endpoint for the state resource record set is unhealthy, Route 53 checks for healthy resource record sets in the following order until it finds a resource record set for which the endpoint is healthy:- The United States - North America - The default resource record set
*Specifying the Health Check Endpoint by Domain Name*
If your health checks specify the endpoint only by domain name, we recommend that you create a separate health check for each endpoint. For example, create a health check for each
HTTP
server that is serving content forwww.example.com
. For the value ofFullyQualifiedDomainName
, specify the domain name of the server (such asus-east-2-www.example.com
), not the name of the resource record sets (www.example.com
).> Health check results will be unpredictable if you do the following: > > - Create a health check that has the same value for
FullyQualifiedDomainName
as the name of a resource record set. > - Associate that health check with the resource record set.http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-healthcheckid
property hostedZoneId
readonly hostedZoneId?: string;
The ID of the hosted zone that you want to create records in.
Specify either
HostedZoneName
orHostedZoneId
, but not both. If you have multiple hosted zones with the same domain name, you must specify the hosted zone usingHostedZoneId
.http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-hostedzoneid
property hostedZoneName
readonly hostedZoneName?: string;
The name of the hosted zone that you want to create records in. You must include a trailing dot (for example,
www.example.com.
) as part of theHostedZoneName
.When you create a stack using an
AWS::Route53::RecordSet
that specifiesHostedZoneName
, AWS CloudFormation attempts to find a hosted zone whose name matches theHostedZoneName
. If AWS CloudFormation can't find a hosted zone with a matching domain name, or if there is more than one hosted zone with the specified domain name, AWS CloudFormation will not create the stack.Specify either
HostedZoneName
orHostedZoneId
, but not both. If you have multiple hosted zones with the same domain name, you must specify the hosted zone usingHostedZoneId
.http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-hostedzonename
property multiValueAnswer
readonly multiValueAnswer?: boolean | cdk.IResolvable;
*Multivalue answer resource record sets only* : To route traffic approximately randomly to multiple resources, such as web servers, create one multivalue answer record for each resource and specify
true
forMultiValueAnswer
. Note the following:- If you associate a health check with a multivalue answer resource record set, Amazon Route 53 responds to DNS queries with the corresponding IP address only when the health check is healthy. - If you don't associate a health check with a multivalue answer record, Route 53 always considers the record to be healthy. - Route 53 responds to DNS queries with up to eight healthy records; if you have eight or fewer healthy records, Route 53 responds to all DNS queries with all the healthy records. - If you have more than eight healthy records, Route 53 responds to different DNS resolvers with different combinations of healthy records. - When all records are unhealthy, Route 53 responds to DNS queries with up to eight unhealthy records. - If a resource becomes unavailable after a resolver caches a response, client software typically tries another of the IP addresses in the response.
You can't create multivalue answer alias records.
http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-multivalueanswer
property name
readonly name: string;
For
ChangeResourceRecordSets
requests, the name of the record that you want to create, update, or delete. ForListResourceRecordSets
responses, the name of a record in the specified hosted zone.*ChangeResourceRecordSets Only*
Enter a fully qualified domain name, for example,
www.example.com
. You can optionally include a trailing dot. If you omit the trailing dot, Amazon Route 53 assumes that the domain name that you specify is fully qualified. This means that Route 53 treatswww.example.com
(without a trailing dot) andwww.example.com.
(with a trailing dot) as identical.For information about how to specify characters other than
a-z
,0-9
, and-
(hyphen) and how to specify internationalized domain names, see [DNS Domain Name Format](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/DomainNameFormat.html) in the *Amazon Route 53 Developer Guide* .You can use the asterisk (*) wildcard to replace the leftmost label in a domain name, for example,
*.example.com
. Note the following:- The * must replace the entire label. For example, you can't specify
*prod.example.com
orprod*.example.com
. - The * can't replace any of the middle labels, for example, marketing.*.example.com. - If you include * in any position other than the leftmost label in a domain name, DNS treats it as an * character (ASCII 42), not as a wildcard.> You can't use the * wildcard for resource records sets that have a type of NS.
You can use the * wildcard as the leftmost label in a domain name, for example,
*.example.com
. You can't use an * for one of the middle labels, for example,marketing.*.example.com
. In addition, the * must replace the entire label; for example, you can't specifyprod*.example.com
.http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-name
property region
readonly region?: string;
*Latency-based resource record sets only:* The Amazon EC2 Region where you created the resource that this resource record set refers to. The resource typically is an AWS resource, such as an EC2 instance or an ELB load balancer, and is referred to by an IP address or a DNS domain name, depending on the record type.
When Amazon Route 53 receives a DNS query for a domain name and type for which you have created latency resource record sets, Route 53 selects the latency resource record set that has the lowest latency between the end user and the associated Amazon EC2 Region. Route 53 then returns the value that is associated with the selected resource record set.
Note the following:
- You can only specify one
ResourceRecord
per latency resource record set. - You can only create one latency resource record set for each Amazon EC2 Region. - You aren't required to create latency resource record sets for all Amazon EC2 Regions. Route 53 will choose the region with the best latency from among the regions that you create latency resource record sets for. - You can't create non-latency resource record sets that have the same values for theName
andType
elements as latency resource record sets.http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-region
property resourceRecords
readonly resourceRecords?: string[];
Information about the records that you want to create. Each record should be in the format appropriate for the record type specified by the
Type
property. For information about different record types and their record formats, see [Values That You Specify When You Create or Edit Amazon Route 53 Records](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/resource-record-sets-values.html) in the *Amazon Route 53 Developer Guide* .http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-resourcerecords
property setIdentifier
readonly setIdentifier?: string;
*Resource record sets that have a routing policy other than simple:* An identifier that differentiates among multiple resource record sets that have the same combination of name and type, such as multiple weighted resource record sets named acme.example.com that have a type of A. In a group of resource record sets that have the same name and type, the value of
SetIdentifier
must be unique for each resource record set.For information about routing policies, see [Choosing a Routing Policy](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy.html) in the *Amazon Route 53 Developer Guide* .
http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-setidentifier
property ttl
readonly ttl?: string;
The resource record cache time to live (TTL), in seconds. Note the following:
- If you're creating or updating an alias resource record set, omit
TTL
. Amazon Route 53 uses the value ofTTL
for the alias target. - If you're associating this resource record set with a health check (if you're adding aHealthCheckId
element), we recommend that you specify aTTL
of 60 seconds or less so clients respond quickly to changes in health status. - All of the resource record sets in a group of weighted resource record sets must have the same value forTTL
. - If a group of weighted resource record sets includes one or more weighted alias resource record sets for which the alias target is an ELB load balancer, we recommend that you specify aTTL
of 60 seconds for all of the non-alias weighted resource record sets that have the same name and type. Values other than 60 seconds (the TTL for load balancers) will change the effect of the values that you specify forWeight
.http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-ttl
property type
readonly type: string;
The DNS record type. For information about different record types and how data is encoded for them, see [Supported DNS Resource Record Types](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/ResourceRecordTypes.html) in the *Amazon Route 53 Developer Guide* .
Valid values for basic resource record sets:
A
|AAAA
|CAA
|CNAME
|DS
|MX
|NAPTR
|NS
|PTR
|SOA
|SPF
|SRV
|TXT
Values for weighted, latency, geolocation, and failover resource record sets:
A
|AAAA
|CAA
|CNAME
|MX
|NAPTR
|PTR
|SPF
|SRV
|TXT
. When creating a group of weighted, latency, geolocation, or failover resource record sets, specify the same value for all of the resource record sets in the group.Valid values for multivalue answer resource record sets:
A
|AAAA
|MX
|NAPTR
|PTR
|SPF
|SRV
|TXT
> SPF records were formerly used to verify the identity of the sender of email messages. However, we no longer recommend that you create resource record sets for which the value of
Type
isSPF
. RFC 7208, *Sender Policy Framework (SPF) for Authorizing Use of Domains in Email, Version 1* , has been updated to say, "...[I]ts existence and mechanism defined in [RFC4408] have led to some interoperability issues. Accordingly, its use is no longer appropriate for SPF version 1; implementations are not to use it." In RFC 7208, see section 14.1, [The SPF DNS Record Type](https://docs.aws.amazon.com/http://tools.ietf.org/html/rfc7208#section-14.1) .Values for alias resource record sets:
- *Amazon API Gateway custom regional APIs and edge-optimized APIs:*
A
- *CloudFront distributions:*A
If IPv6 is enabled for the distribution, create two resource record sets to route traffic to your distribution, one with a value of
A
and one with a value ofAAAA
. - *Amazon API Gateway environment that has a regionalized subdomain* :A
- *ELB load balancers:*A
|AAAA
- *Amazon S3 buckets:*A
- *Amazon Virtual Private Cloud interface VPC endpoints*A
- *Another resource record set in this hosted zone:* Specify the type of the resource record set that you're creating the alias for. All values are supported exceptNS
andSOA
.> If you're creating an alias record that has the same name as the hosted zone (known as the zone apex), you can't route traffic to a record for which the value of
Type
isCNAME
. This is because the alias record must have the same type as the record you're routing traffic to, and creating a CNAME record for the zone apex isn't supported even for an alias record.http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-type
property weight
readonly weight?: number;
*Weighted resource record sets only:* Among resource record sets that have the same combination of DNS name and type, a value that determines the proportion of DNS queries that Amazon Route 53 responds to using the current resource record set. Route 53 calculates the sum of the weights for the resource record sets that have the same combination of DNS name and type. Route 53 then responds to queries based on the ratio of a resource's weight to the total. Note the following:
- You must specify a value for the
Weight
element for every weighted resource record set. - You can only specify oneResourceRecord
per weighted resource record set. - You can't create latency, failover, or geolocation resource record sets that have the same values for theName
andType
elements as weighted resource record sets. - You can create a maximum of 100 weighted resource record sets that have the same values for theName
andType
elements. - For weighted (but not weighted alias) resource record sets, if you setWeight
to0
for a resource record set, Route 53 never responds to queries with the applicable value for that resource record set. However, if you setWeight
to0
for all resource record sets that have the same combination of DNS name and type, traffic is routed to all resources with equal probability.The effect of setting
Weight
to0
is different when you associate health checks with weighted resource record sets. For more information, see [Options for Configuring Route 53 Active-Active and Active-Passive Failover](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-configuring-options.html) in the *Amazon Route 53 Developer Guide* .http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-weight
Package Files (8)
Dependencies (7)
Dev Dependencies (9)
Peer Dependencies (7)
Badge
To add a badge like this oneto your package's README, use the codes available below.
You may also use Shields.io to create a custom badge linking to https://www.jsdocs.io/package/@aws-cdk/aws-route53
.
- Markdown[![jsDocs.io](https://img.shields.io/badge/jsDocs.io-reference-blue)](https://www.jsdocs.io/package/@aws-cdk/aws-route53)
- HTML<a href="https://www.jsdocs.io/package/@aws-cdk/aws-route53"><img src="https://img.shields.io/badge/jsDocs.io-reference-blue" alt="jsDocs.io"></a>
- Updated .
Package analyzed in 3571 ms. - Missing or incorrect documentation? Open an issue for this package.