Replikasi objek untuk blob blok

Replikasi objek secara asinkron menyalin blob blok antara akun penyimpanan sumber dan akun tujuan. Beberapa skenario yang didukung replikasi objek meliputi:

  • Meminimalkan latensi. Replikasi objek dapat mengurangi latensi untuk permintaan baca dengan mengizinkan klien untuk mengonsumsi data dari wilayah yang berada dalam jarak fisik yang lebih dekat.
  • Tingkatkan efisiensi untuk beban kerja komputasi. Dengan replikasi objek, beban kerja komputasi dapat memproses set blob blok yang sama di wilayah yang berbeda.
  • Mengoptimalkan distribusi data. Anda dapat memproses atau menganalisis data dalam satu lokasi lalu mereplikasi hasilnya saja ke wilayah tambahan.
  • Mengoptimalkan biaya. Setelah data Anda direplikasi, Anda dapat menurunkan biaya dengan memindahkannya ke tingkat arsip menggunakan kebijakan manajemen siklus hidup.

Diagram berikut menunjukkan cara replikasi objek mereplikasi blob blok dari akun penyimpanan sumber di satu wilayah ke akun tujuan di dua wilayah berbeda.

Diagram menunjukkan cara kerja replikasi objek

Untuk mempelajari cara mengonfigurasikan replikasi objek, lihat Mengonfigurasikan replikasi objek.

Prasyarat dan peringatan untuk replikasi objek

Replikasi objek mengharuskan fitur Azure Storage berikut juga diaktifkan:

Mengaktifkan umpan perubahan dan penerapan versi blob dapat dikenai biaya tambahan. Untuk informasi selengkapnya, lihat halaman harga Azure Storage.

Replikasi objek didukung untuk akun penyimpanan v2 bertujuan umum dan akun blob blok premium. Baik akun sumber dan tujuan harus berupa akun blob blok tujuan umum v2 atau premium. Replikasi objek hanya mendukung blob blok; tambahkan blob dan blob halaman tidak didukung.

Replikasi objek didukung untuk akun yang dienkripsi dengan kunci yang dikelola microsoft atau kunci yang dikelola pelanggan. Untuk informasi selengkapnya tentang kunci yang dikelola pelanggan, lihat Menggunakan kunci yang dikelola pelanggan untuk enkripsi Azure Storage.

Replikasi objek tidak didukung untuk blob di akun sumber yang dienkripsi dengan kunci yang disediakan pelanggan. Untuk informasi selengkapnya tentang kunci yang disediakan pelanggan, lihat Menyediakan kunci enkripsi pada permintaan ke penyimpanan Blob.

Failover yang dikelola pelanggan tidak didukung untuk akun sumber atau tujuan dalam kebijakan replikasi objek.

Replikasi objek tidak didukung untuk blob yang diunggah dengan menggunakan API Data Lake Storage Gen2 .

Cara kerja replikasi objek

Replikasi objek secara asinkron menyalin blob blok dalam kontainer sesuai dengan aturan yang Anda konfigurasikan. Isi blob, versi apa pun yang terkait dengan blob, dan metadata dan properti serta metadata blob semuanya disalin dari kontainer sumber ke kontainer tujuan.

Penting

Karena data blob blok direplikasi secara asinkron, akun sumber dan akun tujuan tidak langsung sinkron. Saat ini tidak ada SLA tentang berapa lama waktu yang dibutuhkan untuk mereplikasi data ke akun tujuan. Anda dapat memeriksa status replikasi pada blob sumber untuk menentukan apakah replikasi selesai. Untuk informasi selengkapnya, lihat Memeriksa status replikasi blob.

Penerapan versi blob

Replikasi objek mengharuskan penerapan versi blob diaktifkan pada akun sumber dan tujuan. Ketika blob yang direplikasi di akun sumber diubah, versi baru blob dibuat di akun sumber yang merefleksikan status blob sebelum perubahan. Versi terkini di akun sumber merefleksikan pembaruan terbaru. Baik versi pembaruan terkini dan versi apa pun sebelumnya direplikasi ke akun tujuan. Untuk informasi selengkapnya tentang cara operasi tulis memengaruhi versi blob, lihat Penerapan versi pada operasi tulis.

