

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
<a name="quickref-route53"></a>

**Topics**
+ [Jeu d'enregistrements de ressources Amazon Route 53 avec l'ID ou le nom de la zone hébergée](#scenario-route53-recordset-by-host)
+ [Utilisation RecordSetGroup pour configurer des ensembles d'enregistrements de ressources pondérés](#scenario-recordsetgroup-weighted)
+ [Utilisation RecordSetGroup pour configurer un jeu d'enregistrements de ressources alias](#scenario-recordsetgroup-zoneapex)
+ [Enregistrement de ressource Alias défini pour une CloudFront distribution](#scenario-user-friendly-url-for-cloudfront-distribution)

## Jeu d'enregistrements de ressources Amazon Route 53 avec l'ID ou le nom de la zone hébergée
<a name="scenario-route53-recordset-by-host"></a>

Lorsque vous créez un ensemble d'enregistrements de ressources Amazon Route 53, vous devez spécifier la zone hébergée dans laquelle vous souhaitez l'ajouter. CloudFormation propose deux méthodes 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 la `HostedZoneName` 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
<a name="scenario-recordset-using-id"></a>

Cet exemple ajoute un ensemble d’enregistrements de ressources Amazon Route 53 contenant un enregistrement `SPF` pour le nom de domaine `mysite.example.com` qui utilise la propriété `HostedZoneId` pour spécifier la zone hébergée.

#### JSON
<a name="quickref-route53-example-1.json"></a>

```
 1. "myDNSRecord" : {
 2.   "Type" : "AWS::Route53::RecordSet",
 3.   "Properties" : 
 4.   {
 5.     "HostedZoneId" : "Z3DG6IL3SJCGPX",
 6.     "Name" : "mysite.example.com.",
 7.     "Type" : "SPF",
 8.     "TTL" : "900",
 9.     "ResourceRecords" : [ "\"v=spf1 ip4:192.168.0.1/16 -all\"" ]
10.   }
11. }
```

#### YAML
<a name="quickref-route53-example-1.yaml"></a>

```
1. myDNSRecord:
2.   Type: AWS::Route53::RecordSet
3.   Properties:
4.     HostedZoneId: Z3DG6IL3SJCGPX
5.     Name: mysite.example.com.
6.     Type: SPF
7.     TTL: '900'
8.     ResourceRecords:
9.     - '"v=spf1 ip4:192.168.0.1/16 -all"'
```

### Ajouter en RecordSet utilisant HostedZoneName
<a name="scenario-recordset-using-name"></a>

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
<a name="quickref-route53-example-2.json"></a>

```
 1. "myDNSRecord2" : {
 2.             "Type" : "AWS::Route53::RecordSet",
 3.             "Properties" : {
 4.                 "HostedZoneName" : "example.com.",
 5.                 "Name" : "mysite.example.com.",
 6.                 "Type" : "A",
 7.                 "TTL" : "900",
 8.                 "ResourceRecords" : [
 9.                     "192.168.0.1",
10.                     "192.168.0.2"
11.                 ]
12.             }
13.         }
```

#### YAML
<a name="quickref-route53-example-2.yaml"></a>

```
 1. myDNSRecord2:
 2.   Type: AWS::Route53::RecordSet
 3.   Properties:
 4.     HostedZoneName: example.com.
 5.     Name: mysite.example.com.
 6.     Type: A
 7.     TTL: '900'
 8.     ResourceRecords:
 9.     - 192.168.0.1
10.     - 192.168.0.2
```

## Utilisation RecordSetGroup pour configurer des ensembles d'enregistrements de ressources pondérés
<a name="scenario-recordsetgroup-weighted"></a>

Cet exemple utilise un [AWS::Route53::RecordSetgroupe](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-route53-recordsetgroup.html) pour configurer deux enregistrements CNAME pour « exemple.com ». zone hébergée « exemple.com ». La propriété `RecordSets` contient les jeux d'enregistrements CNAME pour le nom DNS « mysite.example.com ». 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é](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy-weighted.html) dans le *Amazon Route 53 Manuel du développeur*.

### JSON
<a name="quickref-route53-example-3.json"></a>

```
 1.         "myDNSOne" : {
 2.             "Type" : "AWS::Route53::RecordSetGroup",
 3.             "Properties" : {
 4.                 "HostedZoneName" : "example.com.",
 5.                 "Comment" : "Weighted RR for my frontends.",
 6.                 "RecordSets" : [
 7.                   {
 8.                     "Name" : "mysite.example.com.",
 9.                     "Type" : "CNAME",
10.                     "TTL" : "900",
11.                     "SetIdentifier" : "Frontend One",
12.                     "Weight" : "140",
13.                     "ResourceRecords" : ["example-ec2.amazonaws.com"]
14.                   },
15.                   {
16.                     "Name" : "mysite.example.com.",
17.                     "Type" : "CNAME",
18.                     "TTL" : "900",
19.                     "SetIdentifier" : "Frontend Two",
20.                     "Weight" : "60",
21.                     "ResourceRecords" : ["example-ec2-larger.amazonaws.com"]
22.                   }
23.                   ]
24.             }
25.         }
```

### YAML
<a name="quickref-route53-example-3.yaml"></a>

```
 1. myDNSOne:
 2.   Type: AWS::Route53::RecordSetGroup
 3.   Properties:
 4.     HostedZoneName: example.com.
 5.     Comment: Weighted RR for my frontends.
 6.     RecordSets:
 7.     - Name: mysite.example.com.
 8.       Type: CNAME
 9.       TTL: '900'
10.       SetIdentifier: Frontend One
11.       Weight: '140'
12.       ResourceRecords:
13.       - example-ec2.amazonaws.com
14.     - Name: mysite.example.com.
15.       Type: CNAME
16.       TTL: '900'
17.       SetIdentifier: Frontend Two
18.       Weight: '60'
19.       ResourceRecords:
20.       - example-ec2-larger.amazonaws.com
```

## Utilisation RecordSetGroup pour configurer un jeu d'enregistrements de ressources alias
<a name="scenario-recordsetgroup-zoneapex"></a>

Les exemples suivants utilisent un [AWS::Route53::RecordSetgroupe](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-route53-recordsetgroup.html) 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 [AliasTarget](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-route53-recordset-aliastarget.html)propriété spécifie l'ID de zone hébergée et le nom DNS pour le `myELB` `LoadBalancer` en utilisant 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` et `DNSName`
+ Équilibreur de charge Version 2 : `CanonicalHostedZoneID` et `DNSName`

Pour plus d'informations sur les jeux d'enregistrements de ressources d'alias, veuillez consulter [Choix entre des enregistrements avec ou sans alias](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/resource-record-sets-choosing-alias-non-alias.html) dans le *Guide du développeur Amazon Route 53*.

### JSON pour équilibreur de charge Version 1
<a name="quickref-route53-example-4.json"></a>

```
 1.       "myELB" : {
 2.         "Type" : "AWS::ElasticLoadBalancing::LoadBalancer",
 3.         "Properties" : {
 4.             "AvailabilityZones" : [ "us-east-1a" ],
 5.             "Listeners" : [ {
 6.                 "LoadBalancerPort" : "80",
 7.                 "InstancePort" : "80",
 8.                 "Protocol" : "HTTP"
 9.             } ]
10.         }
11.       },
12.       "myDNS" : {
13.         "Type" : "AWS::Route53::RecordSetGroup",
14.         "Properties" : {
15.           "HostedZoneName" : "example.com.",
16.           "Comment" : "Zone apex alias targeted to myELB LoadBalancer.",
17.           "RecordSets" : [
18.             {
19.               "Name" : "example.com.",
20.               "Type" : "A",
21.               "AliasTarget" : {
22.                   "HostedZoneId" : { "Fn::GetAtt" : ["myELB", "CanonicalHostedZoneNameID"] },
23.                   "DNSName" : { "Fn::GetAtt" : ["myELB","DNSName"] }
24.               }
25.             }
26.           ]
27.         }
28.     }
```

### YAML pour équilibreur de charge Version 1
<a name="quickref-route53-example-4.yaml"></a>

```
 1. myELB:
 2.   Type: AWS::ElasticLoadBalancing::LoadBalancer
 3.   Properties:
 4.     AvailabilityZones:
 5.     - "us-east-1a"
 6.     Listeners:
 7.     - LoadBalancerPort: '80'
 8.       InstancePort: '80'
 9.       Protocol: HTTP
10. myDNS:
11.   Type: AWS::Route53::RecordSetGroup
12.   Properties:
13.     HostedZoneName: example.com.
14.     Comment: Zone apex alias targeted to myELB LoadBalancer.
15.     RecordSets:
16.     - Name: example.com.
17.       Type: A
18.       AliasTarget:
19.         HostedZoneId: !GetAtt 'myELB.CanonicalHostedZoneNameID'
20.         DNSName: !GetAtt 'myELB.DNSName'
```

### JSON pour équilibreur de charge Version 2
<a name="quickref-route53-example-4-v2.json"></a>

```
 1.       "myELB" : {
 2.         "Type" : "AWS::ElasticLoadBalancing::LoadBalancer",
 3.         "Properties" : {
 4.             "Subnets" : [ 
 5.                 {"Ref": "SubnetAZ1"}, 
 6.                 {"Ref" : "SubnetAZ2"}
 7.             ]
 8.         }
 9.       },
10.       "myDNS" : {
11.         "Type" : "AWS::Route53::RecordSetGroup",
12.         "Properties" : {
13.           "HostedZoneName" : "example.com.",
14.           "Comment" : "Zone apex alias targeted to myELB LoadBalancer.",
15.           "RecordSets" : [
16.             {
17.               "Name" : "example.com.",
18.               "Type" : "A",
19.               "AliasTarget" : {
20.                   "HostedZoneId" : { "Fn::GetAtt" : ["myELB", "CanonicalHostedZoneID"] },
21.                   "DNSName" : { "Fn::GetAtt" : ["myELB","DNSName"] }
22.               }
23.             }
24.           ]
25.         }
26.     }
```

### YAML pour équilibreur de charge Version 2
<a name="quickref-route53-example-4-v2.yaml"></a>

```
 1. myELB:
 2.   Type: AWS::ElasticLoadBalancingV2::LoadBalancer
 3.   Properties:
 4.     Subnets:
 5.     - Ref: SubnetAZ1
 6.     - Ref: SubnetAZ2
 7. myDNS:
 8.   Type: AWS::Route53::RecordSetGroup
 9.   Properties:
10.     HostedZoneName: example.com.
11.     Comment: Zone apex alias targeted to myELB LoadBalancer.
12.     RecordSets:
13.     - Name: example.com.
14.       Type: A
15.       AliasTarget:
16.         HostedZoneId: !GetAtt 'myELB.CanonicalHostedZoneID'
17.         DNSName: !GetAtt 'myELB.DNSName'
```

## Enregistrement de ressource Alias défini pour une CloudFront distribution
<a name="scenario-user-friendly-url-for-cloudfront-distribution"></a>

L'exemple suivant crée un enregistrement alias A qui pointe un nom de domaine personnalisé vers une CloudFront distribution existante. `myHostedZoneID`est supposé être soit une référence à une `AWS::Route53::HostedZone` ressource réelle dans le même modèle, soit un paramètre. `myCloudFrontDistribution`fait référence à une `AWS::CloudFront::Distribution` ressource dans le même modèle. L'enregistrement d'alias utilise l'ID de zone CloudFront hébergée standard (`Z2FDTNDATAQYW2`) et résout automatiquement le nom de domaine de la distribution à l'aide de`Fn::GetAtt`. Cette configuration permet au trafic Web d'être acheminé du domaine personnalisé vers la CloudFront distribution sans nécessiter d'adresse IP.

**Note**  
Lorsque vous créez des ensembles d’enregistrements de ressources alias, vous devez spécifier `Z2FDTNDATAQYW2` pour la propriété `HostedZoneId`. Les ensembles d'enregistrements de ressources d'alias pour ne CloudFront peuvent pas être créés dans une zone privée.

### JSON
<a name="quickref-route53-example-5.json"></a>

```
 1. {
 2.     "myDNS": {
 3.         "Type": "AWS::Route53::RecordSetGroup",
 4.         "Properties": {
 5.             "HostedZoneId": {
 6.                 "Ref": "myHostedZoneID"
 7.             },
 8.             "RecordSets": [
 9.                 {
10.                     "Name": {
11.                         "Ref": "myRecordSetDomainName"
12.                     },
13.                     "Type": "A",
14.                     "AliasTarget": {
15.                         "HostedZoneId": "Z2FDTNDATAQYW2",
16.                         "DNSName": {
17.                             "Fn::GetAtt": [
18.                                 "myCloudFrontDistribution",
19.                                 "DomainName"
20.                             ]
21.                         },
22.                         "EvaluateTargetHealth": false
23.                     }
24.                 }
25.             ]
26.         }
27.     }
28. }
```

### YAML
<a name="quickref-route53-example-5.yaml"></a>

```
 1. myDNS:
 2.   Type: AWS::Route53::RecordSetGroup
 3.   Properties:
 4.     HostedZoneId: !Ref myHostedZoneID
 5.     RecordSets:
 6.       - Name: !Ref myRecordSetDomainName
 7.         Type: A
 8.         AliasTarget:
 9.           HostedZoneId: Z2FDTNDATAQYW2
10.           DNSName: !GetAtt 
11.             - myCloudFrontDistribution
12.             - DomainName
13.           EvaluateTargetHealth: false
```