Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Frammenti di modello Route 53
Argomenti
Set di record della risorsa Amazon Route 53 che utilizza il nome o l'ID della zona ospitata
Utilizzo RecordSetGroup per impostare set di record di risorse ponderati
Utilizzo RecordSetGroup per impostare un set di record di risorse alias
Alias: record di risorse impostato per una distribuzione CloudFront
Set di record della risorsa Amazon Route 53 che utilizza il nome o l'ID della zona ospitata
Quando crei un set di record della risorsa Amazon Route 53, devi specificare la zona ospitata in cui desideri aggiungerlo. CloudFormation offre due modi per specificare una zona ospitata.
Puoi specificare esplicitamente la zona ospitata utilizzando la proprietà
HostedZoneId
.È possibile CloudFormation trovare la zona ospitata utilizzando la
HostedZoneName
proprietà. Se si utilizza laHostedZoneName
proprietà e sono presenti più zone ospitate con lo stesso nome, CloudFormation non crea lo stack.
Aggiungere utilizzando RecordSet HostedZoneId
Questo esempio aggiunge un set di record di risorse Amazon Route 53 contenente un SPF
record per il nome di dominio mysite.example.com
che utilizza la HostedZoneId
proprietà per specificare la zona ospitata.
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"'
Aggiungere RecordSet utilizzando HostedZoneName
In questo esempio viene aggiunto un set di record della risorsa Amazon Route 53 per il nome di dominio "mysite.example.com" utilizzando la proprietà HostedZoneName
per specificare la zona ospitata.
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
Utilizzo RecordSetGroup per impostare set di record di risorse ponderati
Questo esempio utilizza un AWS::Route53::RecordSetgruppo per impostare due record CNAME per «example.com». zona ospitata. La proprietà RecordSets
contiene il set di record CNAME per il nome DNS "mysite.example.com". Ogni set di record contiene un identificatore (SetIdentifier
) e un peso (Weight
). La proporzione di traffico Internet instradato alle risorse si basa sui seguenti calcoli:
Frontend One
:140/(140+60)
=140/200
= 70%Frontend Two
:60/(140+60)
=60/200
= 30%
Per ulteriori informazioni sui set di record di risorse ponderati, consulta Instradamento ponderato nella Guida per lo sviluppatore di 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
Utilizzo RecordSetGroup per impostare un set di record di risorse alias
Negli esempi seguenti viene utilizzato un AWS::Route53::RecordSetgruppo per impostare un set di record di risorse alias denominato example.com
che indirizza il traffico verso un sistema di bilanciamento del carico ELB versione 1 (classico) e un sistema di bilanciamento del carico versione 2 (applicazione o rete). La AliasTargetproprietà specifica l'ID e il nome DNS della zona ospitata utilizzando la myELB
LoadBalancer
funzione intrinseca. GetAtt
GetAtt
recupera diverse proprietà della myELB
risorsa, a seconda che si stia indirizzando il traffico verso un sistema di bilanciamento del carico della versione 1 o della versione 2:
load balancer Versione 1:
CanonicalHostedZoneNameID
eDNSName
load balancer Versione 2:
CanonicalHostedZoneID
eDNSName
Per ulteriori informazioni sui set di record di risorse alias, consulta Scelta tra record alias e non alias nella Guida per gli sviluppatori di Route 53.
JSON per il load balancer Versione 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"] } } } ] } }
YAML per il load balancer Versione 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'
JSON per il load balancer Versione 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"] } } } ] } }
YAML per il load balancer Versione 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'
Alias: record di risorse impostato per una distribuzione CloudFront
L'esempio seguente crea un set di record di alias che indirizza le query alla distribuzione specificata. CloudFront
Nota
Quando crei set di record della risorsa alias, devi specificare Z2FDTNDATAQYW2
per la proprietà HostedZoneId
, come mostrato nel seguente esempio. I set di record di risorse alias per non CloudFront possono essere creati in un'area privata.
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