Esempi per Route 53 con AWS CLI - AWS Command Line Interface

Esempi per Route 53 con AWS CLI

Gli esempi di codice seguenti mostrano come eseguire azioni e implementare scenari comuni utilizzando AWS Command Line Interface con Route 53.

Le operazioni sono estratti di codice da programmi più grandi e devono essere eseguite nel contesto. Sebbene le operazioni mostrino come richiamare le singole funzioni del servizio, è possibile visualizzarle contestualizzate negli scenari correlati.

Ogni esempio include un link al codice sorgente completo, dove è possibile trovare le istruzioni su come configurare ed eseguire il codice nel contesto.

Argomenti

Operazioni

L’esempio di codice seguente mostra come utilizzare change-resource-record-sets.

AWS CLI

Come creare, aggiornare o eliminare un set di record delle risorse

Il comando seguente change-resource-record-sets crea un set di record delle risorse utilizzando hosted-zone-id Z1R8UBAEXAMPLE e la configurazione in formato JSON nel file 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

Per ulteriori informazioni, consulta ChangeResourceRecordSets nella documentazione di riferimento dell’API Amazon Route 53.

La configurazione nel file JSON dipende dal tipo di set di record delle risorse che si desidera creare:

BasicWeightedAliasWeighted AliasLatencyLatency AliasFailoverFailover Alias

Sintassi di base:

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

Sintassi ponderata:

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

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

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

Sintassi della latenza:

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

Sintassi degli alias con latenza:

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

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

Sintassi degli alias con 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" } }, {...} ] }

L’esempio di codice seguente mostra come utilizzare change-tags-for-resource.

AWS CLI

Il comando seguente aggiunge un tag denominato owner a una risorsa healthcheck specificata da ID:

aws route53 change-tags-for-resource --resource-type healthcheck --resource-id 6233434j-18c1-34433-ba8e-3443434 --add-tags Key=owner,Value=myboss

Il comando seguente rimuove un tag denominato owner da una risorsa della zona ospitata specificata da ID:

aws route53 change-tags-for-resource --resource-type hostedzone --resource-id Z1523434445 --remove-tag-keys owner

L’esempio di codice seguente mostra come utilizzare create-health-check.

AWS CLI

Come creare un controllo dell’integrità

Il comando seguente create-health-check crea controllo dell’integrità delle risorse utilizzando il riferimento del chiamante 2014-04-01-18:47 e la configurazione in formato JSON nel file 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

Sintassi 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 }

Per aggiungere il controllo dell’integrità a un set di record di risorse Route 53, utilizzare il comando change-resource-record-sets.

Per ulteriori informazioni, consulta Controlli dell’integrità e failover DNS di Amazon Route 53 nella Guida per sviluppatori di Amazon Route 53.

  • Per informazioni dettagliate sull’API, consulta CreateHealthCheck in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare create-hosted-zone.

AWS CLI

Per creare una zona ospitata

Il comando seguente create-hosted-zone aggiunge una zona ospitata denominata example.com utilizzando il riferimento del chiamante 2014-04-01-18:47. Il commento facoltativo include uno spazio e pertanto deve essere racchiuso tra virgolette:

aws route53 create-hosted-zone --name example.com --caller-reference 2014-04-01-18:47 --hosted-zone-config Comment="command-line version"

Per ulteriori informazioni, consulta Utilizzo delle zone ospitate nella Guida per sviluppatori di Amazon Route 53.

  • Per informazioni dettagliate sull’API, consulta CreateHostedZone in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare delete-health-check.

AWS CLI

Come eliminare un controllo dell’integrità

Il comando seguente delete-health-check elimina il controllo dell’integrità con un health-check-id di e75b48d9-547a-4c3d-88a5-ae4002397608:

aws route53 delete-health-check --health-check-id e75b48d9-547a-4c3d-88a5-ae4002397608
  • Per informazioni dettagliate sull’API, consulta DeleteHealthCheck in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare delete-hosted-zone.

AWS CLI

Come eliminare una zona ospitata

Il comando seguente delete-hosted-zone elimina la zona ospitata con id Z36KTIQEXAMPLE.

aws route53 delete-hosted-zone --id Z36KTIQEXAMPLE
  • Per informazioni dettagliate sull’API, consulta DeleteHostedZone in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare get-change.

AWS CLI

Come ottenere lo stato di una modifica ai set di record di risorse

Nel comando seguente get-change ottiene lo stato e altre informazioni sulla richiesta change-resource-record-sets presenta un Id di /change/CWPIK4URU2I5S:

aws route53 get-change --id /change/CWPIK4URU2I5S
  • Per informazioni dettagliate sull’API, consulta GetChange in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare get-health-check.

AWS CLI

Come ottenere informazioni su un controllo dell’integrità

