Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Cuplikan templat Route 53
Topik
- Rekaman sumber daya Amazon Route 53 yang ditetapkan menggunakan nama atau ID zona yang dihosting
- Menggunakan RecordSetGroup untuk mengatur set catatan sumber daya tertimbang
- Menggunakan RecordSetGroup untuk menyiapkan kumpulan catatan sumber daya alias
- Catatan sumber daya alias ditetapkan untuk distribusi CloudFront
Rekaman sumber daya Amazon Route 53 yang ditetapkan menggunakan nama atau ID zona yang dihosting
Saat Anda membuat kumpulan catatan sumber daya Amazon Route 53, Anda harus menentukan zona yang dihosting tempat Anda ingin menambahkannya. CloudFormation menyediakan dua cara untuk menentukan zona yang dihosting:
Anda dapat secara eksplisit menentukan zona yang di-host menggunakan properti
HostedZoneId
.Anda dapat CloudFormation menemukan zona yang dihosting menggunakan
HostedZoneName
properti. Jika Anda menggunakanHostedZoneName
properti dan ada beberapa zona yang dihosting dengan nama yang sama, CloudFormation tidak membuat tumpukan.
Menambahkan RecordSet menggunakan HostedZoneId
Contoh ini menambahkan kumpulan data sumber daya Amazon Route 53 yang berisi SPF
catatan untuk nama domain mysite.example.com
yang menggunakan HostedZoneId
properti untuk menentukan zona yang dihosting.
JSON
"myDNSRecord" : { "Type" : "AWS::Route53::RecordSet", "Properties" : { "HostedZoneId" : "Z3DG6IL3SJCGPX", "Name" : "mysite.example.com.", "Type" : "SPF", "TTL" : "900", "ResourceRecords" : [ "\"v=spf1 ip4:192.168.0.1/16 -all\"" ] } }
YAML
myDNSRecord: Type: AWS::Route53::RecordSet Properties: HostedZoneId: Z3DG6IL3SJCGPX Name: mysite.example.com. Type: SPF TTL: '900' ResourceRecords: - '"v=spf1 ip4:192.168.0.1/16 -all"'
Menambahkan RecordSet menggunakan HostedZoneName
Contoh ini menambahkan data sumber daya Amazon Route 53 yang ditetapkan untuk nama domain “mysite.example.com” menggunakan HostedZoneName
properti untuk menentukan zona yang dihosting.
JSON
"myDNSRecord2" : { "Type" : "AWS::Route53::RecordSet", "Properties" : { "HostedZoneName" : "example.com.", "Name" : "mysite.example.com.", "Type" : "A", "TTL" : "900", "ResourceRecords" : [ "192.168.0.1", "192.168.0.2" ] } }
YAML
myDNSRecord2: Type: AWS::Route53::RecordSet Properties: HostedZoneName: example.com. Name: mysite.example.com. Type: A TTL: '900' ResourceRecords: - 192.168.0.1 - 192.168.0.2
Menggunakan RecordSetGroup untuk mengatur set catatan sumber daya tertimbang
Contoh ini menggunakan AWS: :Route53:: RecordSetGroup untuk menyiapkan dua CNAME catatan untuk “example.com.” zona yang di-host. RecordSets
Properti berisi kumpulan CNAME rekaman untuk nama “mysite.example.com”. DNS Setiap set catatan mengandung sebuah pengidentifikasi (SetIdentifier
) dan bobot (Weight
). Proporsi lalu lintas internet yang dirutekan ke sumber daya didasarkan pada perhitungan berikut:
Frontend One
:140/(140+60)
=140/200
= 70%Frontend Two
:60/(140+60)
=60/200
= 30%
Untuk informasi selengkapnya tentang kumpulan rekaman sumber daya tertimbang, lihat Perutean tertimbang di Panduan Pengembang Amazon Route 53.
JSON
"myDNSOne" : { "Type" : "AWS::Route53::RecordSetGroup", "Properties" : { "HostedZoneName" : "example.com.", "Comment" : "Weighted RR for my frontends.", "RecordSets" : [ { "Name" : "mysite.example.com.", "Type" : "CNAME", "TTL" : "900", "SetIdentifier" : "Frontend One", "Weight" : "140", "ResourceRecords" : ["example-ec2.amazonaws.com"] }, { "Name" : "mysite.example.com.", "Type" : "CNAME", "TTL" : "900", "SetIdentifier" : "Frontend Two", "Weight" : "60", "ResourceRecords" : ["example-ec2-larger.amazonaws.com"] } ] } }
YAML
myDNSOne: Type: AWS::Route53::RecordSetGroup Properties: HostedZoneName: example.com. Comment: Weighted RR for my frontends. RecordSets: - Name: mysite.example.com. Type: CNAME TTL: '900' SetIdentifier: Frontend One Weight: '140' ResourceRecords: - example-ec2.amazonaws.com - Name: mysite.example.com. Type: CNAME TTL: '900' SetIdentifier: Frontend Two Weight: '60' ResourceRecords: - example-ec2-larger.amazonaws.com
Menggunakan RecordSetGroup untuk menyiapkan kumpulan catatan sumber daya alias
Contoh berikut menggunakan AWS: :Route53:: RecordSetGroup untuk menyiapkan kumpulan catatan sumber daya alias bernama example.com
yang merutekan lalu lintas ke penyeimbang beban ELB Versi 1 (Klasik) dan penyeimbang beban Versi 2 (Aplikasi atau Jaringan). AliasTargetProperti menentukan ID zona host dan DNS nama untuk myELB
LoadBalancer
dengan menggunakan fungsi GetAtt
intrinsik. GetAtt
mengambil properti myELB
sumber daya yang berbeda, tergantung pada apakah Anda merutekan lalu lintas ke penyeimbang beban Versi 1 atau Versi 2:
Penyeimbang beban Versi 1:
CanonicalHostedZoneNameID
danDNSName
Penyeimbang beban Versi 2:
CanonicalHostedZoneID
danDNSName
Untuk informasi selengkapnya tentang kumpulan rekaman sumber daya alias, lihat Memilih antara catatan alias dan non-alias di Panduan Pengembang Route 53.
JSONuntuk penyeimbang beban versi 1
"myELB" : { "Type" : "AWS::ElasticLoadBalancing::LoadBalancer", "Properties" : { "AvailabilityZones" : [ "us-east-1a" ], "Listeners" : [ { "LoadBalancerPort" : "80", "InstancePort" : "80", "Protocol" : "HTTP" } ] } }, "myDNS" : { "Type" : "AWS::Route53::RecordSetGroup", "Properties" : { "HostedZoneName" : "example.com.", "Comment" : "Zone apex alias targeted to myELB LoadBalancer.", "RecordSets" : [ { "Name" : "example.com.", "Type" : "A", "AliasTarget" : { "HostedZoneId" : { "Fn::GetAtt" : ["myELB", "CanonicalHostedZoneNameID"] }, "DNSName" : { "Fn::GetAtt" : ["myELB","DNSName"] } } } ] } }
YAMLuntuk penyeimbang beban versi 1
myELB: Type: AWS::ElasticLoadBalancing::LoadBalancer Properties: AvailabilityZones: - "us-east-1a" Listeners: - LoadBalancerPort: '80' InstancePort: '80' Protocol: HTTP myDNS: Type: AWS::Route53::RecordSetGroup Properties: HostedZoneName: example.com. Comment: Zone apex alias targeted to myELB LoadBalancer. RecordSets: - Name: example.com. Type: A AliasTarget: HostedZoneId: !GetAtt 'myELB.CanonicalHostedZoneNameID' DNSName: !GetAtt 'myELB.DNSName'
JSONuntuk penyeimbang beban versi 2
"myELB" : { "Type" : "AWS::ElasticLoadBalancing::LoadBalancer", "Properties" : { "Subnets" : [ {"Ref": "SubnetAZ1"}, {"Ref" : "SubnetAZ2"} ] } }, "myDNS" : { "Type" : "AWS::Route53::RecordSetGroup", "Properties" : { "HostedZoneName" : "example.com.", "Comment" : "Zone apex alias targeted to myELB LoadBalancer.", "RecordSets" : [ { "Name" : "example.com.", "Type" : "A", "AliasTarget" : { "HostedZoneId" : { "Fn::GetAtt" : ["myELB", "CanonicalHostedZoneID"] }, "DNSName" : { "Fn::GetAtt" : ["myELB","DNSName"] } } } ] } }
YAMLuntuk penyeimbang beban versi 2
myELB: Type: AWS::ElasticLoadBalancingV2::LoadBalancer Properties: Subnets: - Ref: SubnetAZ1 - Ref: SubnetAZ2 myDNS: Type: AWS::Route53::RecordSetGroup Properties: HostedZoneName: example.com. Comment: Zone apex alias targeted to myELB LoadBalancer. RecordSets: - Name: example.com. Type: A AliasTarget: HostedZoneId: !GetAtt 'myELB.CanonicalHostedZoneID' DNSName: !GetAtt 'myELB.DNSName'
Catatan sumber daya alias ditetapkan untuk distribusi CloudFront
Contoh berikut membuat catatan alias set yang merutekan query ke distribusi tertentu CloudFront .
catatan
Ketika Anda membuat set catatan sumber daya alias, Anda harus menentukan Z2FDTNDATAQYW2
untuk properti HostedZoneId
, seperti yang ditunjukkan dalam contoh berikut. Kumpulan catatan sumber daya alias untuk tidak CloudFront dapat dibuat di zona pribadi.
JSON
{ "myDNS": { "Type": "AWS::Route53::RecordSetGroup", "Properties": { "HostedZoneId": { "Ref": "myHostedZoneID" }, "RecordSets": [ { "Name": { "Ref": "myRecordSetDomainName" }, "Type": "A", "AliasTarget": { "HostedZoneId": "Z2FDTNDATAQYW2", "DNSName": { "Fn::GetAtt": [ "myCloudFrontDistribution", "DomainName" ] } } } ] } } }
YAML
myDNS: Type: 'AWS::Route53::RecordSetGroup' Properties: HostedZoneId: !Ref myHostedZoneID RecordSets: - Name: !Ref myRecordSetDomainName Type: A AliasTarget: HostedZoneId: Z2FDTNDATAQYW2 DNSName: !GetAtt - myCloudFrontDistribution - DomainName