Merelokasi Azure Container Registry ke wilayah lain
Artikel ini memperlihatkan kepada Anda cara merelokasi sumber daya Azure Container Registry ke wilayah lain dalam langganan penyewa Active Directory yang sama.
Catatan
Jika Anda ingin mendistribusikan citra kontainer yang identik di beberapa wilayah Azure, Azure Container Registry juga mendukung replikasi geografis. Dengan mereplikasi registri secara geografis (diperlukan tingkat layanan Premium), Anda dapat melayani beberapa wilayah dengan nama citra dan tag yang identik dari satu registri.
Prasyarat
Anda hanya dapat merelokasi registri dalam penyewa Active Directory yang sama. Batasan ini berlaku untuk registri yang dienkripsi dan tidak terenkripsi dengan kunci yang dikelola pelanggan.
Jika registri sumber mengaktifkan zona ketersediaan, maka wilayah target juga harus mendukung zona ketersediaan. Untuk informasi selengkapnya tentang dukungan zona ketersediaan untuk Azure Container Registry, lihat Mengaktifkan redundansi zona di Azure Container Registry.
Pertimbangan untuk Titik Akhir Layanan
Titik akhir layanan jaringan virtual untuk Azure Container Registry membatasi akses ke jaringan virtual tertentu. Titik akhir juga dapat membatasi akses ke daftar rentang alamat IPv4 (protokol internet versi 4). Setiap pengguna yang terhubung ke registri dari luar sumber tersebut ditolak aksesnya. Jika Titik akhir layanan dikonfigurasi di wilayah sumber untuk sumber daya registri, hal yang sama perlu dilakukan di target satu. Langkah-langkah untuk skenario ini disebutkan di bawah ini:
Untuk rekreasi registri yang berhasil ke wilayah target, VNet dan Subnet harus dibuat sebelumnya. Jika pemindahan kedua sumber daya ini dilakukan dengan alat Azure Resource Mover, titik akhir layanan tidak akan dikonfigurasi secara otomatis sehingga Anda harus menyediakan konfigurasi manual.
Kedua, perubahan perlu dilakukan di IaC Azure Container Registry. Di
networkAcl
bagian, di bawahvirtualNetworkRules
, tambahkan aturan untuk subnet target. Pastikan bahwaignoreMissingVnetServiceEndpoint
bendera diatur ke False, sehingga IaC gagal menyebarkan Azure Container Registry jika titik akhir layanan tidak dikonfigurasi di wilayah target. Ini akan memastikan bahwa prasyarat di wilayah target terpenuhi
Pertimbangan untuk titik akhir privat
Azure Private Link menyediakan konektivitas privat dari jaringan virtual ke platform Azure sebagai layanan (PaaS), milik pelanggan, atau layanan mitra Microsoft. Private Link menyederhanakan arsitektur jaringan dan mengamankan koneksi antara titik akhir di Azure dengan menghilangkan paparan data ke internet publik.
Agar rekreasi sumber daya Anda berhasil di wilayah target, VNet dan Subnet harus dibuat sebelum rekreasi aktual terjadi.
Pertimbangan untuk integrasi DNS Titik Akhir Privat Azure
Penting untuk mengonfigurasi pengaturan DNS Anda dengan benar untuk menyelesaikan alamat IP titik akhir privat ke nama domain yang sepenuhnya memenuhi syarat (FQDN) dari string koneksi.
Layanan Microsoft Azure yang sudah ada mungkin sudah memiliki konfigurasi DNS untuk titik akhir publik. Konfigurasi ini harus diambil alih agar tersambung menggunakan titik akhir privat Anda.
Antarmuka jaringan yang terkait dengan titik akhir privat berisi informasi untuk mengonfigurasi DNS Anda. Informasi antarmuka jaringan mencakup FQDN dan alamat IP privat untuk sumber daya tautan privat Anda.
Anda bisa menggunakan opsi berikut untuk mengonfigurasi pengaturan DNS Anda untuk titik akhir privat:
- Gunakan file host (hanya disarankan bagi pengujian) . Anda dapat menggunakan file host di komputer virtual untuk mengambil alih DNS.
- Gunakan zona DNS privat. Anda dapat menggunakan zona DNS privat untuk mengambil alih resolusi DNS untuk titik akhir privat. Zona DNS privat dapat ditautkan ke jaringan virtual Anda untuk mengatasi domain tertentu.
- Gunakan penerus DNS Anda (opsional) . Anda bisa menggunakan penerus DNS Anda untuk mengganti resolusi DNS untuk sumber daya tautan privat. Buat aturan penerusan DNS untuk menggunakan zona DNS privat di server DNS Anda yang dihosting di jaringan virtual.
Azure Container Registry harus dikonfigurasi di wilayah target dengan tingkat premium.
Ketika akses jaringan publik ke registri dinonaktifkan, akses registri oleh layanan tepercaya tertentu - termasuk Azure Security Center - memerlukan pengaktifan pengaturan jaringan untuk melewati aturan jaringan.
Jika registri memiliki titik akhir privat yang disetujui dan akses jaringan publik dinonaktifkan, repositori dan tag tidak dapat dicantumkan di luar jaringan virtual menggunakan portal Azure, Azure CLI, atau alat lainnya.
Jika terjadi replika baru, penting untuk menambahkan catatan DNS baru secara manual untuk titik akhir data di wilayah target.
Waktu henti
Untuk memahami kemungkinan waktu henti yang terlibat, lihat Cloud Adoption Framework untuk Azure: Pilih metode relokasi.
Siapkan
Catatan
Jika Anda hanya ingin merelokasi Container Registry yang tidak menyimpan data spesifik klien apa pun dan akan dipindahkan sendiri, Anda cukup menyebarkan ulang registri dengan menggunakan Bicep atau JSON.
Untuk melihat templat konfigurasi ketersediaan lainnya, buka Menentukan sumber daya dengan Bicep, templat ARM, dan penyedia Terraform AzAPI
Untuk mempersiapkan relokasi dengan migrasi data:
Buat peta dependensi dengan semua layanan Azure yang digunakan oleh registri. Untuk layanan yang berada dalam cakupan relokasi, Anda harus memilih strategi relokasi yang sesuai.
Identifikasi tata letak jaringan sumber untuk Azure Container Registry (ACR) seperti firewall dan isolasi jaringan.
Ambil gambar yang diperlukan dari registri sumber untuk diimpor ke registri target. Untuk mengambil gambar, jalankan perintah berikut:
Get-AzContainerRegistryRepository -RegistryName registry
Gunakan Tugas ACR untuk mengambil konfigurasi otomatisasi registri sumber untuk diimpor ke registri target.
Ekspor template
Untuk memulai, ekspor templat Resource Manager. Templat ini berisi pengaturan yang menjelaskan Container Registry Anda. Untuk informasi selengkapnya tentang cara menggunakan templat yang diekspor, lihat Menggunakan templat yang diekspor dari portal Azure dan referensi templat.
Di portal Azure, navigasike registri sumber Anda.
Di menu, pada Automasi, pilih Ekspor template>Unduh.
Temukan file .zip yang telah Anda unduh dari portal, dan unzip file tersebut ke folder pilihan Anda.
File zip ini berisi file .json yang menyertakan templat dan skrip untuk menyebarkan templat.
Mengubah template
Periksa properti registri dalam file JSON template yang Anda unduh, dan buat perubahan yang diperlukan. Paling sedikit:
- Mengubah
defaultValue
nama registri ke nama yang diinginkan dari registri target - Memperbarui
location
wilayah Azure yang diinginkan untuk registri target
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"registries_myregistry_name": {
"defaultValue": "myregistry",
"type": "String"
}
},
"variables": {},
"resources": [
{
"type": "Microsoft.ContainerRegistry/registries",
"apiVersion": "2020-11-01-preview",
"name": "[parameters('myregistry_name')]",
"location": "centralus",
...
}
]
}
Validasi semua detail sumber daya terkait dalam templat yang diunduh seperti Peta lingkup Registri, konfigurasi replikasi, Pengaturan diagnostik seperti analitik log.
Jika registri sumber dienkripsi, enkripsi registri target menggunakan kunci yang dikelola pelanggan dan perbarui templat dengan pengaturan untuk identitas terkelola, brankas kunci, dan kunci yang diperlukan. Anda hanya dapat mengaktifkan kunci yang dikelola pelanggan saat menggunakan registri.
Buat grup sumber daya
Buat grup sumber daya untuk registri target menggunakan az group create. Contoh berikut ini menampilkan cara membuat grup sumber daya bernama myResourceGroup di lokasi eastus.
az group create --name myResourceGroup --location eastus
Menyebarkan ulang
Gunakan perintah az deployment group create untuk menyebarkan registri target, menggunakan template:
az deployment group create --resource-group myResourceGroup \
--template-file template.json --name mydeployment
Catatan
Jika Anda melihat kesalahan selama penyebaran, Anda mungkin perlu memperbarui konfigurasi tertentu dalam file template dan mencoba kembali perintah.
Mengimpor konten registri di registri target
Setelah membuat registri di wilayah target:
Gunakan perintah az acr import, atau perintah
Import-AzContainerImage
PowerShell yang setara , untuk mengimpor gambar dan artefak lain yang ingin Anda pertahankan dari registri sumber ke registri target. Untuk contoh perintah, lihat Mengimpor gambar kontainer ke registri kontainer.Gunakan perintah Azure CLI az acr repository list dan az acr repository show-tags, atau setara Azure PowerShell, untuk membantu menghitung konten registri sumber Anda.
Jalankan perintah impor untuk artefak individu, atau buat skripnya untuk menjalankan daftar artefak.
Sampel skrip Azure CLI berikut menghitung repositori sumber dan tag, kemudian mengimpor artefak ke registri target di langganan Azure yang sama. Modifikasi sesuai kebutuhan untuk mengimpor repositori atau tag tertentu. Untuk mengimpor dari registri dalam berbagai langganan atau penyewa, lihat contoh dalam Mengimpor gambar kontainer ke registri kontainer.
#!/bin/bash
# Modify registry names for your environment
SOURCE_REG=myregistry
TARGET_REG=targetregistry
# Get list of source repositories
REPO_LIST=$(az acr repository list \
--name $SOURCE_REG --output tsv)
# Enumerate tags and import to target registry
for repo in $REPO_LIST; do
TAGS_LIST=$(az acr repository show-tags --name $SOURCE_REG --repository $repo --output tsv);
for tag in $TAGS_LIST; do
echo "Importing $repo:$tag";
az acr import --name $TARGET_REG --source $SOURCE_REG.azurecr.io/$repo":"$tag;
done
done
Kaitkan sumber daya dependen ke Azure Container Registry target seperti ruang kerja analitik log di pengaturan Diagnostik.
Konfigurasikan integrasi Azure Container Registry dengan kedua jenis kluster AKS, yang disediakan atau belum disediakan dengan menjalankan perintah berikut:
Set-AzAksCluster -Name myAKSCluster -ResourceGroupName myResourceGroup -AcrNameToAttach <acr-name>
Buat perubahan yang diperlukan pada file manifes Kubernetes untuk berintegrasi sama dengan Azure Container Registry (ACR) yang direlokasi.
Perbarui sistem pengembangan dan penyebaran untuk menggunakan registri target alih-alih registri sumber.
Perbarui aturan firewall klien apa pun untuk memungkinkan akses ke registri target.
Verifikasi
Konfirmasikan informasi berikut di registri target Anda:
- Pengaturan registri seperti nama registri, tingkat layanan, akses publik, dan replikasi
- Repositori dan tag untuk konten yang ingin Anda simpan.
Menghapus registri asli
Setelah Anda berhasil menerapkan registri target, konten yang dimigrasikan, dan pengaturan registri terverifikasi, Anda dapat menghapus registri sumber.
Konten terkait
- Untuk memindahkan sumber daya registri ke grup sumber daya baru baik di langganan yang sama atau [langganan baru], lihat Memindahkan sumber daya Azure ke grup sumber daya atau langganan baru.
Pelajari lebih lanjut tentang mengimpor gambar kontainer ke registri kontainer Azure dari registri publik atau registri privat lainnya.
Lihat referensi template Resource Manager untuk Azure Container Registry.