Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Esegui la migrazione di DNS record in blocco verso una zona ospitata privata di Amazon Route 53
Creato da Ram Kandaswamy () AWS
Riepilogo
Gli ingegneri di rete e gli amministratori del cloud hanno bisogno di un modo semplice ed efficiente per aggiungere i record del Domain Name System (DNS) alle zone private ospitate in Amazon Route 53. L'utilizzo di un approccio manuale per copiare le voci da un foglio di lavoro di Microsoft Excel nelle posizioni appropriate nella console Route 53 è noioso e soggetto a errori. Questo modello descrive un approccio automatizzato che riduce il tempo e lo sforzo necessari per aggiungere più record. Fornisce inoltre una serie di passaggi ripetibili per la creazione di più zone ospitate.
Questo modello utilizza Amazon Simple Storage Service (Amazon S3) per archiviare i record. Per lavorare con i dati in modo efficiente, il pattern utilizza il JSON formato per la sua semplicità e la sua capacità di supportare un dizionario Python (tipo di dict
dati).
Nota
Se riesci a generare un file di zona dal tuo sistema, prendi in considerazione l'utilizzo della funzione di importazione Route 53.
Prerequisiti e limitazioni
Prerequisiti
Un foglio di lavoro di Excel che contiene i record delle zone ospitate private
Familiarità con diversi tipi di DNS record come A record, Name Authority Pointer (NAPTR) record e record (vedi Tipi di SRV record supportati DNS)
Familiarità con il linguaggio Python e le sue librerie
Limitazioni
Il modello non fornisce una copertura estesa per tutti gli scenari di utilizzo. Ad esempio, la chiamata change_resource_record_sets
non utilizza tutte le proprietà disponibili di. API Nel foglio di lavoro di Excel, si presume che il valore di ogni riga sia univoco. È previsto che nella stessa riga compaiano più valori per ogni nome di dominio completo (FQDN). Se ciò non è vero, è necessario modificare il codice fornito in questo modello per eseguire la concatenazione necessaria.
Il modello utilizza AWS SDK for Python (Boto3) per chiamare direttamente il servizio Route 53. È possibile migliorare il codice per utilizzare un AWS CloudFormation wrapper per
update_stack
i comandicreate_stack
and e utilizzare i JSON valori per popolare le risorse del modello.
Architettura
Stack tecnologico
Zone ospitate private Route 53 per il routing del traffico
Amazon S3 per l'archiviazione del file di output JSON

Il flusso di lavoro consiste nei seguenti passaggi, come illustrato nel diagramma precedente e discusso nella sezione Epics:
Carica un foglio di lavoro Excel contenente le informazioni sul set di record in un bucket S3.
Crea ed esegui uno script Python che converta i dati di Excel in formato. JSON
Leggi i record dal bucket S3 e pulisci i dati.
Crea set di record nella tua zona ospitata privata.
Strumenti
Route 53 — Amazon Route 53 è un servizio DNS Web altamente disponibile e scalabile che gestisce la registrazione del dominio, il DNS routing e il controllo dello stato.
Amazon S3 — Amazon Simple Storage Service (Amazon S3) è un servizio di storage di oggetti. È possibile utilizzare Amazon S3 per memorizzare e recuperare qualsiasi volume di dati, in qualunque momento e da qualunque luogo tramite il Web.
Epiche
Attività | Descrizione | Competenze richieste | ||||||||
---|---|---|---|---|---|---|---|---|---|---|
Crea un file Excel per i tuoi archivi. | Usa i record che hai esportato dal sistema corrente per creare un foglio di lavoro Excel contenente le colonne richieste per un record, ad esempio nome di dominio completo (FQDN), tipo di record, Time to Live (TTL) e valore. Per NAPTR i SRV record, il valore è una combinazione di più proprietà, quindi usa il
| Ingegnere dei dati, competenze in Excel | ||||||||
Verifica l'ambiente di lavoro. | Nel tuoIDE, crea un file Python per convertire il foglio di lavoro di input di Excel in formato. JSON (Invece di unIDE, puoi anche usare un SageMaker notebook Amazon per lavorare con il codice Python.) Verifica che la versione di Python che stai utilizzando sia la versione 3.7 o successiva.
Installa il pacchetto pandas.
| Generale AWS | ||||||||
Converti i dati del foglio di lavoro Excel in. JSON | Crea un file Python che contenga il seguente codice da convertire da Excel in. JSON
dove | Ingegnere dei dati, competenze in Python | ||||||||
Caricare il file JSON in un bucket S3. | Caricare il file | Sviluppatore di app |
Attività | Descrizione | Competenze richieste |
---|---|---|
Crea una zona ospitata privata. | Usa create_hosted_zone
Puoi anche utilizzare uno strumento Infrastructure as Code (IaC), ad esempio AWS CloudFormation per sostituire questi passaggi con un modello che crei uno stack con le risorse e le proprietà appropriate. | Architetto cloud, amministratore di rete, competenze in Python |
Recupera i dettagli come dizionario da Amazon S3. | Usa il codice seguente per leggere dal bucket S3 e ottenere i JSON valori come dizionario Python.
dove | Sviluppatore di app, competenze in Python |
Pulisci i valori dei dati per spazi e caratteri Unicode. | Come misura di sicurezza per garantire la correttezza dei dati, utilizzate il codice seguente per eseguire un'operazione di cancellazione dei valori inseriti.
| Sviluppatore di app, competenze in Python |
Inserisci record. | Utilizzate il codice seguente come parte del
| Sviluppatore di app, competenze in Python |
Risorse correlate
Riferimenti
Creazione di record importando un file di zona (documentazione di Amazon Route 53)
metodo create_hosted_zone
(documentazione Boto3) metodo change_resource_record_sets
(documentazione Boto3)
Tutorial e video
DNSprogettazione con Amazon Route 53
(YouTube video, AWSOnline Tech Talks)