Exemplos do Route 53 usando AWS CLI - AWS SDKExemplos de código

Há mais AWS SDK exemplos disponíveis no GitHub repositório AWS Doc SDK Examples.

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Exemplos do Route 53 usando AWS CLI

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 funções de serviço individuais, é possível ver as ações no contexto em seus cenários relacionados.

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

Tópicos

Ações

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

AWS CLI

Para criar, atualizar e excluir um conjunto de registros de recurso

O change-resource-record-sets comando a seguir cria um conjunto de registros de recursos usando a configuração hosted-zone-id Z1R8UBAEXAMPLE e a JSON formatada 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 POST ChangeResourceRecordSets na Amazon Route 53 API Reference.

A configuração no JSON arquivo depende do tipo de conjunto de registros de recursos que você deseja criar:

BasicWeightedAliasWeighted AliasLatencyLatency AliasFailoverFailover Pseudônimo

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" } }, {...} ] }

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

AWS CLI

O comando a seguir adiciona uma tag nomeada 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 nomeada 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

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

AWS CLI

Para criar uma verificação de saúde

O create-health-check comando a seguir cria uma verificação de integridade usando a referência do chamador 2014-04-01-18:47 e a configuração JSON -formatada 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

JSONsintaxe:

{ "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 saúde a um conjunto de registros de recursos do Route 53, use o change-resource-record-sets comando.

Para obter mais informações, consulte Amazon Route 53 Health Checks and DNS Failover no Amazon Route 53 Developer Guide.

  • Para API obter detalhes, consulte CreateHealthCheckna Referência de AWS CLI Comandos.

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

AWS CLI

Para criar uma hosted zone

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 Working with Hosted Zones no Guia do Desenvolvedor do Amazon Route 53.

  • Para API obter detalhes, consulte CreateHostedZonena Referência de AWS CLI Comandos.

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

AWS CLI

Para excluir uma verificação de saúde

O delete-health-check comando a seguir exclui a verificação de saúde com um health-check-id dee75b48d9-547a-4c3d-88a5-ae4002397608:

aws route53 delete-health-check --health-check-id e75b48d9-547a-4c3d-88a5-ae4002397608
  • Para API obter detalhes, consulte DeleteHealthCheckna Referência de AWS CLI Comandos.

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

AWS CLI

Para excluir uma zona hospedada

O comando delete-hosted-zone a seguir exclui a zona hospedada com um id de Z36KTIQEXAMPLE:

aws route53 delete-hosted-zone --id Z36KTIQEXAMPLE
  • Para API obter detalhes, consulte DeleteHostedZonena Referência de AWS CLI Comandos.

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 get-change comando a seguir obtém o status e outras informações sobre a change-resource-record-sets solicitação que tem um Id de/change/CWPIK4URU2I5S:

aws route53 get-change --id /change/CWPIK4URU2I5S
  • Para API obter detalhes, consulte GetChangena Referência de AWS CLI Comandos.

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

AWS CLI

Para obter informações sobre uma verificação de saúde

O get-health-check comando a seguir obtém informações sobre a verificação de saúde que tem um health-check-id de02ec8401-9879-4259-91fa-04e66d094674:

aws route53 get-health-check --health-check-id 02ec8401-9879-4259-91fa-04e66d094674
  • Para API obter detalhes, consulte GetHealthCheckna Referência de AWS CLI Comandos.

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 API obter detalhes, consulte GetHostedZonena Referência de AWS CLI Comandos.

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

AWS CLI

Para listar as verificações de saúde associadas à AWS conta atual

O list-health-checks comando a seguir lista informações detalhadas sobre as primeiras 100 verificações de saúde associadas à AWS conta atual. :

aws route53 list-health-checks

Se você tiver mais de 100 verificações de saúde ou quiser listá-las em grupos menores que 100, inclua o --maxitems parâmetro. Por exemplo, para listar as verificações de saúde uma por vez, use o seguinte comando:

aws route53 list-health-checks --max-items 1

Para ver a próxima verificação de saúde, pegue o valor NextToken de da resposta ao comando anterior e inclua-o no --starting-token parâmetro, por exemplo:

aws route53 list-health-checks --max-items 1 --starting-token Z3M3LMPEXAMPLE
  • Para API obter detalhes, consulte ListHealthChecksna Referência de AWS CLI Comandos.

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

Saída:

{ "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

Saída:

{ "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" }

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

AWS CLI

Para listar as zonas hospedadas associadas à AWS conta atual

O list-hosted-zones comando a seguir lista informações resumidas sobre as primeiras 100 zonas hospedadas associadas à AWS conta atual. :

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
  • Para API obter detalhes, consulte ListHostedZonesna Referência de AWS CLI Comandos.

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

AWS CLI

Para listar as configurações de registro em log de consultas

O list-query-logging-configs exemplo a seguir lista informações sobre as primeiras 100 configurações de registro de consultas em sua AWS conta, para a zona Z1OX3WQEXAMPLE hospedada.

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

Saída:

{ "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 Registrar DNS consultas no Amazon Route 53 Developer Guide.

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

AWS CLI

Para listar os conjuntos de registros de recursos em uma zona hospedada

O list-resource-record-sets comando 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 você quiser listá-los em grupos menores que 100, inclua o --maxitems parâmetro. Por exemplo, para listar conjuntos de registros de recursos um por vez, 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 registros de recursos na zona hospedada, pegue o valor NextToken da resposta ao comando anterior e inclua-o no --starting-token parâmetro, por exemplo:

aws route53 list-resource-record-sets --hosted-zone-id Z2LD58HEXAMPLE --max-items 1 --starting-token Z3M3LMPEXAMPLE

Para visualizar todos os conjuntos de registros de recursos de um nome específico, use o --query parâmetro para filtrá-los. Por exemplo:

aws route53 list-resource-record-sets --hosted-zone-id Z2LD58HEXAMPLE --query "ResourceRecordSets[?Name == 'example.domain.']"