Keandalan di zona publik Azure DNS

Azure DNS menyediakan resolusi nama dengan menggunakan infrastruktur Microsoft Azure. Artikel ini berfokus pada zona DNS publik, yang biasanya Anda buat untuk domain yang Anda miliki dan gunakan untuk menerbitkan rekaman untuk aplikasi dan layanan yang tersedia di internet. Nama host yang Anda atasi adalah nama DNS yang dapat diakses publik, dan alamat IP yang diselesaikan biasanya merupakan alamat IP publik yang dapat dijangkau dari internet.

Azure DNS adalah layanan nonregional yang tidak terikat ke zona ketersediaan atau wilayah Azure tertentu.

Saat Anda menggunakan Azure, keandalan adalah tanggung jawab bersama. Microsoft menyediakan berbagai kemampuan untuk mendukung ketahanan dan pemulihan. Anda bertanggung jawab untuk memahami cara kerja kemampuan tersebut dalam semua layanan yang Anda gunakan, dan memilih kemampuan yang Anda butuhkan untuk memenuhi tujuan bisnis dan tujuan waktu aktif Anda.

Artikel ini menjelaskan bagaimana Azure DNS zona publik merespons kesalahan sementara, kegagalan zona ketersediaan, kegagalan di seluruh wilayah, pemadaman layanan, ancaman keamanan dan kesalahan konfigurasi, pemadaman alat portal dan manajemen, dan pemeliharaan layanan. Ini juga menjelaskan cara melindungi dan memulihkan konfigurasi zona Anda dan menjelaskan persyaratan perjanjian tingkat layanan (SLA) utama.

Rekomendasi implementasi produksi untuk keandalan

Untuk penyebaran produksi zona publik Azure DNS, ikuti rekomendasi berikut untuk meningkatkan keandalan:

  • Delegasikan ke semua server nama: Azure DNS menetapkan empat server nama ke setiap zona DNS publik. Konfigurasikan delegasi domain Anda untuk menggunakan keempat server nama. Konfigurasi ini menyediakan isolasi kesalahan dan diperlukan untuk memenuhi syarat untuk SLA Azure DNS.

  • Konfigurasikan nilai TTL yang sesuai: Atur nilai time-to-live (TTL) yang menyeimbangkan volume kueri dengan seberapa cepat klien menerima perubahan rekaman. Nilai TTL yang lebih rendah memungkinkan klien untuk menerima perubahan lebih cepat tetapi meningkatkan volume kueri. Nilai TTL yang lebih tinggi mengurangi jumlah kueri, tetapi dapat menunda failover setelah Anda mengubah record.

  • Gunakan rekaman alias untuk sumber daya Azure yang didukung:Rekaman alias secara otomatis mencerminkan perubahan pada sumber daya Azure yang mendasar selama resolusi DNS dan membantu mencegah catatan DNS kedaluarsa.

Gambaran umum arsitektur keandalan

Bagian ini menjelaskan beberapa aspek penting tentang cara kerja layanan yang paling relevan dari perspektif keandalan. Bagian ini memperkenalkan arsitektur logis, yang mencakup beberapa sumber daya dan fitur yang Anda sebarkan dan gunakan. Ini juga membahas arsitektur fisik, yang memberikan detail tentang cara kerja layanan di bawah sampul.

Arsitektur logika

Sumber daya utama yang Anda sebarkan adalah zona, yang berisi kumpulan catatan DNS untuk domain. Kumpulan catatan mengaitkan nama DNS dengan nilai, seperti alamat IP atau titik akhir. Nama yang diselesaikan zona DNS publik dapat diakses melalui internet.

Untuk membuat Azure DNS otoritatif untuk domain Anda, delegasikan domain ke server nama yang Azure tetapkan saat Anda membuat zona. Setelah delegasi diberlakukan, Anda membuat kumpulan catatan untuk tipe catatan DNS yang Azure DNS dukung. Anda juga bisa membuat rekaman alias yang mereferensikan sumber daya Azure seperti alamat IP publik, profil Traffic Manager, dan titik akhir Azure Front Door, sehingga catatan DNS tetap disinkronkan dengan sumber daya target.

Selama resolusi DNS, pemecah masalah DNS rekursif mengikuti hierarki DNS untuk menjangkau server nama otoritatif Azure DNS untuk zona Anda.

Important

Azure DNS menyelesaikan nama tetapi tidak memantau kesehatan titik akhir atau merutekan lalu lintas aplikasi. Keandalan solusi Anda secara keseluruhan tergantung pada konfigurasi sumber daya yang dirujuk catatan DNS Anda, seperti komputer virtual dan penyeimbang beban.

Artikel ini tidak mencakup sumber daya tersebut, tetapi konfigurasi ketersediaannya secara langsung memengaruhi ketahanan aplikasi Anda. Tinjau panduan keandalan untuk layanan Azure dalam solusi Anda untuk mempelajari bagaimana setiap layanan mendukung persyaratan keandalan Anda.

Arsitektur fisik

