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 derhosted-zone-idZ1R8UBAEXAMPLEund der JSON-formatierten Konfiguration in der DateiC:\awscli\route53\change-resource-record-sets.json:aws route53 change-resource-record-sets --hosted-zone-idZ1R8UBAEXAMPLE--change-batch file://C:\awscli\route53\change-resource-record-sets.jsonWeitere 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" } }, {...} ] }-
API-Details finden Sie unter ChangeResourceRecordSets
in der AWS CLI-Befehlsreferenz.
-
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
ownerhinzugefügt:aws route53 change-tags-for-resource --resource-typehealthcheck--resource-id6233434j-18c1-34433-ba8e-3443434--add-tagsKey=owner,Value=mybossMit dem folgenden Befehl wird ein Tag namens
owneraus einer Ressource in der gehosteten Zone entfernt, die mit der folgenden ID angegeben ist:aws route53 change-tags-for-resource --resource-typehostedzone--resource-idZ1523434445--remove-tag-keysowner-
API-Details finden Sie unter ChangeTagsForResource
in der AWS CLI-Befehlsreferenz.
-
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 Aufruferreferenz2014-04-01-18:47und der Konfiguration im JSON-Format in der DateiC:\awscli\route53\create-health-check.jsoneine Zustandsprüfung durchgeführt:aws route53 create-health-check --caller-reference2014-04-01-18:47--health-check-config file://C:\awscli\route53\create-health-check.jsonJSON-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.
-
API-Details finden Sie unter CreateHealthCheck
in der AWS CLI-Befehlsreferenz.
-
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 Aufruferreferenz2014-04-01-18:47eine gehostete Zone namensexample.comhinzugefügt. Der optionale Kommentar enthält ein Leerzeichen und muss daher in Anführungszeichen gesetzt werden:aws route53 create-hosted-zone --nameexample.com--caller-reference2014-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.
-
API-Details finden Sie unter CreateHostedZone
in der AWS CLI-Befehlsreferenz.
-
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 einemhealth-check-idvone75b48d9-547a-4c3d-88a5-ae4002397608:aws route53 delete-health-check --health-check-ide75b48d9-547a-4c3d-88a5-ae4002397608-
API-Details finden Sie unter DeleteHealthCheck
in der AWS CLI-Befehlsreferenz.
-
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 eineridvonZ36KTIQEXAMPLEgelöscht:aws route53 delete-hosted-zone --idZ36KTIQEXAMPLE-
API-Details finden Sie unter DeleteHostedZone
in der AWS CLI-Befehlsreferenz.
-
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 derchange-resource-record-sets-Anfrage abgerufen, die eineIdvon/change/CWPIK4URU2I5Shat: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 einehealth-check-idvon02ec8401-9879-4259-91fa-04e66d094674hat:aws route53 get-health-check --health-check-id02ec8401-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 einemidvonZ1R8UBAEXAMPLEabgerufen:aws route53 get-hosted-zone --idZ1R8UBAEXAMPLE-
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-checksWenn Sie mehr als 100 Zustandsprüfungen haben oder wenn Sie diese in Gruppen von weniger als 100 auflisten möchten, beziehen Sie den Parameter
--maxitemsmit ein. Wenn Sie beispielsweise Zustandsprüfungen einzeln aufzulisten möchten, verwenden Sie den folgenden Befehl:aws route53 list-health-checks --max-items1Übernehmen Sie den Wert von
NextTokenaus der Antwort auf den vorherigen Befehl und fügen ihn in den Parameter--starting-tokenein, um die nächste Zustandsprüfung anzuzeigen. Zum Beispiel:aws route53 list-health-checks --max-items1--starting-tokenZ3M3LMPEXAMPLE-
API-Details finden Sie unter ListHealthChecks
in der AWS CLI-Befehlsreferenz.
-
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-nameAusgabe:
{ "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-namewww.example.comAusgabe:
{ "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" }-
API-Details finden Sie unter ListHostedZonesByName
in der AWS CLI-Befehlsreferenz.
-
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-zonesWenn 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-itemsein. Um zum Beispiel eine gehostete Zone nach der anderen aufzulisten, verwenden Sie den folgenden Befehl:aws route53 list-hosted-zones --max-items1Um Informationen über die nächste gehostete Zone anzuzeigen, übernehmen Sie den Wert von
NextTokenaus der Antwort auf den vorherigen Befehl und fügen ihn in den Parameter--starting-tokenein, zum Beispiel:aws route53 list-hosted-zones --max-items1--starting-tokenZ3M3LMPEXAMPLE-
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-configswerden Informationen zu den ersten 100 Konfigurationen für die Abfrageprotokollierung in Ihrem AWS-Konto für die gehostete ZoneZ1OX3WQEXAMPLEaufgelistet.aws route53 list-query-logging-configs \ --hosted-zone-idZ1OX3WQEXAMPLEAusgabe:
{ "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.
-
API-Details finden Sie unter ListQueryLoggingConfigs
in der AWS CLI-Befehlsreferenz.
-
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-idZ2LD58HEXAMPLEWenn 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
--maxitemsein. Wenn Sie beispielsweise die Ressourcendatensätze einzeln auflisten möchten, verwenden Sie den folgenden Befehl:aws route53 list-resource-record-sets --hosted-zone-idZ2LD58HEXAMPLE--max-items1Übernehmen Sie den Wert von
NextTokenaus der Antwort auf den vorherigen Befehl und fügen ihn in den Parameter--starting-tokenein, um Informationen über den nächsten Ressourcendatensatz in der gehosteten Zone anzuzeigen. Zum Beispiel:aws route53 list-resource-record-sets --hosted-zone-idZ2LD58HEXAMPLE--max-items1--starting-tokenZ3M3LMPEXAMPLEWenn 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-idZ2LD58HEXAMPLE--query"ResourceRecordSets[?Name == 'example.domain.']"-
API-Details finden Sie unter ListResourceRecordSets
in der AWS CLI-Befehlsreferenz.
-