Route-53-Bespiele für die Verwendung von AWS CLI - AWS Command Line Interface

Route-53-Bespiele für die Verwendung von AWS CLI

Die folgenden Codebeispiele zeigen, wie Sie Aktionen durchführen und gängige Szenarien implementieren, indem Sie das AWS Command Line Interface mit Route 53 nutzen.

Aktionen sind Codeauszüge aus größeren Programmen und müssen im Kontext ausgeführt werden. Während Aktionen Ihnen zeigen, wie Sie einzelne Service-Funktionen aufrufen, können Sie Aktionen im Kontext der zugehörigen Szenarien anzeigen.

Jedes Beispiel enthält einen Link zum vollständigen Quellcode, wo Sie Anleitungen zum Einrichten und Ausführen des Codes im Kontext finden.

Themen

Aktionen

Das folgende Codebeispiel zeigt, wie change-resource-record-sets verwendet wird.

AWS CLI

So erstellen, aktualisieren oder löschen Sie einen Ressourcendatensatz

Der folgende change-resource-record-sets-Befehl erstellt einen Ressourcendatensatz unter Verwendung der hosted-zone-id Z1R8UBAEXAMPLE und der JSON-formatierten Konfiguration in der Datei 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

Weitere Informationen finden Sie unter POST ChangeResourceRecordSets in der API-Referenz zu Amazon Route 53.

Die Konfiguration in der JSON-Datei hängt von der Art des Ressourceneintragssatzes ab, den Sie erstellen möchten:

BasicWeightedAliasWeighted AliasLatencyLatency AliasFailoverFailover Alias

Basissyntax:

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

Gewichtete Syntax:

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

Alias-Syntax:

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

Gewichtete Alias-Syntax:

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

Latenz-Syntax:

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

Latenz-Alias-Syntax:

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

Failover-Syntax:

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

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

Das folgende Codebeispiel zeigt, wie change-tags-for-resource verwendet wird.

AWS CLI

Mit dem folgenden Befehl wird einer durch die ID angegebenen Healthcheck-Ressource ein Tag namens owner hinzugefügt:

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

Mit dem folgenden Befehl wird ein Tag namens owner aus einer Ressource in der gehosteten Zone entfernt, die mit der folgenden ID angegeben ist:

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

Das folgende Codebeispiel zeigt, wie create-health-check verwendet wird.

AWS CLI

So erstellen Sie eine Zustandsprüfung

Mit dem folgenden create-health-check-Befehl wird anhand der Aufruferreferenz 2014-04-01-18:47 und der Konfiguration im JSON-Format in der Datei C:\awscli\route53\create-health-check.json eine Zustandsprüfung durchgeführt:

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

JSON-Syntax:

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

Verwenden Sie den change-resource-record-sets-Befehl, um die Zustandsprüfung zu einem Route-53-Ressourcendatensatz hinzuzufügen.

Weitere Informationen und Beispiele finden Sie unter Amazon Route 53 – Zustandsprüfungen und DNS-Failover im Entwicklerhandbuch zu Amazon Route 53.

Das folgende Codebeispiel zeigt, wie create-hosted-zone verwendet wird.

AWS CLI

So erstellen Sie eine gehostete Zone

Mit dem folgenden create-hosted-zone-Befehl wird mithilfe der Aufruferreferenz 2014-04-01-18:47 eine gehostete Zone namens example.com hinzugefügt. Der optionale Kommentar enthält ein Leerzeichen und muss daher in Anführungszeichen gesetzt werden:

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

Weitere Informationen finden Sie unter Arbeiten mit gehosteten Zonen im Entwicklerhandbuch zu Amazon Route 53.

Das folgende Codebeispiel zeigt, wie delete-health-check verwendet wird.

AWS CLI

So löschen Sie eine Zustandsprüfung

Der folgende delete-health-check-Befehl löscht die Zustandsprüfung mit einem health-check-id von e75b48d9-547a-4c3d-88a5-ae4002397608:

aws route53 delete-health-check --health-check-id e75b48d9-547a-4c3d-88a5-ae4002397608

Das folgende Codebeispiel zeigt, wie delete-hosted-zone verwendet wird.

AWS CLI

So löschen Sie eine gehostete -Zone

Mit dem folgenden delete-hosted-zone-Befehl wird die gehostete Zone mit einer id von Z36KTIQEXAMPLE gelöscht:

aws route53 delete-hosted-zone --id Z36KTIQEXAMPLE

Das folgende Codebeispiel zeigt, wie get-change verwendet wird.

AWS CLI

So rufen Sie den Status einer Änderung an Ressourcendatensätzen ab

Mit dem folgenden get-change-Befehl werden der Status und weitere Informationen zu der change-resource-record-sets-Anfrage abgerufen, die eine Id von /change/CWPIK4URU2I5S hat:

aws route53 get-change --id /change/CWPIK4URU2I5S
  • API-Details finden Sie unter GetChange in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie get-health-check verwendet wird.

AWS CLI

So rufen Sie Informationen zu einer Zustandsprüfung ab

