Wie erstelle ich mit der AWS CLI einen einfachen Ressourcendatensatz in Amazon Route 53?

Lesedauer: 3 Minute
0

 Ich möchte das AWS Command Line Interface (AWS CLI) verwenden, um einen einfachen Ressourcendatensatz in Amazon Route 53 zu erstellen.

Behebung

Um einen Ressourcendatensatz zu erstellen, zu löschen oder zu ändern (zu aktualisieren), verwenden Sie eine ChangeResourceRecordSets-Anfrage an die Route 53-API.

**Hinweis:**Wenn Sie beim Ausführen von AWS-CLI-Befehlen Fehler erhalten, stellen Sie sicher, dass Sie die neueste AWS-CLI-Version verwenden.

Erstellen Sie eine ChangeResourceRecordSets-Anfrage

Sie können die folgenden Aktionen mit einer ChangeResourceRecordSets-Anfrage ausführen:

  • **CREATE:**Erstellt eine Datensatzgruppe mit einem angegebenen Wert in der gehosteten Zone.
  • **DELETE:**Löscht einen Datensatz mit einem angegebenen Wert in der gehosteten Zone.
  • **UPSERT:**Erstellt eine neue Datensatzgruppe mit einem angegebenen Wert oder aktualisiert eine Datensatzgruppe mit einem angegebenen Wert, falls diese Datensatzgruppe bereits existiert.

Um eine einfache A-Datensatzgruppe zu erstellen, zu löschen oder zu ändern, ändern Sie die folgende JSON-Beispieldatei (sample.json). Der Anforderungstext enthält eine Liste von Änderungselementen, die als Änderungsstapel bezeichnet werden:

{
            "Comment": "CREATE/DELETE/UPSERT a record ",
            "Changes": [{
            "Action": "CREATE",
                        "ResourceRecordSet": {
                                    "Name": "a.example.com",
                                    "Type": "A",
                                    "TTL": 300,
                                 "ResourceRecords": [{ "Value": "4.4.4.4"}]
}}]
}

Um einen Ressourcendatensatz für Ihre Domain in der gehosteten Zone zu erstellen, verwenden Sie die Route 53-API mit dem Befehl change-resource-record-sets. Die Datei sample.json gibt die Werte für die Datensatzerstellung an:

$ aws route53 change-resource-record-sets --hosted-zone-id ZXXXXXXXXXX --change-batch file://sample.json

Ein Status PENDING wird mit der eindeutigen ID zurückgegeben:

$ aws route53 change-resource-record-sets --hosted-zone-id ZXXXXXXXXXXX --change-batch file://sample.json
{
    "ChangeInfo": {
        "Status": "PENDING",
        "Comment": "optional comment about the changes in this change batch request",
        "SubmittedAt": "2018-07-10T19:39:37.757Z",
        "Id": "/change/C3QYC83OA0KX5K"
    }
}

Wenn Sie diesen Status mit der ID nicht sehen, liegt ein Fehler in der JSON-Datei vor.

Um den Status der Änderungen zu überprüfen, verwenden Sie den API-Aufruf get-change mit dem Id-Wert aus Ihrer change-resource-record-sets-Antwort:

  • PENDING gibt an, dass die Änderungen in dieser Anforderung noch nicht an alle Route 53-DNS-Server weitergegeben wurden. Dies ist der Anfangsstatus aller Änderungsstapel-Anfragen.
  • INSYNC gibt an, dass die Änderungen an alle Route 53-DNS-Server weitergegeben werden.

Hier ist ein Status PENDING vor der Propagierung:

aws route53  get-change --id /change/C3QYC83OA0KX5K
{
    "ChangeInfo": {
        "Status": "PENDING",
        "Comment": "optional comment about the changes in this change batch request",
        "SubmittedAt": "2018-07-10T19:39:37.757Z",
        "Id": "/change/C3QYC83OA0KX5K"
    }
}

Hier ist ein Status INSYNC nach der Propagierung:

$ aws route53  get-change --id /change/C3QYC83OA0KX5K
{
    "ChangeInfo": {
        "Status": "INSYNC",
        "Comment": "optional comment about the changes in this change batch request",
        "SubmittedAt": "2018-07-10T19:39:37.757Z",
        "Id": "/change/C3QYC83OA0KX5K"
    }

Gleichzeitige Anfragen erstellen

Sie müssen für jede gleichzeitige Anforderung separate Aktionstasten verwenden. Sie können beispielsweise keinen A-Record und einen MX-Record in einer Anfrage erstellen. Stattdessen müssen Sie zwei Datensätze für denselben Domain-Namen mit dem folgenden Format erstellen:

{
                "Comment": "CREATE/DELETE/UPDATE",
                 "Changes": [ {
                             "Action": "CREATE",
                            "ResourceRecordSet": {
                                "Name": "a.example.com",
                                    "Type": "A",
                                     "TTL": 300,
                                  "ResourceRecords": [{"Value": "5.5.5.5"}]
                            }},
{
                            "Action": "CREATE",
                            "ResourceRecordSet": {
                                 "Name": "a.example.com",
                                 "Type": "MX",
                                  "TTL": 300,
                                  "ResourceRecords": [{"Value": "10 example.com"}]
                           }}
]
}

Ähnliche Informationen

Wie behebe ich Fehler, die bei der Erstellung von Route-53-Ressourcendatensätzen mit dem AWS CLI auftreten?