Jika akun penyimpanan Anda memiliki kebijakan replikasi objek yang berlaku, Anda tidak dapat menonaktifkan penerapan versi blob untuk akun tersebut. Anda harus menghapus kebijakan replikasi objek apa pun pada akun sebelum menonaktifkan penerapan versi blob.

Menghapus blob di akun sumber

Jika blob di akun sumber dihapus, versi blob saat ini menjadi versi sebelumnya, dan tidak ada lagi versi saat ini. Semua versi blob sebelumnya yang ada dipertahankan. Status ini direplikasi ke akun tujuan. Untuk informasi selengkapnya tentang cara operasi tulis memengaruhi versi blob, lihat Penerapan versi pada operasi hapus.

Rekam jepret

Replikasi objek tidak mendukung rekam jepret blob. Setiap snapshot pada blob di akun sumber tidak direplikasi ke akun tujuan.

Tag indeks blob

Replikasi objek tidak menyalin tag indeks blob sumber ke blob tujuan.

Tingkat blob

Replikasi objek didukung ketika akun sumber dan tujuan berada di tingkat panas atau dingin. Akun sumber dan tujuan dapat berada di tingkatan yang berbeda. Namun, replikasi objek akan gagal jika blob di akun sumber atau tujuan telah dipindahkan ke tingkat arsip. Untuk informasi selengkapnya tentang tingkat blob, lihat Tingkat akses untuk data blob.

Blob yang tidak dapat diubah

Kebijakan Azure Blob Storage yang tidak dapat diubah mencakup kebijakan retensi berbasis waktu dan pegangan hukum. Ketika kebijakan yang tidak dapat diubah berlaku pada akun tujuan, replikasi objek dapat terpengaruh. Untuk informasi selengkapnya tentang kebijakan yang tidak dapat diubah, lihat Menyimpan data blob yang penting bagi bisnis dengan penyimpanan yang tidak dapat diubah.

Jika kebijakan tingkat kontainer yang tidak dapat diubah berlaku untuk kontainer di akun tujuan, dan objek dalam kontainer sumber diperbarui atau dihapus, maka operasi pada kontainer sumber dapat berhasil, tetapi replikasi operasi itu ke kontainer tujuan akan gagal. Untuk informasi selengkapnya tentang operasi mana yang dilarang dengan kebijakan yang tidak bisa diubah yang disebar ke kontainer, lihat Skenario dengan lingkup tingkat kontainer.

Jika kebijakan yang tidak dapat diubah tingkat versi berlaku untuk versi blob di akun tujuan, dan operasi hapus atau perbarui dilakukan pada versi blob dalam kontainer sumber, maka operasi pada objek sumber dapat berhasil, tetapi replikasi operasi itu ke objek tujuan akan gagal. Untuk informasi selengkapnya tentang operasi mana yang dilarang dengan kebijakan yang tidak bisa diubah yang disebar ke kontainer, lihat Skenario dengan lingkup tingkat kontainer.

Kebijakan dan aturan replikasi objek

Saat mengonfigurasi replikasi objek, Anda membuat kebijakan replikasi yang menentukan akun penyimpanan sumber dan akun tujuan. Kebijakan replikasi mencakup satu atau beberapa aturan yang menentukan kontainer sumber dan kontainer tujuan dan menunjukkan blob blok mana dalam kontainer sumber yang akan direplikasi.

Setelah Anda mengonfigurasikan replikasi objek, Azure Storage memeriksa umpan perubahan untuk akun sumber secara berkala dan secara asinkron mereplikasi operasi tulis atau hapus ke akun tujuan. Latensi replikasi bergantung pada ukuran blob blok yang sedang direplikasi.

Kebijakan replikasi

Saat mengonfigurasi replikasi objek, Anda membuat kebijakan replikasi pada akun tujuan melalui penyedia sumber daya Azure Storage. Setelah kebijakan replikasi dibuat, Azure Storage menetapkan ID kebijakan. Anda lalu harus mengaitkan kebijakan replikasi tersebut dengan akun sumber menggunakan ID kebijakan. ID kebijakan pada akun sumber dan tujuan harus sama agar replikasi dapat berlangsung.