Mit dem folgenden get-health-check-Befehl werden Informationen zur Zustandsprüfung abgerufen, die eine health-check-id von 02ec8401-9879-4259-91fa-04e66d094674 hat:

aws route53 get-health-check --health-check-id 02ec8401-9879-4259-91fa-04e66d094674
  • API-Details finden Sie unter GetHealthCheck in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie get-hosted-zone verwendet wird.

AWS CLI

So rufen Sie Informationen zu einer gehosteten Zone ab

Mit dem folgenden get-hosted-zone-Befehl werden Informationen über die gehostete Zone mit einem id von Z1R8UBAEXAMPLE abgerufen:

aws route53 get-hosted-zone --id Z1R8UBAEXAMPLE
  • API-Details finden Sie unter GetHostedZone in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie list-health-checks verwendet wird.

AWS CLI

So listen Sie die Zustandsprüfungen auf, die dem aktuellen AWS-Konto zugeordnet sind

Der folgende list-health-checks-Befehl listet detaillierte Informationen zu den ersten 100 g Zustandsprüfungen auf, die dem aktuellen AWS-Konto zugeordnet sind:

aws route53 list-health-checks

Wenn Sie mehr als 100 Zustandsprüfungen haben oder wenn Sie diese in Gruppen von weniger als 100 auflisten möchten, beziehen Sie den Parameter --maxitems mit ein. Wenn Sie beispielsweise Zustandsprüfungen einzeln aufzulisten möchten, verwenden Sie den folgenden Befehl:

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

Übernehmen Sie den Wert von NextToken aus der Antwort auf den vorherigen Befehl und fügen ihn in den Parameter --starting-token ein, um die nächste Zustandsprüfung anzuzeigen. Zum Beispiel:

aws route53 list-health-checks --max-items 1 --starting-token Z3M3LMPEXAMPLE

Das folgende Codebeispiel zeigt, wie list-hosted-zones-by-name verwendet wird.

AWS CLI

Der folgende Befehl listet bis zu 100 gehostete Zonen auf, sortiert nach Domainnamen:

aws route53 list-hosted-zones-by-name

Ausgabe:

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

Der folgende Befehl listet die gehosteten Zonen nach Namen geordnet auf, beginnend mit www.example.com:

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

Ausgabe:

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

Das folgende Codebeispiel zeigt, wie list-hosted-zones verwendet wird.

AWS CLI

So listen Sie die gehosteten Zonen auf, die dem aktuellen AWS-Konto zugeordnet sind

Der folgende list-hosted-zones-Befehl listet zusammenfassende Informationen zu den ersten 100 gehosteten Zonen auf, die dem aktuellen AWS-Konto zugeordnet sind:

aws route53 list-hosted-zones

Wenn Sie mehr als 100 gehostete Zonen haben oder wenn Sie sie in Gruppen von weniger als 100 auflisten möchten, fügen Sie den Parameter --max-items ein. Um zum Beispiel eine gehostete Zone nach der anderen aufzulisten, verwenden Sie den folgenden Befehl:

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

Um Informationen über die nächste gehostete Zone anzuzeigen, übernehmen Sie den Wert von NextToken aus der Antwort auf den vorherigen Befehl und fügen ihn in den Parameter --starting-token ein, zum Beispiel:

aws route53 list-hosted-zones --max-items 1 --starting-token Z3M3LMPEXAMPLE
  • API-Details finden Sie unter ListHostedZones in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie list-query-logging-configs verwendet wird.

AWS CLI

So listen Sie die Konfigurationen zur Abfrageprotokollierung auf

Im folgenden Beispiel für list-query-logging-configs werden Informationen zu den ersten 100 Konfigurationen für die Abfrageprotokollierung in Ihrem AWS-Konto für die gehostete Zone Z1OX3WQEXAMPLE aufgelistet.

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

Ausgabe:

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

Weitere Informationen finden Sie unter Protokollieren von DNS-Abfragen im Entwicklerhandbuch zu Amazon Route 53.

Das folgende Codebeispiel zeigt, wie list-resource-record-sets verwendet wird.

AWS CLI

So listen Sie die Ressourcendatensätze einer gehosteten Zone auf

Der folgende list-resource-record-sets-Befehl listet zusammenfassende Informationen zu den ersten 100 Ressourcendatensätzen in einer angegebenen gehosteten Zone auf:

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

Wenn die gehostete Zone mehr als 100 Ressourcendatensätze enthält oder wenn diese in Gruppen von weniger als 100 auflisten möchten, fügen Sie den Parameter --maxitems ein. Wenn Sie beispielsweise die Ressourcendatensätze einzeln auflisten möchten, verwenden Sie den folgenden Befehl:

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

Übernehmen Sie den Wert von NextToken aus der Antwort auf den vorherigen Befehl und fügen ihn in den Parameter --starting-token ein, um Informationen über den nächsten Ressourcendatensatz in der gehosteten Zone anzuzeigen. Zum Beispiel:

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

Wenn Sie alle Ressourcendatensätze mit einem bestimmten Namen ausfiltern möchten, verwenden Sie hierzu den Parameter --query. Zum Beispiel:

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