Il comando seguente get-health-check consente di ottenere informazioni sul controllo dell’integrità che include un health-check-id di 02ec8401-9879-4259-91fa-04e66d094674:

aws route53 get-health-check --health-check-id 02ec8401-9879-4259-91fa-04e66d094674
  • Per informazioni dettagliate sull’API, consulta GetHealthCheck in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare get-hosted-zone.

AWS CLI

Come ottenere informazioni su una zona ospitata

Il comando seguente get-hosted-zone ottiene informazioni sulla zona ospitata con id Z1R8UBAEXAMPLE:

aws route53 get-hosted-zone --id Z1R8UBAEXAMPLE
  • Per informazioni dettagliate sull’API, consulta GetHostedZone in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare list-health-checks.

AWS CLI

Come elencare i controlli dell’integrità associati con l’account AWS attuale

Il comando seguente list-health-checks elenca le informazioni di riepilogo sui primi 100 controlli dell’integrità associati all’account AWS attuale:

aws route53 list-health-checks

Se disponi di oltre 100 controlli dell’integrità o se desideri elencarli in gruppi più piccoli di 100, includi il parametro --maxitems. Ad esempio, per elencare i controlli dell’integrità una alla volta, utilizza il comando seguente:

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

Per visualizzare le informazioni sui controlli dell’integrità, prendi il valore di NextToken dalla risposta al comando precedente e includilo nel parametro --starting-token, ad esempio:

aws route53 list-health-checks --max-items 1 --starting-token Z3M3LMPEXAMPLE
  • Per informazioni dettagliate sull’API, consulta ListHealthChecks in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare list-hosted-zones-by-name.

AWS CLI

Il comando seguente elenca fino a 100 zone ospitate ordinate per nome di dominio.

aws route53 list-hosted-zones-by-name

Output:

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

Il comando seguente elenca fino le zone ospitate ordinate per nome che inizia con www.example.com.

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

Output:

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

L’esempio di codice seguente mostra come utilizzare list-hosted-zones.

AWS CLI

Come visualizzare l'elenco delle zone ospitate associate all'account AWS attuale

Il comando seguente list-hosted-zones elenca le informazioni di riepilogo sulle prime 100 zone ospitate associate all’account AWS attuale:

aws route53 list-hosted-zones

Se disponi di oltre 100 zone ospitate o se desideri elencarle in gruppi più piccoli di 100, includi il parametro --max-items. Ad esempio, per elencare le zone ospitate una alla volta, utilizza il comando seguente:

aws route53 list-hosted-zones --max-items 1

Per visualizzare le informazioni sulla zona ospitata successiva, prendi il valore di NextToken dalla risposta al comando precedente e includilo nel parametro --starting-token, ad esempio:

aws route53 list-hosted-zones --max-items 1 --starting-token Z3M3LMPEXAMPLE
  • Per informazioni dettagliate sull'API, consulta ListHostedZones nella Documentazione di riferimento del comando AWS CLI.

L’esempio di codice seguente mostra come utilizzare list-query-logging-configs.

AWS CLI

Come elencare le configurazioni di registrazione di log delle query

Nell’esempio seguente list-query-logging-configs elenca le informazioni sulle prime 100 configurazioni di registrazione di log delle query nell’account AWS per la zona ospitata Z1OX3WQEXAMPLE.

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

Output:

{ "QueryLoggingConfigs": [ { "Id": "964ff34e-ae03-4f06-80a2-9683cexample", "HostedZoneId": "Z1OX3WQEXAMPLE", "CloudWatchLogsLogGroupArn": "arn:aws:logs:us-east-1:111122223333:log-group:/aws/route53/example.com:*" } ] }

Per ulteriori informazioni, consulta Registrazione delle query DNS nella Guida per sviluppatori di Amazon Route 53.

L’esempio di codice seguente mostra come utilizzare list-resource-record-sets.

AWS CLI

Come aggiornare i set di record della risorsa di una zona ospitata

Il comando seguente list-resource-record-sets elenca informazioni di riepilogo sui primi 100 set di record di risorse in una zona ospitata specificata.

aws route53 list-resource-record-sets --hosted-zone-id Z2LD58HEXAMPLE

Se la zona ospitata contiene più di 100 set di record della risorsa o se desideri elencarle in gruppi più piccoli di 100, includi il parametro --maxitems. Ad esempio, per elencare i set di record della risorsa uno alla volta, utilizza il comando seguente:

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

Per visualizzare le informazioni sul set di record della risorsa successivo nella zona ospitata, prendi il valore di NextToken dalla risposta al comando precedente e includilo nel parametro --starting-token, ad esempio:

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

Per visualizzare tutti i set di record della risorsa con un nome particolare, utilizza il parametro --query per filtrarli. Per esempio:

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