Akun sumber dapat mereplikasi ke tidak lebih dari dua akun tujuan, dengan satu kebijakan untuk setiap akun tujuan. Demikian pula, akun dapat berfungsi sebagai akun tujuan untuk tidak lebih dari dua kebijakan replikasi.

Akun sumber dan tujuan mungkin berada di wilayah yang sama atau yang berbeda. Mereka mungkin juga berada di langganan yang sama atau dalam langganan yang berbeda. Secara opsional, akun sumber dan tujuan dapat berada di penyewa Microsoft Entra yang berbeda. Hanya satu kebijakan replikasi yang dapat dibuat untuk setiap pasangan akun sumber/akun tujuan.

Aturan replikasi

Aturan replikasi menentukan cara Azure Storage mereplikasi blob dari kontainer sumber ke tujuan. Anda dapat menentukan hingga 1000 aturan replikasi untuk setiap kebijakan replikasi. Setiap aturan replikasi mendefinisikan satu sumber dan kontainer tujuan, dan setiap kontainer sumber dan tujuan hanya dapat digunakan dalam satu aturan, yang berarti bahwa maksimum 1000 kontainer sumber dan 1000 kontainer tujuan dapat berpartisipasi dalam satu kebijakan replikasi.

Saat Anda membuat aturan replikasi, secara default hanya blob blok baru yang kemudian ditambahkan ke kontainer sumber yang akan disalin. Anda dapat menentukan baik blob blok baru dan yang sudah ada disalin, atau Anda dapat menentukan lingkup salinan kustom yang menyalin blob blok yang dibuat dari waktu tertentu dan seterusnya.

Anda juga dapat menentukan satu atau beberapa filter sebagai bagian dari aturan replikasi untuk memfilter blob blok menurut prefiks. Saat Anda menentukan prefiks, blob dalam kontainer sumber yang cocok dengan prefiks itu saja yang akan disalin ke kontainer tujuan.

Kontainer sumber dan tujuan harus ada sebelum Anda dapat menentukannya dalam aturan. Setelah Anda membuat kebijakan replikasi, operasi tulis ke kontainer tujuan tidak diizinkan. Setiap upaya untuk menulis ke kontainer tujuan akan gagal dengan kode kesalahan 409 (Konflik). Untuk menulis ke kontainer tujuan tempat aturan replikasi dikonfigurasi, Anda harus menghapus aturan yang dikonfigurasikan untuk kontainer tersebut, atau menghapus kebijakan replikasinya. Operasi baca dan hapus ke kontainer tujuan diizinkan saat kebijakan replikasi aktif.

Anda dapat memanggil operasi Set Blob Tier pada blob di kontainer tujuan untuk memindahkannya ke tingkat arsip. Untuk informasi selengkapnya tentang tingkat arsip, lihat Tingkat akses untuk data blob.

Catatan

Mengubah tingkat akses blob di akun sumber tidak akan mengubah tingkat akses blob tersebut di akun tujuan.

File definisi kebijakan

Kebijakan replikasi objek didefinisikan oleh file JSON. Anda bisa mendapatkan file definisi kebijakan dari kebijakan replikasi objek yang ada. Anda juga dapat membuat kebijakan replikasi objek dengan mengunggah file definisi kebijakan.

Sampel file definisi kebijakan

Contoh berikut mendefinisikan kebijakan replikasi pada akun tujuan dengan satu aturan yang cocok dengan prefiks b dan mengatur waktu pembuatan minimum untuk blob yang akan direplikasi. Ingatlah untuk mengganti nilai di kurung siku dengan nilai Anda sendiri:

