Come posso creare set di record di risorse semplici in Amazon Route 53 utilizzando AWS CLI?

3 minuti di lettura
0

 Desidero utilizzare l'Interfaccia della linea di comando AWS (AWS CLI) per creare un set di record di risorse semplici in Amazon Route 53.

Risoluzione

Per creare, eliminare o modificare (upsert) un set di record di risorse, utilizza una richiesta ChangeResourceRecordSets inviata all'API Route 53.

Nota: se ricevi errori durante l'esecuzione dei comandi di AWS CLI, assicurati di utilizzare la versione più recente di AWS CLI.

Crea una richiesta ChangeResourceRecordSets

È possibile eseguire le operazioni seguenti con una richiesta ChangeResourceRecordSets:

  • CREATE: crea un set di record con un valore specificato nella zona ospitata.
  • DELETE: elimina un set di record con un valore specificato nella zona ospitata.
  • UPSERT: crea un nuovo set di record con un valore specificato o aggiorna un set di record con un valore specificato, se tale set esiste già.

Per creare, eliminare o modificare un set di record A semplice, modifica il seguente file JSON di esempio (sample.json). Il corpo della richiesta include un elenco di elementi di modifica, noto come modifiche in batch:

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

Per creare un set di record di risorse per il tuo dominio nella zona ospitata, utilizza l'API Route 53 con il comando change-resource-record-sets. Il file sample.json specifica i valori per la creazione dei record:

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

Lo stato PENDING restituisce l'ID univoco:

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

Se non vedi questo stato con l'ID, significa che c'è un errore nel file JSON.

Per verificare lo stato delle modifiche, usa la chiamata API get-change con il valore Id della tua risposta change-resource-record-sets:

  • PENDING indica che le modifiche contenute in questa richiesta non sono ancora state propagate a tutti i server DNS Route 53. Questo è lo stato iniziale di tutte le richieste di modifica in batch.
  • INSYNC indica che le modifiche vengono propagate a tutti i server DNS Route 53.

Ecco uno stato PENDING prima della propagazione:

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

Ecco uno stato INSYNC dopo la propagazione:

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

Crea richieste simultanee

È necessario utilizzare chiavi Action separate per ogni richiesta simultanea. Ad esempio, non è possibile creare un record A e un record MX in un'unica richiesta. È invece necessario creare due set di record per lo stesso nome di dominio con il seguente formato:

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

Informazioni correlate

Come faccio a risolvere gli errori che ho visualizzato durante la creazione di set di record di risorse Route 53 utilizzando l'Interfaccia della linea di comando AWS (AWS CLI)?

AWS UFFICIALE
AWS UFFICIALEAggiornata un anno fa