Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Migrasikan data DNS secara massal ke zona host pribadi Amazon Route 53
Ram Kandaswamy, Amazon Web Services
Ringkasan
Insinyur jaringan dan administrator cloud memerlukan cara yang efisien dan sederhana untuk menambahkan catatan Domain Name System (DNS) ke zona yang dihosting pribadi di Amazon Route 53. Menggunakan pendekatan manual untuk menyalin entri dari lembar kerja Microsoft Excel ke lokasi yang sesuai di konsol Route 53 membosankan dan rawan kesalahan. Pola ini menjelaskan pendekatan otomatis yang mengurangi waktu dan upaya yang diperlukan untuk menambahkan beberapa catatan. Ini juga menyediakan serangkaian langkah yang dapat diulang untuk beberapa pembuatan zona yang dihosting.
Pola ini menggunakan Amazon Simple Storage Service (Amazon S3) untuk menyimpan catatan. Untuk bekerja dengan data secara efisien, pola menggunakan format JSON karena kesederhanaan dan kemampuannya untuk mendukung kamus Python dict (tipe data).
catatan
Jika Anda dapat membuat file zona dari sistem Anda, pertimbangkan untuk menggunakan fitur impor Route 53 sebagai gantinya.
Prasyarat dan batasan
Prasyarat
Lembar kerja Excel yang berisi catatan zona yang dihosting pribadi
Keakraban dengan bahasa Python dan perpustakaannya
Batasan
Pola tidak memberikan cakupan yang luas untuk semua skenario kasus penggunaan. Misalnya, panggilan change_resource_record_sets
tidak menggunakan semua properti API yang tersedia. Di lembar kerja Excel, nilai di setiap baris diasumsikan unik. Beberapa nilai untuk setiap nama domain yang memenuhi syarat (FQDN) diharapkan muncul di baris yang sama. Jika itu tidak benar, Anda harus memodifikasi kode yang disediakan dalam pola ini untuk melakukan penggabungan yang diperlukan.
Pola ini menggunakan AWS SDK for Python (Boto3) untuk memanggil layanan Route 53 secara langsung. Anda dapat menyempurnakan kode untuk menggunakan CloudFormation pembungkus AWS untuk
update_stackperintahcreate_stackdan, dan menggunakan nilai JSON untuk mengisi sumber daya template.
Arsitektur
Tumpukan teknologi
Route 53 zona host pribadi untuk merutekan lalu lintas
Amazon S3 untuk menyimpan file JSON output

Alur kerja terdiri dari langkah-langkah ini, seperti yang diilustrasikan dalam diagram sebelumnya dan dibahas di bagian Epik:
Unggah lembar kerja Excel yang memiliki informasi kumpulan rekaman ke bucket S3.
Buat dan jalankan skrip Python yang mengonversi data Excel ke format JSON.
Baca catatan dari bucket S3 dan bersihkan datanya.
Buat kumpulan rekaman di zona host pribadi Anda.
Alat
Route 53 - Amazon Route 53 adalah layanan web DNS yang sangat tersedia dan dapat diskalakan yang menangani pendaftaran domain, perutean DNS, dan pemeriksaan kesehatan.
Amazon S3 - Amazon Simple Storage Service (Amazon S3) Simple Storage Service adalah layanan penyimpanan objek. Anda dapat menggunakan Amazon S3 untuk menyimpan dan mengambil data sebanyak apa pun kapan pun, dari mana pun di web.
Epik
| Tugas | Deskripsi | Keterampilan yang dibutuhkan | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
Buat file Excel untuk catatan Anda. | Gunakan catatan yang Anda ekspor dari sistem Anda saat ini untuk membuat lembar kerja Excel yang memiliki kolom yang diperlukan untuk catatan, seperti nama domain yang sepenuhnya memenuhi syarat (FQDN), jenis rekaman, Waktu untuk Hidup (TTL), dan nilai. Untuk catatan NAPTR dan SRV, nilainya adalah kombinasi dari beberapa properti, jadi gunakan
| Insinyur data, keterampilan Excel | ||||||||
Verifikasi lingkungan kerja. | Di IDE Anda, buat file Python untuk mengonversi lembar kerja input Excel ke format JSON. (Alih-alih IDE, Anda juga dapat menggunakan SageMaker notebook Amazon untuk bekerja dengan kode Python.) Verifikasi bahwa versi Python yang Anda gunakan adalah versi 3.7 atau yang lebih baru.
Instal paket panda.
| AWS Umum | ||||||||
Ubah data lembar kerja Excel ke JSON. | Buat file Python yang berisi kode berikut untuk dikonversi dari Excel ke JSON.
di mana | Insinyur data, keterampilan Python | ||||||||
Unggah file JSON ke bucket S3. | Unggah | Pengembang aplikasi |
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
Buat zona host pribadi. | Gunakan create_hosted_zone
Anda juga dapat menggunakan alat infrastruktur sebagai kode (IAc) seperti AWS CloudFormation untuk mengganti langkah-langkah ini dengan templat yang membuat tumpukan dengan sumber daya dan properti yang sesuai. | Arsitek cloud, administrator Jaringan, keterampilan Python |
Ambil detail sebagai kamus dari Amazon S3. | Gunakan kode berikut untuk membaca dari bucket S3 dan untuk mendapatkan nilai JSON sebagai kamus Python.
dimana | Pengembang aplikasi, keterampilan Python |
Bersihkan nilai data untuk spasi dan karakter Unicode. | Sebagai langkah pengamanan untuk memastikan kebenaran data, gunakan kode berikut untuk melakukan operasi strip pada nilai di
| Pengembang aplikasi, keterampilan Python |
Sisipkan catatan. | Gunakan kode berikut sebagai bagian dari
Di | Pengembang aplikasi, keterampilan Python |
Sumber daya terkait
Referensi
Membuat catatan dengan mengimpor file zona (dokumentasi Amazon Route 53)
metode create_hosted_zone
(dokumentasi Boto3)
Tutorial dan video
Tutorial Python (dokumentasi
Python) Desain DNS menggunakan Amazon Route 53
(YouTube video, AWS Online Tech Talks)