{
  "properties": {
    "policyId": "default",
    "sourceAccount": "/subscriptions/<subscriptionId>/resourceGroups/<resource-group>/providers/Microsoft.Storage/storageAccounts/<storage-account>",
    "destinationAccount": "/subscriptions/<subscriptionId>/resourceGroups/<resource-group>/providers/Microsoft.Storage/storageAccounts/<storage-account>",
    "rules": [
      {
        "ruleId": "",
        "sourceContainer": "<source-container>",
        "destinationContainer": "<destination-container>",
        "filters": {
          "prefixMatch": [
            "b"
          ],
          "minCreationTime": "2021-08-028T00:00:00Z"
        }
      }
    ]
  }
}

Menentukan ID sumber daya penuh untuk akun sumber dan tujuan

Saat Anda membuat file definisi kebijakan, tentukan ID sumber daya Azure Resource Manager lengkap untuk entri sourceAccount dan destinationAccount, seperti yang ditunjukkan pada contoh di bagian sebelumnya. Untuk mempelajari cara menemukan ID sumber daya untuk akun penyimpanan, lihat Mendapatkan ID sumber daya untuk akun penyimpanan.

ID sumber daya berada dalam format berikut:

/subscriptions/<subscriptionId>/resourceGroups/<resource-group>/providers/Microsoft.Storage/storageAccounts/<storage-account>

File definisi kebijakan sebelumnya hanya membutuhkan nama akun, bukan ID sumber daya lengkap untuk akun penyimpanan. Dengan diperkenalkannya properti keamanan AllowCrossTenantReplication di versi 01-02-2021 dari penyedia sumber daya Azure Storage REST API, Anda sekarang harus menyediakan ID sumber daya penuh untuk setiap kebijakan replikasi objek yang dibuat ketika replikasi lintas penyewa dianulir untuk akun penyimpanan yang berpartisipasi dalam kebijakan replikasi. Azure Storage menggunakan ID sumber daya lengkap untuk memverifikasi apakah akun sumber dan tujuan berada dalam penyewa yang sama. Untuk mempelajari selengkapnya tentang melarang kebijakan replikasi lintas penyewa, lihat Mencegah replikasi di seluruh penyewa Microsoft Entra.

Sementara hanya menyediakan nama akun yang masih didukung ketika replikasi lintas penyewa diperbolehkan untuk akun penyimpanan, Microsoft merekomendasikan untuk selalu menyediakan ID sumber daya penuh sebagai praktik terbaik. Semua versi sebelumnya dari penyedia sumber daya Azure Storage REST API mendukung menggunakan jalur ID sumber daya penuh dalam kebijakan replikasi objek.

Tabel berikut menjelaskan apa yang terjadi ketika Anda membuat kebijakan replikasi dengan ID sumber daya penuh yang ditentukan, versus nama akun, dalam skenario di mana replikasi lintas penyewa diizinkan atau dianulir untuk akun penyimpanan.

Pengidentifikasi akun penyimpanan dalam definisi kebijakan Replikasi lintas penyewa diperbolehkan Replikasi lintas penyewa dianulir
ID sumber daya lengkap Kebijakan penyewa yang sama dapat dibuat.

Kebijakan lintas penyewa dapat dibuat.
Kebijakan penyewa yang sama dapat dibuat.

Kebijakan lintas penyewa dapat dibuat.
Hanya nama akun Kebijakan penyewa yang sama dapat dibuat.

Kebijakan lintas penyewa dapat dibuat.
Baik kebijakan penyewa yang sama atau lintas penyewa tidak dapat dibuat. Kesalahan terjadi, karena Azure Storage tidak dapat memverifikasi bahwa akun sumber dan tujuan berada di penyewa yang sama. Kesalahan menunjukkan bahwa Anda harus menentukan ID sumber daya penuh untuk entri sourceAccount dan destinationAccount dalam file definisi kebijakan.

Menentukan ID kebijakan dan aturan

Tabel berikut ini meringkas nilai mana yang akan digunakan untuk policyId dan ruleId dalam file JSON di setiap skenario.

Saat Anda membuat file definisi kebijakan untuk akun ini... Atur ID kebijakan ke nilai ini Atur ID aturan ke nilai ini
Akun tujuan Nilai untai default. Azure Storage akan membuat nilai ID kebijakan untuk Anda. Untai kosong. Azure Storage akan membuat nilai ID aturan untuk Anda.
Akun sumber Nilai ID kebijakan ditampilkan saat Anda mengunduh file definisi kebijakan utuk akun tujuan. Nilai ID aturan ditampilkan saat Anda mengunduh file definisi kebijakan utuk akun tujuan.

