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 record DNS in blocco verso una zona ospitata privata di Amazon Route 53
Creato da Ram Kandaswamy (AWS)
Ambiente: produzione | Tecnologie: reti CloudNative DevOps; infrastrutture | Servizi AWS: AWS Cloud9; Amazon Route 53; Amazon S3 |
Riepilogo
Gli ingegneri di rete e gli amministratori del cloud hanno bisogno di un modo semplice ed efficiente per aggiungere record DNS (Domain Name System) 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 l'ambiente di sviluppo integrato (IDE) AWS Cloud9 per lo sviluppo e il test e Amazon Simple Storage Service (Amazon S3) per archiviare i record. Per lavorare con i dati in modo efficiente, il pattern utilizza il formato JSON per la sua semplicità e la sua capacità di supportare un dizionario Python dict
(tipo di 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 record di zone ospitate private
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 dell'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 l'SDK AWS per Python (Boto3) per chiamare direttamente il servizio Route 53. Puoi migliorare il codice per utilizzare un CloudFormation wrapper AWS per i
update_stack
comandicreate_stack
and e utilizzare i valori JSON per popolare le risorse del modello.
Architettura
Stack tecnologico
Zone ospitate private Route 53 per il routing del traffico
IDE AWS Cloud9 per sviluppo e test
Amazon S3 per l'archiviazione del file JSON di output
![Flusso di lavoro per la migrazione di record DNS in blocco verso una zona ospitata privata Route 53.](images/pattern-img/a81c29ea-f0c5-4d4a-ba87-93111a0f1ee9/images/2ada844b-4147-4f9f-8883-d22605aa42d8.png)
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 Web DNS altamente disponibile e scalabile che gestisce la registrazione del dominio, il routing DNS e il controllo dello stato.
AWS Cloud9 — AWS Cloud9 è un IDE che offre una ricca esperienza di modifica del codice con supporto per diversi linguaggi di programmazione e debugger di runtime e un terminale integrato. Contiene una raccolta di strumenti utilizzati per programmare, creare, eseguire, testare, eseguire il debug del software e per rilasciare software nel cloud.
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 i record NAPTR e SRV, il valore è una combinazione di più proprietà, quindi usa il metodo di Excel per combinare queste proprietà.
| Ingegnere dei dati, competenze in Excel | ||||||||
Verifica l'ambiente di lavoro. | Nell'IDE AWS Cloud9, crea un file Python per convertire il foglio di lavoro di input di Excel in formato JSON. (Invece di AWS Cloud9, puoi anche usare un notebook SageMaker 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.
| Informazioni generali su AWS | ||||||||
Converti i dati del foglio di lavoro Excel in JSON. | Crea un file Python che contenga il seguente codice da convertire da Excel a JSON.
dove | Ingegnere dei dati, competenze in Python | ||||||||
Carica il file JSON in un bucket S3. | Caricare il file | Sviluppatore di app |
Attività | Descrizione | Competenze richieste |
---|---|---|
Crea una zona ospitata privata. | Usa l'API create_hosted_zone
Puoi anche utilizzare uno strumento di infrastruttura come codice (IaC) come AWS CloudFormation per sostituire questi passaggi con un modello che crea 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 valori JSON 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
Progettazione DNS con Amazon Route 53
(YouTube video, AWS Online Tech Talks)