Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Extraits de modèle Route 53
Rubriques
- Jeu d'enregistrements de ressources Amazon Route 53 avec l'ID ou le nom de la zone hébergée
- Utilisation RecordSetGroup pour configurer des ensembles d'enregistrements de ressources pondérés
- Utilisation RecordSetGroup pour configurer un jeu d'enregistrements de ressources alias
- Enregistrement de ressource Alias défini pour une CloudFront distribution
Jeu d'enregistrements de ressources Amazon Route 53 avec l'ID ou le nom de la zone hébergée
Lorsque vous créez un jeu d'enregistrements de ressources Amazon Route 53, vous devez spécifier la zone hébergée à laquelle vous souhaitez l'ajouter. CloudFormation offre deux possibilités pour spécifier une zone hébergée :
Vous pouvez spécifier explicitement la zone hébergée à l'aide de la propriété
HostedZoneId
.Vous pouvez avoir CloudFormation trouvé la zone hébergée à l'aide de la
HostedZoneName
propriété. Si vous utilisez laHostedZoneName
propriété et que plusieurs zones hébergées portent le même nom, CloudFormation cela ne crée pas la pile.
Ajouter en RecordSet utilisant HostedZoneId
Cet exemple ajoute un ensemble d'enregistrements de ressources Amazon Route 53 contenant un SPF
enregistrement pour le nom de domaine mysite.example.com
qui utilise la HostedZoneId
propriété pour spécifier la zone hébergée.
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"'
Ajouter en RecordSet utilisant HostedZoneName
Cet exemple ajoute un jeu d'enregistrements de ressources Amazon Route 53 pour le nom de domaine « mysite.example.com » à l'aide de la propriété HostedZoneName
pour spécifier la zone hébergée.
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
Utilisation RecordSetGroup pour configurer des ensembles d'enregistrements de ressources pondérés
Cet exemple utilise un AWS::Route53 : : RecordSetGroup pour configurer deux CNAME enregistrements pour le « exemple.com ». zone hébergée « exemple.com ». La RecordSets
propriété contient les ensembles d'CNAMEenregistrements pour le nom « mysite.exemple.com ». DNS Chaque jeu d'enregistrements contient un identifiant (SetIdentifier
) et une pondération (Weight
). La proportion du trafic Internet acheminé vers les ressources est basée sur les calculs suivants :
Frontend One
:140/(140+60)
=140/200
= 70 %Frontend Two
:60/(140+60)
=60/200
= 30 %
Pour de plus amples informations sur les jeux d'enregistrements de ressources pondérés, veuillez consulter Routage pondéré dans le Amazon Route 53 Manuel du développeur.
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
Utilisation RecordSetGroup pour configurer un jeu d'enregistrements de ressources alias
Les exemples suivants utilisent un ::Route53 AWS : : RecordSetGroup pour configurer un jeu d'enregistrements de ressources d'alias nommé example.com
qui achemine le trafic vers un équilibreur de charge ELB version 1 (classique) et un équilibreur de charge version 2 (application ou réseau). La AliasTargetpropriété spécifie l'ID et le DNS nom de la zone hébergée à l'myELB
LoadBalancer
aide de la fonction GetAtt
intrinsèque. GetAtt
récupère différentes propriétés de la myELB
ressource, selon que vous acheminez le trafic vers un équilibreur de charge version 1 ou version 2 :
Équilibreur de charge Version 1 :
CanonicalHostedZoneNameID
etDNSName
Équilibreur de charge Version 2 :
CanonicalHostedZoneID
etDNSName
Pour plus d'informations sur les jeux d'enregistrements de ressources d'alias, veuillez consulter Choix entre des enregistrements avec ou sans alias dans le Guide du développeur Amazon Route 53.
JSONpour l'équilibreur de charge version 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"] } } } ] } }
YAMLpour l'équilibreur de charge version 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'
JSONpour l'équilibreur de charge version 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"] } } } ] } }
YAMLpour l'équilibreur de charge version 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'
Enregistrement de ressource Alias défini pour une CloudFront distribution
L'exemple suivant crée un jeu d'enregistrements d'alias qui achemine les requêtes vers la CloudFront distribution spécifiée.
Note
Lorsque vous créez des jeux d'enregistrement de ressources d'alias, vous devez spécifier Z2FDTNDATAQYW2
pour la propriété HostedZoneId
, comme l'exemple suivant le montre. Les ensembles d'enregistrements de ressources d'alias pour ne CloudFront peuvent pas être créés dans une zone privée.
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