Mencegah replikasi di seluruh penyewa Microsoft Entra

Penyewa Microsoft Entra adalah instans khusus ID Microsoft Entra yang mewakili organisasi untuk manajemen identitas dan akses. Setiap langganan Azure memiliki hubungan kepercayaan dengan satu penyewa Microsoft Entra. Semua sumber daya dalam langganan, termasuk akun penyimpanan, dikaitkan dengan penyewa Microsoft Entra yang sama. Untuk informasi selengkapnya, lihat Apa itu ID Microsoft Entra?

Secara default, replikasi lintas penyewa dinonaktifkan untuk akun baru yang dibuat mulai 15 Des 2023. Jika kebijakan keamanan Anda mengharuskan Anda membatasi replikasi objek ke akun penyimpanan yang hanya berada dalam penyewa yang sama, Anda dapat melarang replikasi di seluruh penyewa dengan menetapkan properti keamanan, properti AllowCrossTenantReplication (pratinjau). Saat Anda melarang replikasi objek lintas penyewa untuk akun penyimpanan, maka untuk kebijakan replikasi objek apa pun yang dikonfigurasi dengan akun penyimpanan tersebut sebagai akun sumber atau tujuan, Azure Storage mengharuskan akun sumber dan tujuan berada dalam penyewa Microsoft Entra yang sama. Untuk informasi selengkapnya tentang melarang replikasi objek lintas penyewa, lihat Mencegah replikasi objek di seluruh penyewa Microsoft Entra.

Untuk melarang replikasi objek lintas penyewa untuk akun penyimpanan, atur properti AllowCrossTenantReplication ke salah. Jika akun penyimpanan saat ini tidak berpartisipasi dalam kebijakan replikasi objek lintas penyewa, maka mengatur properti AllowCrossTenantReplication ke salah akan mencegah konfigurasi kebijakan replikasi objek lintas penyewa di masa mendatang dengan akun penyimpanan ini sebagai sumber atau tujuan.

Namun, jika akun penyimpanan saat ini berpartisipasi dalam satu atau beberapa kebijakan replikasi objek lintas penyewa, maka mengatur properti AllowCrossTenantReplication ke salah tidak diizinkan. Anda harus menghapus kebijakan lintas penyewa yang ada sebelum Anda dapat melarang replikasi lintas penyewa.

Secara default, properti AllowCrossTenantReplication diatur ke false untuk akun penyimpanan yang dibuat mulai 15 Des 2023. Untuk akun penyimpanan yang dibuat sebelum 15 Des 2023, ketika nilai properti AllowCrossTenantReplication untuk akun penyimpanan null atau true, maka pengguna yang berwenang dapat mengonfigurasi kebijakan replikasi objek lintas penyewa dengan akun ini sebagai sumber atau tujuan. Untuk informasi selengkapnya tentang cara mengonfigurasi kebijakan lintas penyewa, lihat Mengonfigurasi replikasi objek untuk blob blok.

Anda dapat menggunakan Azure Policy untuk mengaudit satu set akun penyimpanan untuk memastikan bahwa properti AllowCrossTenantReplication diatur untuk mencegah replikasi objek lintas penyewa. Anda juga dapat menggunakan Azure Policy untuk menerapkan tata kelola untuk satu set akun penyimpanan. Misalnya, Anda dapat membuat kebijakan dengan efek tolak untuk mencegah pengguna membuat akun penyimpanan di mana properti AllowCrossTenantReplication diatur ke benar, atau dari memodifikasi akun penyimpanan yang ada untuk mengubah nilai properti menjadi benar.

Status replikasi

Anda dapat memeriksa status replikasi untuk blob di akun sumber. Untuk informasi selengkapnya, lihat Memeriksa status replikasi blob.

Catatan

Saat replikasi sedang berlangsung, tidak ada cara untuk menentukan persentase data yang telah direplikasi.

