AWSTemplateFormatVersion: "2010-09-09" Description: "Route53 resources" Parameters: DomainName: Type: String Default: "example.com" RecordType: Type: String AliasTarget: Type: String Default: "a1bcde2f3ghij4.cloudfront.net" CloudFrontStaticZoneId: Type: String Default: "Z2FDTNDATAQYW2" # https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-aliastarget-1.html#cfn-route53-aliastarget-hostedzoneid Resources: MyHostedZone: Type: "AWS::Route53::HostedZone" Properties: Name: !Ref "DomainName" VPCs: - VPCId: !ImportValue "infrastructure-vpc" VPCRegion: !Ref "AWS::Region" MyRefRecordSet: Type: "AWS::Route53::RecordSet" Properties: HostedZoneId: !Ref "MyHostedZone" Name: "x.example.com" Type: !Ref "RecordType" TTL: "300" ResourceRecords: - "value" MyTXTRecordSet: Type: "AWS::Route53::RecordSet" Properties: Comment: "Valid TXT record" HostedZoneId: !Ref "MyHostedZone" Name: "x.example.com" Type: "TXT" TTL: "300" ResourceRecords: - "\"MS=ms123123\"" - "\"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\"" # 255 "a" characters # 255 "a" characters + quotes - "\"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\"\"bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb\"" # 255 "a" characters and 255 "b" characters - "\"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\"\"bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb\" \"ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\"" # 255 "a" characters and 255 "b" characters and 255 "c" characters with a space between b and c MyARecordSet: Type: "AWS::Route53::RecordSet" Properties: Comment: "Valid A Record" HostedZoneId: !Ref "MyHostedZone" Name: "www.example.com" Type: "A" TTL: "300" ResourceRecords: - "127.0.0.1" MyCAARecordSet: Type: "AWS::Route53::RecordSet" Properties: Comment: "Valid A Record" HostedZoneId: !Ref "MyHostedZone" Name: "www.example.com" Type: "CAA" TTL: "300" ResourceRecords: - "0 issue \"amazontrust.com;\"" - "0 issue \"awstrust.com;\"" - "0 issue \"amazonaws.com;\"" MyAAAARecordSet: Type: "AWS::Route53::RecordSet" Properties: Comment: "A valid A Record" HostedZoneId: !Ref "MyHostedZone" Name: "www.example.com" Type: "AAAA" TTL: "300" ResourceRecords: - "2001:0db8:85a3:0:0:8a2e:0370:7334" - "2001:0db8:3c4d:0015:0000:0000:1a2f:1a2b" - "0:0:0:0:0:0:A00:1" MyCNAMERecordSet: Type: "AWS::Route53::RecordSet" Properties: Comment: "A valid CNAME Record" HostedZoneId: !Ref "MyHostedZone" Name: "cname1.example.com" Type: "CNAME" TTL: "300" ResourceRecords: - "hostname.example.com" MyCNAMERecordSpecialCharactersSet: Type: "AWS::Route53::RecordSet" Properties: Comment: "A valid CNAME Record" HostedZoneId: !Ref "MyHostedZone" Name: "*test.&.example.com-" Type: "CNAME" TTL: "300" ResourceRecords: - "hostname.example.com" MyCNAME2RecordSet: Type: "AWS::Route53::RecordSet" Properties: Comment: "A valid CNAME Record" HostedZoneId: !Ref "MyHostedZone" Name: "cname2.example.com" Type: "CNAME" TTL: "300" ResourceRecords: - !Sub "www.${DomainName}" MyMXRecordSet: Type: "AWS::Route53::RecordSet" Properties: HostedZoneId: !Ref "MyHostedZone" Name: "example.com." Type: "MX" TTL: "300" ResourceRecords: - "10 mx1.example.com" - "10 mx1.example.com" MyNSRecordSet: Type: "AWS::Route53::RecordSet" Properties: Comment: "A valid NS Record" HostedZoneId: !Ref "MyHostedZone" Name: "www.example.com" Type: "NS" TTL: "300" ResourceRecords: - "ns-2048.awsdns-64.com" - "ns-2049.awsdns-65.net" - "ns-2050.awsdns-66.org" - "ns-2051.awsdns-67.co.uk" MyPTRRecordSet: Type: "AWS::Route53::RecordSet" Properties: Comment: "A valid NS Record" HostedZoneId: !Ref "MyHostedZone" Name: "www.example.com" Type: "PTR" TTL: "300" ResourceRecords: - "hostname.example.com" MyAliasRecordSet: Type: "AWS::Route53::RecordSet" Properties: Comment: "A valid Alias A Record" HostedZoneId: !Ref "MyHostedZone" Name: "alias.example.com" Type: "A" AliasTarget: DNSName: !Ref "AliasTarget" EvaluateTargetHealth: false HostedZoneId: !Ref "CloudFrontStaticZoneId" MyRecordSetGroup: Type: "AWS::Route53::RecordSetGroup" Properties: HostedZoneId: !Ref "MyHostedZone" RecordSets: - Name: "www.example.com" Type: "A" TTL: "300" ResourceRecords: - "255.255.255.255" - Name: "www.example.com" Type: "AAAA" TTL: "300" ResourceRecords: - "2001:db8:3c4d:15::1a2f:1a2b" - "2001:0db8:3c4d:0015:0000:d234:3eee:0000" - "2001:db8:3c4d:15:0:d234:3eee::" - "::1" - "1111:2222:3333:4444:5555:6666:123.123.123.123" - "1111::3333:4444:5555:6666:123.123.123.123" - Name: "example.com" Type: "CAA" TTL: "300" ResourceRecords: - "0 issue \"ca.example.net; account=123456\"" - "0 issuewild \"ca.example.net\"" - "128 exampletexttag \"1-555-555-1212\"" - "0 iodef \"mailto:admin@example.com\"" - Name: "txt.example.com" Type: "TXT" TTL: "300" ResourceRecords: - "\"MS=ms123123123\"" - Name: "example.com." Type: "MX" TTL: "300" ResourceRecords: - "0 mx.example.com" - "65535 mx2.example.com"