

# Exemplos do Route 53 usando a AWS CLI
<a name="cli_route-53_code_examples"></a>

Os exemplos de código a seguir mostram como realizar ações e implementar cenários comuns usando o AWS Command Line Interface com o Route 53.

*Ações* são trechos de código de programas maiores e devem ser executadas em contexto. Embora as ações mostrem como chamar perfis de serviço individuais, você pode ver as ações no contexto em seus cenários relacionados.

Cada exemplo inclui um link para o código-fonte completo, em que você pode encontrar instruções sobre como configurar e executar o código.

**Topics**
+ [Ações](#actions)

## Ações
<a name="actions"></a>

### `change-resource-record-sets`
<a name="route-53_ChangeResourceRecordSets_cli_topic"></a>

O código de exemplo a seguir mostra como usar `change-resource-record-sets`.

**AWS CLI**  
Informações sobre o conjunto de registros de recursos a ser criado, atualizado ou excluído.  
O comando `change-resource-record-sets` a seguir cria um conjunto de registros de recurso usando a `hosted-zone-id` `Z1R8UBAEXAMPLE` e a configuração no formato JSON no arquivo `C:\awscli\route53\change-resource-record-sets.json`:  

```
aws route53 change-resource-record-sets --hosted-zone-id Z1R8UBAEXAMPLE --change-batch file://C:\awscli\route53\change-resource-record-sets.json
```
Para obter mais informações, consulte ChangeResourceRecordSets na *Referência da API do Amazon Route 53*.  
A configuração no arquivo JSON depende do tipo de conjunto de registros de recurso que você deseja criar:  
BasicWeightedAliasWeighted AliasLatencyLatency AliasFailoverFailover Alias  
**Sintaxe básica**:  

```
{
  "Comment": "optional comment about the changes in this change batch request",
  "Changes": [
    {
      "Action": "CREATE"|"DELETE"|"UPSERT",
      "ResourceRecordSet": {
        "Name": "DNS domain name",
        "Type": "SOA"|"A"|"TXT"|"NS"|"CNAME"|"MX"|"PTR"|"SRV"|"SPF"|"AAAA",
        "TTL": time to live in seconds,
        "ResourceRecords": [
          {
            "Value": "applicable value for the record type"
          },
          {...}
        ]
      }
    },
    {...}
  ]
}
```
**Sintaxe ponderada**:  

```
{
  "Comment": "optional comment about the changes in this change batch request",
  "Changes": [
    {
      "Action": "CREATE"|"DELETE"|"UPSERT",
      "ResourceRecordSet": {
        "Name": "DNS domain name",
        "Type": "SOA"|"A"|"TXT"|"NS"|"CNAME"|"MX"|"PTR"|"SRV"|"SPF"|"AAAA",
        "SetIdentifier": "unique description for this resource record set",
        "Weight": value between 0 and 255,
        "TTL": time to live in seconds,
        "ResourceRecords": [
          {
            "Value": "applicable value for the record type"
          },
          {...}
        ],
        "HealthCheckId": "optional ID of an Amazon Route 53 health check"
      }
    },
    {...}
  ]
}
```
**Sintaxe de alias**:  

```
{
  "Comment": "optional comment about the changes in this change batch request",
  "Changes": [
    {
      "Action": "CREATE"|"DELETE"|"UPSERT",
      "ResourceRecordSet": {
        "Name": "DNS domain name",
        "Type": "SOA"|"A"|"TXT"|"NS"|"CNAME"|"MX"|"PTR"|"SRV"|"SPF"|"AAAA",
        "AliasTarget": {
          "HostedZoneId": "hosted zone ID for your CloudFront distribution, Amazon S3 bucket, Elastic Load Balancing load balancer, or Amazon Route 53 hosted zone",
          "DNSName": "DNS domain name for your CloudFront distribution, Amazon S3 bucket, Elastic Load Balancing load balancer, or another resource record set in this hosted zone",
          "EvaluateTargetHealth": true|false
        },
        "HealthCheckId": "optional ID of an Amazon Route 53 health check"
      }
    },
    {...}
  ]
}
```
**Sintaxe de alias ponderado**:  

```
{
  "Comment": "optional comment about the changes in this change batch request",
  "Changes": [
    {
      "Action": "CREATE"|"DELETE"|"UPSERT",
      "ResourceRecordSet": {
        "Name": "DNS domain name",
        "Type": "SOA"|"A"|"TXT"|"NS"|"CNAME"|"MX"|"PTR"|"SRV"|"SPF"|"AAAA",
        "SetIdentifier": "unique description for this resource record set",
        "Weight": value between 0 and 255,
        "AliasTarget": {
          "HostedZoneId": "hosted zone ID for your CloudFront distribution, Amazon S3 bucket, Elastic Load Balancing load balancer, or Amazon Route 53 hosted zone",
          "DNSName": "DNS domain name for your CloudFront distribution, Amazon S3 bucket, Elastic Load Balancing load balancer, or another resource record set in this hosted zone",
          "EvaluateTargetHealth": true|false
        },
        "HealthCheckId": "optional ID of an Amazon Route 53 health check"
      }
    },
    {...}
  ]
}
```
**Sintaxe de latência**:  

```
{
  "Comment": "optional comment about the changes in this change batch request",
  "Changes": [
    {
      "Action": "CREATE"|"DELETE"|"UPSERT",
      "ResourceRecordSet": {
        "Name": "DNS domain name",
        "Type": "SOA"|"A"|"TXT"|"NS"|"CNAME"|"MX"|"PTR"|"SRV"|"SPF"|"AAAA",
        "SetIdentifier": "unique description for this resource record set",
        "Region": "Amazon EC2 region name",
        "TTL": time to live in seconds,
        "ResourceRecords": [
          {
            "Value": "applicable value for the record type"
          },
          {...}
        ],
        "HealthCheckId": "optional ID of an Amazon Route 53 health check"
      }
    },
    {...}
  ]
}
```
**Sintaxe de alias de latência**:  

```
{
  "Comment": "optional comment about the changes in this change batch request",
  "Changes": [
    {
      "Action": "CREATE"|"DELETE"|"UPSERT",
      "ResourceRecordSet": {
        "Name": "DNS domain name",
        "Type": "SOA"|"A"|"TXT"|"NS"|"CNAME"|"MX"|"PTR"|"SRV"|"SPF"|"AAAA",
        "SetIdentifier": "unique description for this resource record set",
        "Region": "Amazon EC2 region name",
        "AliasTarget": {
          "HostedZoneId": "hosted zone ID for your CloudFront distribution, Amazon S3 bucket, Elastic Load Balancing load balancer, or Amazon Route 53 hosted zone",
          "DNSName": "DNS domain name for your CloudFront distribution, Amazon S3 bucket, Elastic Load Balancing load balancer, or another resource record set in this hosted zone",
          "EvaluateTargetHealth": true|false
        },
        "HealthCheckId": "optional ID of an Amazon Route 53 health check"
      }
    },
    {...}
  ]
}
```
**Sintaxe de failover**:  

```
{
  "Comment": "optional comment about the changes in this change batch request",
  "Changes": [
    {
      "Action": "CREATE"|"DELETE"|"UPSERT",
      "ResourceRecordSet": {
        "Name": "DNS domain name",
        "Type": "SOA"|"A"|"TXT"|"NS"|"CNAME"|"MX"|"PTR"|"SRV"|"SPF"|"AAAA",
        "SetIdentifier": "unique description for this resource record set",
        "Failover": "PRIMARY" | "SECONDARY",
        "TTL": time to live in seconds,
        "ResourceRecords": [
          {
            "Value": "applicable value for the record type"
          },
          {...}
        ],
        "HealthCheckId": "ID of an Amazon Route 53 health check"
      }
    },
    {...}
  ]
}
```
**Sintaxe de alias de failover**:  

```
{
  "Comment": "optional comment about the changes in this change batch request",
  "Changes": [
    {
      "Action": "CREATE"|"DELETE"|"UPSERT",
      "ResourceRecordSet": {
        "Name": "DNS domain name",
        "Type": "SOA"|"A"|"TXT"|"NS"|"CNAME"|"MX"|"PTR"|"SRV"|"SPF"|"AAAA",
        "SetIdentifier": "unique description for this resource record set",
        "Failover": "PRIMARY" | "SECONDARY",
        "AliasTarget": {
          "HostedZoneId": "hosted zone ID for your CloudFront distribution, Amazon S3 bucket, Elastic Load Balancing load balancer, or Amazon Route 53 hosted zone",
          "DNSName": "DNS domain name for your CloudFront distribution, Amazon S3 bucket, Elastic Load Balancing load balancer, or another resource record set in this hosted zone",
          "EvaluateTargetHealth": true|false
        },
        "HealthCheckId": "optional ID of an Amazon Route 53 health check"
      }
    },
    {...}
  ]
}
```
+  Consulte detalhes da API em [ChangeResourceRecordSets](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/route53/change-resource-record-sets.html) na *AWS CLI Command Reference*. 

### `change-tags-for-resource`
<a name="route-53_ChangeTagsForResource_cli_topic"></a>

O código de exemplo a seguir mostra como usar `change-tags-for-resource`.

**AWS CLI**  
O comando a seguir adiciona uma tag chamada `owner` a um recurso de verificação de integridade especificado por ID:  

```
aws route53 change-tags-for-resource --resource-type healthcheck --resource-id 6233434j-18c1-34433-ba8e-3443434 --add-tags Key=owner,Value=myboss
```
O comando a seguir remove uma tag chamada `owner` de um recurso de zona hospedada especificado por ID:  

```
aws route53 change-tags-for-resource --resource-type hostedzone --resource-id Z1523434445 --remove-tag-keys owner
```
+  Para ver detalhes da API, consulte [ChangeTagsForResource](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/route53/change-tags-for-resource.html) na *Referência de comandos da AWS CLI*. 

### `create-health-check`
<a name="route-53_CreateHealthCheck_cli_topic"></a>

O código de exemplo a seguir mostra como usar `create-health-check`.

**AWS CLI**  
**Para criar uma verificação de integridade**  
O comando `create-health-check` a seguir cria uma verificação de integridade usando a referência de chamador `2014-04-01-18:47` e a configuração formatada em JSON no arquivo `C:\awscli\route53\create-health-check.json`:  

```
aws route53 create-health-check --caller-reference 2014-04-01-18:47 --health-check-config file://C:\awscli\route53\create-health-check.json
```
Sintaxe do JSON:  

```
{
  "IPAddress": "IP address of the endpoint to check",
  "Port": port on the endpoint to check--required when Type is "TCP",
  "Type": "HTTP"|"HTTPS"|"HTTP_STR_MATCH"|"HTTPS_STR_MATCH"|"TCP",
  "ResourcePath": "path of the file that you want Amazon Route 53 to request--all Types except TCP",
  "FullyQualifiedDomainName": "domain name of the endpoint to check--all Types except TCP",
  "SearchString": "if Type is HTTP_STR_MATCH or HTTPS_STR_MATCH, the string to search for in the response body from the specified resource",
  "RequestInterval": 10 | 30,
  "FailureThreshold": integer between 1 and 10
}
```
Para adicionar a verificação de integridade a um conjunto de registros de recursos do Route 53, use o comando `change-resource-record-sets`.  
Para obter mais informações, consulte Verificações de integridade e failover de DNS do Amazon Route 53 no *Guia do desenvolvedor do Amazon Route 53*.  
+  Para ver detalhes da API, consulte [CreateHealthCheck](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/route53/create-health-check.html) na *Referência de comandos da AWS CLI*. 

### `create-hosted-zone`
<a name="route-53_CreateHostedZone_cli_topic"></a>

O código de exemplo a seguir mostra como usar `create-hosted-zone`.

**AWS CLI**  
**Para criar uma zona hospedada**  
O comando `create-hosted-zone` a seguir adiciona uma zona hospedada denominada `example.com` usando a referência de chamador `2014-04-01-18:47`. O comentário opcional inclui um espaço, portanto, ele deve ficar entre aspas:  

```
aws route53 create-hosted-zone --name example.com --caller-reference 2014-04-01-18:47 --hosted-zone-config Comment="command-line version"
```
Para obter mais informações, consulte *Trabalhar com zonas hospedadas* no Guia do desenvolvedor do Amazon Route 53.  
+  Para ver detalhes da API, consulte [CreateHostedZone](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/route53/create-hosted-zone.html) na *Referência de comandos da AWS CLI*. 

### `delete-health-check`
<a name="route-53_DeleteHealthCheck_cli_topic"></a>

O código de exemplo a seguir mostra como usar `delete-health-check`.

**AWS CLI**  
**Para excluir uma verificação de integridade**  
O comando `delete-health-check` a seguir exclui a verificação de integridade com um `health-check-id` de `e75b48d9-547a-4c3d-88a5-ae4002397608`:  

```
aws route53 delete-health-check --health-check-id e75b48d9-547a-4c3d-88a5-ae4002397608
```
+  Para ver detalhes da API, consulte [DeleteHealthCheck](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/route53/delete-health-check.html) na *Referência de comandos da AWS CLI*. 

### `delete-hosted-zone`
<a name="route-53_DeleteHostedZone_cli_topic"></a>

O código de exemplo a seguir mostra como usar `delete-hosted-zone`.

**AWS CLI**  
Para excluir uma zona hospedada do   
O comando `delete-hosted-zone` a seguir exclui a zona hospedada com um `id` de`Z36KTIQEXAMPLE`:  

```
aws route53 delete-hosted-zone --id Z36KTIQEXAMPLE
```
+  Para ver detalhes da API, consulte [DeleteHostedZone](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/route53/delete-hosted-zone.html) na *Referência de comandos da AWS CLI*. 

### `get-change`
<a name="route-53_GetChange_cli_topic"></a>

O código de exemplo a seguir mostra como usar `get-change`.

**AWS CLI**  
**Para obter o status de uma alteração nos conjuntos de registros de recursos**  
O comando `get-change` a seguir obtém o status e outras informações sobre a solicitação `change-resource-record-sets` que tem um `Id` de `/change/CWPIK4URU2I5S`:  

```
aws route53 get-change --id /change/CWPIK4URU2I5S
```
+  Para ver detalhes da API, consulte [GetChange](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/route53/get-change.html) na *Referência de comandos da AWS CLI*. 

### `get-health-check`
<a name="route-53_GetHealthCheck_cli_topic"></a>

O código de exemplo a seguir mostra como usar `get-health-check`.

**AWS CLI**  
**Para obter informações sobre uma verificação de integridade**  
O comando `get-health-check` a seguir obtém informações sobre a verificação de integridade que tem um `health-check-id` de `02ec8401-9879-4259-91fa-04e66d094674`:  

```
aws route53 get-health-check --health-check-id 02ec8401-9879-4259-91fa-04e66d094674
```
+  Para ver detalhes da API, consulte [GetHealthCheck](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/route53/get-health-check.html) na *Referência de comandos da AWS CLI*. 

### `get-hosted-zone`
<a name="route-53_GetHostedZone_cli_topic"></a>

O código de exemplo a seguir mostra como usar `get-hosted-zone`.

**AWS CLI**  
**Para obter informações sobre uma zona hospedada**  
O comando `get-hosted-zone` a seguir obtém informações sobre a zona hospedada com um `id` de `Z1R8UBAEXAMPLE`:  

```
aws route53 get-hosted-zone --id Z1R8UBAEXAMPLE
```
+  Para ver detalhes da API, consulte [GetHostedZone](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/route53/get-hosted-zone.html) na *Referência de comandos da AWS CLI*. 

### `list-health-checks`
<a name="route-53_ListHealthChecks_cli_topic"></a>

O código de exemplo a seguir mostra como usar `list-health-checks`.

**AWS CLI**  
**Para listar as verificações de integridade associadas à conta atual da AWS**  
O comando `list-health-checks` a seguir lista informações detalhadas sobre as primeiras 100 verificações de integridade associadas à conta atual da AWS:  

```
aws route53 list-health-checks
```
Se você tiver mais de 100 verificações de integridade ou se quiser listá-las em grupos de menos de 100 verificações, inclua o parâmetro `--maxitems`. Por exemplo, para listar as verificações de integridade, use o seguinte comando:  

```
aws route53 list-health-checks --max-items 1
```
Como visualizar a próxima verificação de integridade, pegue o valor de `NextToken` da resposta ao comando anterior e inclua-o no parâmetro `--starting-token`, por exemplo:  

```
aws route53 list-health-checks --max-items 1 --starting-token Z3M3LMPEXAMPLE
```
+  Para ver detalhes da API, consulte [ListHealthChecks](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/route53/list-health-checks.html) na *Referência de comandos da AWS CLI*. 

### `list-hosted-zones-by-name`
<a name="route-53_ListHostedZonesByName_cli_topic"></a>

O código de exemplo a seguir mostra como usar `list-hosted-zones-by-name`.

**AWS CLI**  
O comando a seguir lista até 100 zonas hospedadas ordenadas por nome de domínio:  

```
aws route53 list-hosted-zones-by-name
```
Resultado:  

```
{
  "HostedZones": [
      {
          "ResourceRecordSetCount": 2,
          "CallerReference": "test20150527-2",
          "Config": {
              "Comment": "test2",
              "PrivateZone": false
          },
          "Id": "/hostedzone/Z119WBBTVP5WFX",
          "Name": "2.example.com."
      },
      {
          "ResourceRecordSetCount": 2,
          "CallerReference": "test20150527-1",
          "Config": {
              "Comment": "test",
              "PrivateZone": false
          },
          "Id": "/hostedzone/Z3P5QSUBK4POTI",
          "Name": "www.example.com."
      }
  ],
  "IsTruncated": false,
  "MaxItems": "100"
}
```
O comando a seguir lista as zonas hospedadas ordenadas por nome, começando com`www.example.com`:  

```
aws route53 list-hosted-zones-by-name --dns-name www.example.com
```
Resultado:  

```
{
  "HostedZones": [
      {
          "ResourceRecordSetCount": 2,
          "CallerReference": "mwunderl20150527-1",
          "Config": {
              "Comment": "test",
              "PrivateZone": false
          },
          "Id": "/hostedzone/Z3P5QSUBK4POTI",
          "Name": "www.example.com."
      }
  ],
  "DNSName": "www.example.com",
  "IsTruncated": false,
  "MaxItems": "100"
}
```
+  Para ver detalhes da API, consulte [ListHostedZonesByName](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/route53/list-hosted-zones-by-name.html) na *Referência de comandos da AWS CLI*. 

### `list-hosted-zones`
<a name="route-53_ListHostedZones_cli_topic"></a>

O código de exemplo a seguir mostra como usar `list-hosted-zones`.

**AWS CLI**  
**Para listar as zonas hospedadas associadas à conta atual da AWS**  
O comando `list-hosted-zones` lista informações resumidas sobre as primeiras 100 zonas hospedadas associadas à conta atual da AWS:  

```
aws route53 list-hosted-zones
```
Se você tiver mais de 100 zonas hospedadas ou se quiser listá-las em grupos de menos de 100 zonas, inclua o parâmetro `--max-items`. Por exemplo, para listar as zonas hospedadas, use o seguinte comando:  

```
aws route53 list-hosted-zones --max-items 1
```
Para visualizar informações sobre a próxima zona hospedada, pegue o valor de `NextToken` da resposta ao comando anterior e inclua-o no parâmetro `--starting-token`, por exemplo:  

```
aws route53 list-hosted-zones --max-items 1 --starting-token Z3M3LMPEXAMPLE
```
+  Consulte detalhes da API em [ListHostedZones](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/route53/list-hosted-zones.html) na *AWS CLI Command Reference*. 

### `list-query-logging-configs`
<a name="route-53_ListQueryLoggingConfigs_cli_topic"></a>

O código de exemplo a seguir mostra como usar `list-query-logging-configs`.

**AWS CLI**  
Configurações de logs de consulta do   
O exemplo `list-query-logging-configs` a seguir lista informações sobre as primeiras 100 configurações de registro em log de consultas de sua conta da AWS para a zona hospedada `Z1OX3WQEXAMPLE`.  

```
aws route53 list-query-logging-configs \
    --hosted-zone-id Z1OX3WQEXAMPLE
```
Resultado:  

```
{
    "QueryLoggingConfigs": [
        {
            "Id": "964ff34e-ae03-4f06-80a2-9683cexample",
            "HostedZoneId": "Z1OX3WQEXAMPLE",
            "CloudWatchLogsLogGroupArn": "arn:aws:logs:us-east-1:111122223333:log-group:/aws/route53/example.com:*"
        }
    ]
}
```
Para obter mais informações, consulte [Log de consultas ao DNS](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/query-logs.html) no *Guia do desenvolvedor do Amazon Route 53*.  
+  Para ver detalhes da API, consulte [ListQueryLoggingConfigs](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/route53/list-query-logging-configs.html) na *Referência de comandos da AWS CLI*. 

### `list-resource-record-sets`
<a name="route-53_ListResourceRecordSets_cli_topic"></a>

O código de exemplo a seguir mostra como usar `list-resource-record-sets`.

**AWS CLI**  
**Para listar os conjuntos de registro de recurso em zona hospedada**  
O comando `list-resource-record-sets` a seguir lista informações resumidas sobre os primeiros 100 conjuntos de registros de recursos em uma zona hospedada especificada:  

```
aws route53 list-resource-record-sets --hosted-zone-id Z2LD58HEXAMPLE
```
Se a zona hospedada contiver mais de 100 conjuntos de registros de recursos ou se quiser listá-los em grupos de menos de 100 conjuntos, inclua o parâmetro `--maxitems`. Por exemplo, para listar os conjuntos de registros de recursos individualmente, use o seguinte comando:  

```
aws route53 list-resource-record-sets --hosted-zone-id Z2LD58HEXAMPLE --max-items 1
```
Para visualizar informações sobre o próximo conjunto de registro de recurso na zona hospedada, pegue o valor de `NextToken` da resposta ao comando anterior e inclua-o no parâmetro `--starting-token`, por exemplo:  

```
aws route53 list-resource-record-sets --hosted-zone-id Z2LD58HEXAMPLE --max-items 1 --starting-token Z3M3LMPEXAMPLE
```
Como visualizar todos os conjuntos de registros de recursos de um nome específico, use o parâmetro `--query` para filtrá-los. Por exemplo:  

```
aws route53 list-resource-record-sets --hosted-zone-id Z2LD58HEXAMPLE --query "ResourceRecordSets[?Name == 'example.domain.']"
```
+  Para ver detalhes da API, consulte [ListResourceRecordSets](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/route53/list-resource-record-sets.html) na *Referência de comandos da AWS CLI*. 