Azure DNS beroperasi sebagai layanan nonregional dan menyebarkan infrastrukturnya di beberapa zona ketersediaan di beberapa wilayah Azure di seluruh dunia. Desain ini memungkinkan Azure DNS untuk tetap tangguh selama pemadaman zona ketersediaan atau wilayah karena infrastruktur di zona atau wilayah lain terus merespons permintaan resolusi.

Protokol internet global seperti Anycast, DNS, dan BGP secara otomatis merutekan permintaan resolusi DNS masuk ke infrastruktur Azure DNS sehat terdekat.

Lapisan penyajian Azure DNS beroperasi dalam konfigurasi aktif-aktif di dua stack penyajian independen: satu berjalan di Linux dan satu lagi berjalan di Windows. Tumpukan ini tidak berbagi kode dan tidak ada perangkat keras yang mendasar. Karena keduanya independen, bug, kerentanan, atau kegagalan yang memengaruhi satu stack tidak memengaruhi stack lainnya. Kemandirian ini mengurangi risiko pemadaman layanan lengkap yang disebabkan oleh satu titik kegagalan dan membantu melindungi dari kelas tertentu dari kerentanan nol hari.

Ketahanan terhadap kesalahan sementara

Kesalahan sementara adalah kegagalan yang bersifat sementara dan intermiten dalam komponen. Mereka sering terjadi di lingkungan terdistribusi seperti cloud, dan mereka adalah bagian normal dari operasi. Kesalahan sementara memperbaiki diri setelah waktu yang singkat. Penting bahwa aplikasi Anda dapat menangani kesalahan sementara, biasanya dengan mencoba kembali permintaan yang terpengaruh.

Semua aplikasi yang dihosting cloud harus mengikuti panduan penanganan kesalahan sementara Azure saat berkomunikasi dengan API, database, dan komponen lain yang dihosting cloud. Untuk informasi selengkapnya, lihat Rekomendasi untuk menangani kesalahan sementara.

Azure DNS menangani kesalahan sementara melalui infrastruktur DNS globalnya.

Jika kesalahan sementara terjadi selama resolusi DNS, klien atau pemecah masalah perantara harus mencoba kembali sesuai dengan perilaku coba lagi DNS yang dikonfigurasi. Antara 2 dan 5 detik biasanya merupakan batas waktu yang cukup untuk klien DNS.

Setiap catatan DNS time to live (TTL) juga memengaruhi bagaimana solusi Anda menangani kesalahan. Jika TTL sangat rendah, klien perlu membuat lebih banyak permintaan untuk Azure DNS dan ada lebih banyak peluang potensial untuk kesalahan sementara muncul. Jika TTL sangat tinggi, apabila terjadi gangguan nyata pada server backend yang mengharuskan Anda mengalihkan lalu lintas ke alamat IP lain, klien mungkin mengalami keterlambatan failover hingga TTL kedaluwarsa. Konfigurasikan TTL dengan hati-hati untuk menyeimbangkan ketersediaan, latensi, dan responsivitas.

Ketahanan terhadap kegagalan zona ketersediaan

Zona ketersediaan adalah grup pusat data yang terpisah secara fisik dalam wilayah Azure. Ketika satu zona gagal, layanan dapat melakukan failover ke salah satu zona yang tersisa.

Azure DNS beroperasi sebagai layanan nonregional. Microsoft mendistribusikan infrastrukturnya di beberapa zona ketersediaan di beberapa wilayah Azure dan mereplikasi perubahan pada zona DNS publik Anda di seluruh infrastruktur tersebut. Anda tidak memilih zona ketersediaan atau mengonfigurasi redundansi zona. Selama pemadaman zona ketersediaan, infrastruktur di zona atau wilayah lain terus merespons permintaan resolusi.

Jika sumber daya yang Anda sebarkan ke satu zona ketersediaan, seperti komputer virtual (VM), menjadi tidak tersedia selama kegagalan zona, Azure DNS terus mengembalikan alamat IP yang dikonfigurasi sumber daya karena tidak memantau kesehatan titik akhir. Jika Anda melakukan failover ke sumber daya di zona sehat, Anda bertanggung jawab untuk memperbarui catatan DNS sehingga klien menggunakan sumber daya yang sehat. Atau, tempatkan sumber daya di belakang load balancer redundan zona yang mengarahkan lalu lintas ke VM di zona yang sehat.

Ketahanan terhadap kegagalan di seluruh wilayah

Zona DNS tahan terhadap pemadaman wilayah karena data zona tersedia secara global dan disebarkan ke beberapa wilayah Azure. Jika suatu wilayah mengalami pemadaman, sumber daya yang Anda sebarkan di wilayah tersebut, seperti jaringan virtual dan VM, mungkin tidak tersedia, tetapi Azure DNS terus menyelesaikan rekaman di zona Anda.

Jika Anda memiliki solusi yang perlu beralih di antara beberapa wilayah, seperti untuk tujuan pemulihan bencana, pertimbangkan untuk menggunakan Azure Traffic Manager atau Azure Front Door. Layanan ini menyediakan kemampuan failover otomatis, yang dapat Anda gunakan jika suatu wilayah tidak sehat.