Jika status replikasi blob di akun sumber gagal, selidiki kemungkinan penyebab berikut:

  • Pastikan bahwa kebijakan replikasi objek telah dikonfigurasi pada akun tujuan.
  • Pastikan bahwa akun tujuan masih ada.
  • Pastikan bahwa kontainer tujuan masih ada.
  • Verifikasi bahwa kontainer tujuan tidak sedang dalam proses penghapusan, atau belum dihapus. Menghapus kontainer mungkin memakan waktu hingga 30 detik.
  • Verifikasi bahwa kontainer tujuan masih berpartisipasi dalam kebijakan replikasi objek.
  • Replikasi objek akan gagal jika blob sumber telah dienkripsi dengan kunci yang disediakan pelanggan sebagai bagian dari operasi tulis. Untuk informasi selengkapnya tentang kunci yang disediakan pelanggan, lihat Menyediakan kunci enkripsi pada permintaan ke penyimpanan Blob.
  • Periksa apakah blob sumber atau tujuan telah dipindahkan ke tingkat arsip. Blob yang diarsipkan tidak dapat direplikasi melalui replikasi objek. Untuk informasi selengkapnya tentang tingkat arsip, lihat Tingkat akses untuk data blob.
  • Verifikasi bahwa kontainer atau blob tujuan tidak dilindungi oleh kebijakan kekebalan. Perlu diingat bahwa kontainer atau blob dapat mewarisi kebijakan kekebalan dari induknya. Untuk informasi selengkapnya tentang kebijakan kekebalan, lihat Ringkasan penyimpanan yang tidak dapat diubah untuk data blob.

Dukungan fitur

Dukungan untuk fitur ini mungkin terpengaruh dengan mengaktifkan Data Lake Storage Gen2, protokol Network File System (NFS) 3.0, atau SSH File Transfer Protocol (SFTP). Jika Anda telah mengaktifkan salah satu kemampuan ini, lihat Dukungan fitur Blob Storage di akun Azure Storage untuk menilai dukungan untuk fitur ini.

Billing

Tidak ada biaya untuk mengonfigurasi replikasi objek. Ini termasuk tugas mengaktifkan umpan perubahan, mengaktifkan penerapan versi, serta menambahkan kebijakan replikasi. Namun, replikasi objek dikenakan biaya pada transaksi baca dan tulis terhadap akun sumber dan tujuan, serta biaya keluar untuk replikasi data dari akun sumber ke akun tujuan dan biaya baca untuk memproses umpan perubahan.

Berikut adalah perincian biaya. Untuk menemukan harga setiap komponen biaya, lihat Harga Azure Blob Storage.

Biaya untuk memperbarui blob di akun sumber Biaya untuk mereplikasi data di akun tujuan
Biaya transaksi operasi tulis Biaya transaksi untuk membaca rekaman umpan perubahan
Biaya penyimpanan blob dan setiap blob versi1 Biaya transaksi untuk membaca blob dan blob versi2
Biaya untuk menambahkan rekaman umpan perubahan Biaya transaksi untuk menulis blob dan blob versi2
Biaya penyimpanan blob dan setiap blob versi1
Biaya keluar jaringan3

1 Pada akun sumber, jika Anda belum mengubah tingkat blob atau versi, maka Anda akan ditagih untuk blok data unik di seluruh blob tersebut, versinya. Lihat Harga dan Penagihan penerapan versi Blob. Di akun tujuan, untuk versi, Anda ditagih untuk semua blok versi apakah blok tersebut unik atau tidak.

2 Ini hanya mencakup versi blob yang dibuat sejak replikasi terakhir selesai.

3 Replikasi objek menyalin seluruh versi ke tujuan (bukan hanya blok unik versi). Transfer ini menimbulkan biaya keluar jaringan. Lihat Harga bandwidth.

Tip

Untuk mengurangi risiko tagihan yang tidak terduga, aktifkan replikasi objek di akun yang hanya berisi sejumlah kecil objek. Kemudian, ukur dampak pada biaya sebelum Anda mengaktifkan fitur dalam pengaturan produksi.

Langkah berikutnya