Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Azure Container Registry adalah layanan registri kontainer terkelola yang digunakan untuk menyimpan dan mengelola gambar kontainer Docker privat Anda dan artefak terkait untuk penyebaran kontainer Anda.
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 cara membuat Container Registry tahan terhadap berbagai potensi pemadaman dan masalah, termasuk kesalahan sementara, pemadaman zona ketersediaan, dan pemadaman wilayah. Ini juga menjelaskan bagaimana Anda dapat menggunakan cadangan untuk memulihkan dari jenis masalah lain, dan menyoroti beberapa informasi utama tentang perjanjian tingkat layanan (SLA) Container Registry.
Rekomendasi implementasi produksi untuk keandalan
Untuk beban kerja produksi, kami sarankan Anda mengambil tindakan berikut:
Gunakan tingkat Premium Container Registry, yang menyediakan fitur keandalan paling komprehensif. Tingkat Premium juga menyediakan batas performa yang lebih tinggi, fitur keamanan yang ditingkatkan, dan kemampuan tingkat lanjut yang penting untuk beban kerja kontainer produksi. Untuk informasi selengkapnya tentang tingkat layanan dan fitur, lihat Tingkat layanan Container Registry.
Konfigurasikan Container Registry Anda di wilayah yang mendukung zona ketersediaan.
Untuk skenario multi-wilayah, konfigurasikan replikasi geografis untuk mendistribusikan registri Anda di beberapa wilayah berdasarkan persyaratan geografis dan kepatuhan spesifik Anda.
Gambaran umum arsitektur keandalan
Container Registry dibangun di atas infrastruktur Azure terdistribusi untuk memberikan ketersediaan tinggi dan durabilitas data. Layanan ini terdiri dari beberapa komponen utama yang bekerja sama untuk memastikan keandalan. Diagram berikut mengilustrasikan arsitektur layanan inti.
Sarana kontrol adalah komponen manajemen terpusat di wilayah asal untuk konfigurasi registri, konfigurasi autentikasi, dan kebijakan replikasi.
Bidang data adalah layanan terdistribusi yang menangani operasi pendorongan dan penarikan gambar kontainer di seluruh wilayah dan zona ketersediaan.
Lapisan penyimpanan adalah solusi Azure Storage yang dapat diatasi konten yang mempertahankan gambar dan artefak kontainer. Ini termasuk deduplikasi otomatis, enkripsi saat tidak aktif, dan replikasi bawaan.
Microsoft bertanggung jawab untuk mengelola infrastruktur Container Registry yang mendasar, yang mencakup jenis pemeliharaan berikut:
Pemeliharaan sarana kontrol untuk manajemen registri
Pemeliharaan bidang data untuk operasi gambar kontainer di seluruh wilayah dan zona ketersediaan
Sebagai pelanggan, Anda bertanggung jawab atas tindakan berikut:
Ketahanan tingkat aplikasi: Terapkan logika coba lagi dan penanganan failover yang sesuai di aplikasi kontainer dan platform orkestrasi Anda.
Konfigurasi ketahanan zona: Pastikan registri kontainer Anda disebarkan di wilayah yang mendukung zona ketersediaan.
Konfigurasi replikasi geografis: Pilih wilayah yang sesuai untuk replikasi geografis berdasarkan distribusi geografis, kepatuhan, dan persyaratan performa Anda.
Container Registry juga mendukung tugas, yang dapat membantu Anda mengotomatiskan build kontainer dan operasi pemeliharaan. Tugas berjalan pada infrastruktur komputasi yang dikelola Microsoft dan mendukung pemicu manual, berbasis peristiwa, atau terjadwal. Untuk informasi selengkapnya, lihat Mengotomatiskan build dan pemeliharaan gambar kontainer dengan menggunakan tugas Container Registry.
Note
Container Registry mendukung registri yang terhubung, yang merupakan replika lokal atau jarak jauh yang disinkronkan dengan Container Registry berbasis cloud Anda. Saat menggunakan registri yang terhubung, Anda bertanggung jawab untuk mengonfigurasinya untuk memenuhi persyaratan keandalan Anda. Registri yang terhubung berada di luar cakupan untuk artikel ini.
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.
Container Registry menangani kesalahan sementara secara internal melalui beberapa mekanisme. Layanan ini menerapkan logika coba lagi otomatis untuk operasi registri dan mempertahankan pengumpulan koneksi untuk penggunaan sumber daya yang efisien. Operasi Container Registry dirancang agar idempotensi, yang memungkinkan percobaan kembali operasi pendorongan dan penarikan yang aman. Tugas secara otomatis menangani kesalahan sementara ketika mereka melakukan banyak jenis operasi.
Untuk aplikasi klien yang menggunakan Container Registry, terapkan kebijakan coba lagi yang sesuai dengan backoff eksponensial saat melakukan operasi registri. Gunakan klien Docker resmi atau SDK Container Registry, yang mencakup mekanisme coba lagi bawaan untuk kegagalan sementara umum.
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.
Redundansi zona melindungi registri kontainer Anda dari kegagalan zona tunggal dengan mendistribusikan data registri dan operasi di beberapa zona ketersediaan dalam wilayah tersebut. Operasi penarikan dan pendorongan gambar kontainer terus berfungsi selama pemadaman zona, dengan failover otomatis ke zona sehat.
Redundansi zona diaktifkan secara default untuk semua registri di wilayah yang mendukung zona ketersediaan, membuat sumber daya Anda lebih tangguh secara otomatis dan tanpa biaya tambahan. Peningkatan ini berlaku untuk semua tingkat layanan, termasuk Dasar dan Standar, dan telah diterapkan ke registri baru dan yang sudah ada.
Penting
Portal Microsoft Azure dan alat lainnya mungkin belum mencerminkan pembaruan redundansi zona secara akurat.
Properti zoneRedundancy dalam konfigurasi registri Anda mungkin masih ditampilkan sebagai false, tetapi redundansi zona aktif untuk semua registri di wilayah yang didukung.
Kami secara aktif memperbarui permukaan portal dan API untuk mencerminkan perilaku default ini secara lebih transparan. Semua fitur yang diaktifkan sebelumnya terus berfungsi seperti yang diharapkan.
Considerations
- Dukungan wilayah: Registri zona-redundan dapat disebarkan ke wilayah mana pun yang mendukung zona ketersediaan. Jika registri Anda berada di wilayah yang tidak mendukung zona ketersediaan, maka untuk menjadikannya zona redundan, Anda harus membuat registri baru di wilayah yang mendukung zona ketersediaan. Kemudian, Anda perlu memigrasikan gambar kontainer Anda dengan membuat alur transfer atau dengan mengimpor gambar kontainer.
Considerations
Tugas: Tugas Container Registry saat ini tidak mendukung zona ketersediaan. Redundansi zona berlaku untuk layanan registri itu sendiri, tetapi tidak untuk tugas atau operasinya.
Replikasi geografis: Jika registri Anda menggunakan replikasi geografis, setiap replika yang dibuat di wilayah dengan zona ketersediaan secara otomatis menjadi zona-redundan.
Cost
Registri kontainer menyertakan redundansi zona tanpa biaya tambahan.
Mengonfigurasi dukungan zona ketersediaan
Buat registri zona-redundan. Saat Anda membuat registri di wilayah yang didukung, registri tersebut secara otomatis memiliki redundansi zona. Untuk informasi selengkapnya tentang membuat registri baru, lihat Membuat registri zona-redundan di Container Registry.
Aktifkan redundansi zona pada registri yang ada. Registri yang berada di wilayah dengan zona ketersediaan secara otomatis redundan zona. Anda tidak perlu mengaktifkan redundansi zona.
Nonaktifkan redundansi zona. Redundansi zona tidak dapat dinonaktifkan.
Perilaku ketika semua zona sehat
Bagian ini menjelaskan apa yang diharapkan ketika sumber daya Container Registry dikonfigurasi untuk redundansi zona dan semua zona ketersediaan beroperasi.
Perutean lalu lintas antar zona: Container Registry menggunakan fungsionalitas perutean internal untuk mendistribusikan operasi sarana data secara otomatis di semua zona ketersediaan dalam suatu wilayah. Layanan registri secara otomatis merutekan permintaan ke zona sehat tanpa memerlukan penyeimbang beban eksternal.
Replikasi data antar zona: Data registri, termasuk gambar kontainer, manifes, dan metadata, direplikasi secara asinkron di beberapa zona ketersediaan. Perubahan direplikasi dengan cepat di seluruh zona untuk menjaga ketersediaan tinggi dan durabilitas data. Replikasi tidak sinkron, tetapi biasanya selesai dalam hitungan menit, dan semua zona tetap tersedia untuk operasi baca dan tulis selama replikasi.
Perilaku selama kegagalan zona
Bagian ini menjelaskan apa yang diharapkan ketika sumber daya Container Registry dikonfigurasi untuk redundansi zona dan ada pemadaman zona ketersediaan.
Ketika zona menjadi tidak tersedia, Container Registry secara otomatis menangani proses failover dengan dampak minimal terhadap operasi registri.
Deteksi dan respons: Platform Container Registry secara otomatis mendeteksi kegagalan di zona ketersediaan dan memulai respons. Layanan ini secara otomatis merutekan lalu lintas ke zona sehat yang tersisa. Tidak diperlukan intervensi manual untuk memulai failover zona.
Pemberitahuan: Microsoft tidak secara otomatis memberi tahu Anda saat zona tidak berfungsi. Namun, Anda dapat menggunakan Azure Service Health untuk memahami kesehatan layanan secara keseluruhan, termasuk kegagalan zona apa pun, dan Anda dapat menyiapkan pemberitahuan Service Health untuk memberi tahu Anda tentang masalah.
Anda juga dapat memantau metrik ketersediaan registri di Azure Monitor.
Permintaan aktif: Ketika zona ketersediaan tidak tersedia, setiap permintaan yang sedang berlangsung yang terhubung ke sumber daya di zona ketersediaan yang rusak dihentikan. Mereka perlu dicoba lagi.
Kehilangan data yang diharapkan: Setiap tulisan terbaru yang dibuat di zona rusak mungkin tidak direplikasi ke wilayah lain, yang berarti bahwa penulisan tersebut mungkin hilang sampai zona pulih. Kehilangan data biasanya diperkirakan kurang dari 15 menit, tetapi itu tidak dijamin.
Waktu henti yang diharapkan: Sejumlah kecil waktu henti mungkin terjadi selama failover otomatis karena lalu lintas dialihkan ke zona sehat. Waktu henti ini biasanya beberapa detik untuk sebagian besar operasi registri. Kami menyarankan agar Anda mengikuti praktik terbaik penanganan kesalahan sementara untuk meminimalkan efek failover zona pada aplikasi Anda.
Pengalihan lalu lintas: Platform ini secara otomatis mengalihkan lalu lintas ke zona sehat tanpa mengharuskan Anda membuat perubahan konfigurasi apa pun.
Pemulihan zona
Ketika zona ketersediaan yang terpengaruh pulih, Container Registry secara otomatis mendistribusikan operasi di semua zona yang tersedia, termasuk zona yang dipulihkan. Layanan ini menyeimbangkan kembali lalu lintas dan distribusi data tanpa memerlukan intervensi manual atau menyebabkan gangguan layanan.
Uji kegagalan zona
Platform Container Registry mengelola perutean lalu lintas, failover, dan failback untuk registri zona-redundan. Karena fitur ini dikelola sepenuhnya, Anda tidak perlu memulai atau memvalidasi proses kegagalan zona ketersediaan.
Ketahanan terhadap kegagalan di seluruh wilayah
Container Registry menyediakan dukungan multi-wilayah asli melalui replikasi geografis saat registri Anda menggunakan tingkat Premium. Geo-replikasi membuat replika registri di beberapa wilayah pilihan Anda. Wilayah tempat Anda menyebarkan sumber daya registri dikenal sebagai wilayah asal.
Replikasi geografis memungkinkan ketahanan terhadap pemadaman regional. Jika registri Anda direplikasi secara geografis dan terjadi pemadaman regional, data registri terus tersedia dari wilayah lain yang Anda pilih. Jika Anda tidak mengaktifkan replikasi geografis, data Anda mungkin menjadi tidak tersedia selama pemadaman wilayah.
Anda juga dapat menggunakan replikasi geografis untuk mendapatkan akses lokal ke gambar kontainer di wilayah tersebut dan untuk mengurangi latensi untuk aplikasi yang didistribusikan secara global.
Saat Anda menyebarkan Container Registry dan mengaktifkan replikasi geografis, Microsoft menggunakan Azure Traffic Manager untuk mendistribusikan permintaan bidang data antara replika Anda dan untuk secara otomatis melakukan failover antar replika jika replika regional tidak tersedia.
Replikasi geografis Container Registry tidak bergantung pada wilayah berpasangan Azure. Anda dapat memilih kombinasi wilayah Azure apa pun untuk replikasi berdasarkan persyaratan geografis, performa, dan kepatuhan spesifik Anda. Setiap registri yang direplikasi secara geografis berfungsi sebagai titik akhir registri. Ini mendukung sebagian besar operasi registri, termasuk pendorongan gambar, penarikan, dan tugas manajemen.
Bagian ini meringkas informasi tentang replikasi geografis karena berkaitan dengan keandalan. Untuk informasi selengkapnya, lihat Replikasi geografis di Container Registry.
Dukungan wilayah
Replikasi geografis tersedia di semua wilayah Azure tempat tingkat Premium didukung. Anda dapat mereplikasi ke kombinasi wilayah apa pun, terlepas dari apakah Azure memasangkan wilayah tersebut.
Requirements
Anda harus menggunakan tingkat Premium untuk mengaktifkan replikasi geografis.
Considerations
Replika zona-redundan: Setiap replika yang Anda buat di wilayah dengan zona ketersediaan secara otomatis menjadi zona-redundan.
Sarana kontrol: Sarana kontrol berjalan di wilayah asal. Jika wilayah asal tidak tersedia, operasi sarana kontrol tidak tersedia, dan Anda mungkin tidak dapat mengubah konfigurasi registri.
Tugas: Tugas Container Registry saat ini tidak mendukung replika geografis. Tugas selalu dijalankan di region asal. Jika wilayah asal tidak tersedia, tugas tidak berjalan.
Cost
Setiap wilayah yang direplikasi geografis ditagih secara terpisah sesuai dengan harga tingkat Premium untuk masing-masing wilayah. Biaya keluar juga berlaku untuk transfer data antar wilayah selama replikasi awal dan sinkronisasi yang sedang berlangsung.
Mengonfigurasi dukungan multiregional
Replikasi geografis dapat dikonfigurasi selama pembuatan registri atau ditambahkan ke registri Premium yang ada. Replikasi geografis dapat dikonfigurasi melalui portal Microsoft Azure, Azure CLI, Azure PowerShell, atau templat Azure Resource Manager.
Buat registri yang direplikasi secara geografis. Konfigurasikan replikasi geografis setelah pembuatan registri dengan menentukan wilayah tambahan.
Aktifkan replikasi geografis pada registri yang ada. Untuk mengaktifkan kemampuan replikasi geografis, tingkatkan registri tingkat Dasar atau Standar yang ada ke tingkat Premium. Anda dapat mengubah wilayah replikasi kapan saja. Untuk informasi selengkapnya, lihat Mengonfigurasi replikasi geografis.
Nonaktifkan replikasi geografis. Hapus replika regional individual melalui portal Microsoft Azure atau alat baris perintah. Registri wilayah asal tidak dapat dihapus.
Perilaku ketika semua wilayah sehat
Bagian ini menjelaskan apa yang diharapkan ketika registri dikonfigurasi untuk replikasi geografis dan semua wilayah beroperasi.
Perutean lalu lintas antar wilayah: Container Registry beroperasi dalam konfigurasi aktif-aktif di mana setiap titik akhir regional dapat melayani semua operasi sarana data secara independen, termasuk baca dan tulis. Operasi sarana data, seperti operasi pendorongan dan penarikan kontainer, secara otomatis dirutekan dengan menggunakan Traffic Manager dengan kriteria berbasis performa untuk menentukan titik akhir regional yang optimal untuk performa.
Replikasi data antar wilayah: Replikasi geografis secara otomatis menyinkronkan gambar kontainer dan artefak di semua wilayah yang dikonfigurasi dengan menggunakan replikasi asinkron dengan konsistensi akhir. Layanan ini menggunakan penyimpanan yang dapat diatasi konten untuk mereplikasi lapisan gambar yang unik secara efisien. Pendekatan ini meminimalkan penggunaan bandwidth dan waktu replikasi. Operasi baca dan tulis berfungsi di semua wilayah yang direplikasi secara geografis. Perubahan yang dilakukan di wilayah mana pun direplikasi ke semua wilayah lain.
Replikasi biasanya selesai dalam beberapa menit setelah perubahan. Namun, tidak ada jaminan pada waktu replikasi data. Gambar kontainer besar atau pembaruan frekuensi tinggi mungkin membutuhkan waktu lebih lama untuk direplikasi di semua wilayah.
Perilaku selama kegagalan wilayah
Bagian ini menjelaskan apa yang diharapkan ketika registri dikonfigurasi untuk replikasi geografis dan ada pemadaman di wilayah utama.
Ketika suatu wilayah menjadi tidak tersedia, operasi kontainer dapat terus menggunakan titik akhir regional alternatif.
Deteksi dan respons: Container Registry memantau kesehatan setiap replika regional dan bertanggung jawab untuk mengalihkan lalu lintas ke wilayah lain.
Pemberitahuan: Microsoft tidak secara otomatis memberi tahu Anda saat suatu wilayah tidak berfungsi. Namun, Anda dapat menggunakan Azure Service Health untuk memahami kesehatan layanan secara keseluruhan, termasuk kegagalan wilayah apa pun, dan Anda dapat menyiapkan pemberitahuan Service Health untuk memberi tahu Anda tentang masalah.
Anda juga dapat memantau metrik ketersediaan registri untuk setiap titik akhir regional di Azure Monitor.
Permintaan aktif: Setiap permintaan aktif yang saat ini dalam penerbangan ke wilayah yang tidak tersedia akan gagal dan harus dicoba kembali sehingga dapat diarahkan ke wilayah yang sehat.
Kehilangan data yang diharapkan: Setiap tulisan terbaru yang dibuat di wilayah yang rusak mungkin tidak direplikasi ke wilayah lain. Kegagalan ini berarti bahwa mereka mungkin hilang sampai wilayah pulih. Biasanya, kehilangan data diperkirakan kurang dari 15 menit, tetapi itu tidak dijamin.
Waktu henti yang diharapkan: Untuk operasi sarana data, sejumlah kecil waktu henti diharapkan untuk operasi sarana data saat failover selesai, yang biasanya memakan waktu 1 hingga 2 menit.
Jika wilayah asal tidak tersedia, operasi sarana kontrol tidak tersedia hingga wilayah pulih.
Pengalihan lalu lintas: Ketika suatu wilayah menjadi tidak tersedia, operasi kontainer secara otomatis dirutekan ke replika lain di wilayah yang sehat. Klien tidak perlu mengubah titik akhir tempat mereka berinteraksi dengan registri. Microsoft secara otomatis menangani perutean, failover, dan failback.
Pemulihan wilayah
Saat suatu wilayah pulih, operasi data plane secara otomatis melanjutkan untuk endpoint regional tersebut melalui pengalihan Traffic Manager. Layanan menyinkronkan setiap perubahan yang terjadi selama pemadaman dengan menggunakan replikasi asinkron dengan konsistensi akhir.
Pengujian untuk mendeteksi kegagalan wilayah
Anda tidak dapat mensimulasikan kegagalan salah satu wilayah yang terkait dengan registri Anda, tetapi Anda dapat menguji kemampuan aplikasi Anda untuk melakukan failover antar wilayah. Anda dapat mensimulasikan failover regional dengan menonaktifkan replika geografis untuk sementara, yang menghapusnya dari perutean Traffic Manager. Kemudian Anda dapat memverifikasi bahwa operasi kontainer berhasil melakukan failover ke wilayah alternatif tanpa benar-benar mengalami pemadaman regional. Untuk informasi selengkapnya, lihat Menonaktifkan perutean untuk replikasi untuk sementara waktu.
Saat Anda mengaktifkan kembali replika, Traffic Manager akan kembali mengarahkan lalu lintas ke replika yang diaktifkan kembali. Selain itu, metadata dan gambar disinkronkan dengan konsistensi akhir ke replika yang diaktifkan kembali untuk memastikan konsistensi data di semua wilayah.
Pencadangan dan pemulihan
Container Registry mendukung ekspor gambar kontainer dan artefak dari registri Anda ke penyimpanan eksternal atau registri alternatif. Gunakan kemampuan impor dan ekspor Container Registry atau perintah Docker standar untuk membuat salinan gambar kontainer penting untuk skenario pemulihan bencana.
Untuk sebagian besar solusi, Anda tidak boleh mengandalkan cadangan secara eksklusif. Sebagai gantinya, gunakan kemampuan lain yang dijelaskan dalam panduan ini untuk mendukung persyaratan ketahanan Anda. Namun, pencadangan melindungi dari beberapa risiko yang tidak dapat dicegah oleh pendekatan lain. Untuk informasi selengkapnya, lihat Apa itu redundansi, replikasi, dan cadangan?.
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.