Ketahanan terhadap ancaman keamanan dan kesalahan konfigurasi

Serangan keamanan dan kesalahan konfigurasi adalah dua risiko keandalan paling signifikan untuk zona DNS. Beberapa kelas serangan khususnya menargetkan resolusi DNS, dan kesalahan konfigurasi yang tidak disengaja dapat mengganggu beban kerja Anda sama parahnya.

Untuk panduan keamanan komprehensif khusus untuk zona DNS publik, lihat Mengamankan penyebaran Azure DNS Anda dan Melindungi Zona dan Rekaman DNS.

Ketahanan terhadap pemadaman layanan

Azure DNS adalah layanan yang sangat tangguh, dengan SLA ketersediaan 100% saat aplikasi Anda memenuhi kondisi tertentu. Pemadaman layanan sangat tidak biasa, tetapi masalah jaringan atau masalah dengan infrastruktur lain dapat mengganggu konektivitas ke layanan Azure DNS.

Azure DNS ketahanan sebagian disebabkan oleh arsitektur sarana penyajian aktif yang terdistribusi secara global.

Gunakan beberapa server nama

Azure DNS menetapkan empat server nama ke setiap zona DNS publik. Saat Anda mendelegasikan domain Anda, konfigurasikan keempat server nama. Jika resolver tidak dapat menjangkau satu server nama, resolver tersebut dapat mengajukan kueri ke server nama lain.

Memantau pemadaman layanan

Gunakan Azure Service Health untuk memantau kesehatan Azure DNS. Konfigurasikan pemberitahuan Service Health untuk memberi tahu Anda tentang insiden layanan.

Pengujian gangguan layanan

Azure Chaos Studio menyediakan kesalahan yang mensimulasikan kegagalan resolusi DNS dari dalam beberapa jenis beban kerja pengujian. Kesalahan ini tidak memicu pemadaman di Azure DNS. Agen Chaos Studio menyediakan gangguan Kegagalan DNS, dan AKS Chaos Mesh menyediakan kapabilitas DNS Chaos. Gunakan kesalahan ini untuk menguji respons aplikasi dan infrastruktur Anda saat resolusi DNS gagal, seperti selama kegagalan jaringan parsial.

Ketahanan terhadap pemadaman portal dan alat manajemen

Jika Anda mengelola zona DNS publik di portal Azure, siapkan jalur manajemen alternatif untuk skenario di mana Anda tidak dapat mengakses portal, terutama jika Anda mungkin perlu mengonfigurasi ulang zona selama pemadaman.

Jika portal Azure tidak tersedia, gunakan Azure CLI, Azure PowerShell, atau infrastruktur sebagai kode (IaC) seperti Bicep atau Terraform untuk mengelola zona DNS publik Anda. Alat-alat ini tetap beroperasi meskipun portal Azure terdegradasi.

Pencadangan dan pemulihan

Azure DNS adalah layanan stateless. Ini tidak menyediakan backup terkelola atau pemulihan ke titik waktu tertentu untuk zona DNS publik.

Untuk mempertahankan konfigurasi sumber daya Azure lengkap, tentukan zona DNS publik Anda dengan menggunakan IaC, seperti Bicep atau Terraform, dan simpan definisi dalam kontrol sumber. Uji definisi secara berkala sehingga Anda dapat menggunakannya untuk menyebarkan ulang konfigurasi Anda.

Sebagai opsi pemulihan tingkat rekaman tambahan, ekspor file zona yang kompatibel dengan BIND. Impor file zona memiliki batasan dan tidak mempertahankan setiap pengaturan sumber daya khusus Azure, jadi jangan gunakan file zona yang diekspor sebagai satu-satunya artefak pemulihan Anda. Tinjau batasan impor yang didokumentasikan dan verifikasi rekaman setelah Anda memulihkan zona.

Ketahanan terhadap pemeliharaan layanan

Microsoft secara teratur menerapkan pembaruan layanan dan melakukan pemeliharaan lainnya. Platform Azure menangani aktivitas ini secara otomatis, memastikan bahwa pemeliharaan mulus dan transparan bagi Anda. Tidak ada downtime yang diharapkan selama peristiwa pemeliharaan kecuali Anda menerima pemberitahuan tentang pemeliharaan terencana melalui Azure Service Health.

Perjanjian tingkat layanan

Perjanjian tingkat layanan (SLA) untuk layanan Azure menjelaskan ketersediaan yang diharapkan dari setiap layanan dan kondisi yang harus dipenuhi solusi Anda untuk mencapai harapan ketersediaan tersebut. Untuk informasi selengkapnya, lihat SLA untuk layanan online.

Azure DNS menyediakan SLA ketersediaan 100% untuk respons kueri DNS yang valid, selama kondisi tertentu terpenuhi. Kondisi ini termasuk mencoba kembali permintaan yang gagal berulang kali selama setidaknya 60 detik berturut-turut, dan menggunakan semua server nama yang Azure DNS tetapkan ke zona Anda. Tinjau dokumen SLA untuk kondisi terperinci.