Menggunakan replika baca instans DB - Layanan Basis Data Relasional Amazon

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Menggunakan replika baca instans DB

Replika baca adalah salinan hanya baca dari instans DB. Anda dapat mengurangi beban pada instans DB primer dengan merutekan kueri baca dari aplikasi Anda ke replika baca. Dengan cara ini, Anda dapat secara elastis melakukan penskalaan ke luar melampaui batasan kapasitas instans DB tunggal untuk beban kerja basis data yang sarat pembacaan.

Untuk membuat replika baca dari instans DB sumber, Amazon RDS menggunakan fitur replikasi default mesin DB. Untuk informasi tentang menggunakan replika baca dengan mesin tertentu, lihat bagian berikut:

Setelah Anda membuat replika baca dari instans DB sumber, instans DB sumber ini menjadi instans DB primer. Saat Anda membuat pembaruan instans DB primer, Amazon RDS menyalinnya secara asinkron ke replika baca. Diagram berikut menunjukkan instans DB sumber yang mereplikasi ke replika baca di Zona Ketersediaan (AZ) yang berbeda. Klien memiliki akses baca/tulis ke instans DB utama dan akses hanya-baca ke replika.

Konfigurasi replika baca

Replika baca ditagih sebagai instans DB standar dengan tarif yang sama dengan kelas instans DB yang digunakan untuk replika. Anda tidak dikenakan biaya untuk transfer data yang terjadi dalam mereplikasi data antara instans DB sumber dan replika baca dalam hal yang sama. Wilayah AWS Untuk informasi selengkapnya, lihat Biaya replikasi lintas Wilayah dan Penagihan instans DB untuk penagihan instans Amazon RDS untuk Aurora.

Gambaran umum replika baca Amazon RDS

Bagian berikut membahas replika baca instans DB. Untuk informasi tentang replika baca klaster DB Multi-AZ, lihat Bekerja dengan replika baca klaster DB multi-AZ.

Kasus penggunaan untuk replika baca

Melakukan deployment satu atau beberapa replika baca untuk instans DB sumber tertentu mungkin masuk akal dalam berbagai skenario, termasuk skenario berikut ini:

  • Penskalaan di luar kapasitas komputasi atau I/O dari instans DB tunggal untuk beban kerja basis data yang sarat pembacaan. Anda dapat mengarahkan kelebihan lalu lintas baca ini ke satu atau beberapa replika baca.

  • Melayani lalu lintas baca saat instans DB sumber tidak tersedia. Dalam beberapa kasus, instans DB sumber Anda mungkin tidak dapat menerima permintaan I/O, misalnya karena penangguhan I/O untuk cadangan atau pemeliharaan terjadwal. Dalam hal ini, Anda dapat mengarahkan lalu lintas baca ke replika baca Anda. Untuk kasus penggunaan ini, perlu diingat bahwa data di replika baca mungkin "usang" karena instans DB sumber tidak tersedia.

  • Skenario pelaporan bisnis atau pergudangan data saat Anda mungkin ingin kueri pelaporan bisnis dijalankan terhadap replika baca, bukan instans DB produksi Anda.

  • Menerapkan pemulihan bencana. Anda dapat mempromosikan replika baca menjadi instans mandiri sebagai solusi pemulihan bencana jika instans DB primer mengalami kegagalan.

Cara kerja replika baca

Saat Anda membuat replika baca, tentukan terlebih dahulu instans DB yang ada sebagai sumber. Kemudian, Amazon akan RDS mengambil snapshot dari instans sumber dan membuat Instans hanya baca dari snapshot. Amazon RDS selanjutnya menggunakan metode replikasi asinkron untuk mesin DB untuk memperbarui replika baca setiap kali ada perubahan pada instans DB primer.

Replika baca beroperasi sebagai instans DB yang hanya memungkinkan koneksi hanya baca. Pengecualiannya adalah mesin DB RDS for Oracle, yang mendukung basis data replika dalam mode terpasang. Replika terpasang tidak menerima koneksi pengguna sehingga tidak dapat melayani beban kerja hanya baca. Penggunaan primer untuk replika yang terpasang adalah pemulihan bencana lintas Wilayah. Untuk informasi selengkapnya, lihat Menggunakan replika baca untuk Amazon RDS for Oracle.

Aplikasi terhubung ke replika baca seperti terhubung ke instans DB apa pun. Amazon RDS mereplikasi semua basis data dari instans DB sumber.

Replika baca dalam deployment Multi-AZ

Anda dapat mengonfigurasi replika baca untuk instans DB yang juga memiliki replika siaga yang dikonfigurasi untuk ketersediaan tinggi dalam deployment Multi-AZ. Replikasi dengan replika siaga bersifat sinkron. Tidak seperti replika baca, replika siaga tidak dapat melayani lalu lintas baca.

Dalam skenario berikut, klien memiliki akses baca/tulis ke instans DB primer dalam satu AZ. Instans primer menyalin pembaruan secara asinkron ke replika baca di AZ kedua dan juga menyalinnya secara sinkron ke replika siaga di AZ ketiga. Klien hanya memiliki akses baca ke replika baca.

Konfigurasi replika baca dan replika siaga

Untuk informasi selengkapnya tentang replika ketersediaan tinggi dan siaga, lihat Mengonfigurasi dan mengelola deployment Multi-AZ.

Replika baca lintas Wilayah

Dalam beberapa kasus, replika baca berada di tempat yang berbeda Wilayah AWS dari instance DB utamanya. Dalam kasus ini, Amazon RDS menyiapkan saluran komunikasi yang aman antara instans DB primer dan replika baca. Amazon RDS menetapkan konfigurasi AWS keamanan apa pun yang diperlukan untuk mengaktifkan saluran aman, seperti menambahkan entri grup keamanan. Untuk informasi tentang replika baca lintas Wilayah, lihat Membuat replika baca di tempat yang berbeda Wilayah AWS.

Informasi dalam Bab ini berlaku untuk membuat replika baca Amazon RDS baik dalam hal yang Wilayah AWS sama dengan instans DB sumber, atau terpisah. Wilayah AWS Informasi berikut tidak berlaku untuk mengatur replikasi dengan instans yang berjalan pada instans Amazon EC2 atau yang berada di on-premise.

Perbedaan di antara beberapa replika baca untuk mesin DB

Karena mesin DB Amazon RDS menerapkan replikasi secara berbeda, ada beberapa perbedaan signifikan yang harus Anda ketahui, seperti yang diperlihatkan dalam tabel berikut.

Fitur atau perilaku MySQL dan MariaDB Oracle PostgreSQL SQL Server

Apa itu metode replikasi?

Replikasi logis.

Replikasi fisik.

Replikasi fisik.

Replikasi fisik.

Bagaimana log transaksi di-purging?

RDS for MySQL dan RDS for MariaDB mempertahankan log biner yang belum diterapkan.

Jika instans DB primer tidak memiliki replika baca lintas Wilayah, Amazon RDS for Oracle mempertahankan minimal dua jam log transaksi pada instans DB sumber. Log dihapus dari instans DB sumber setelah dua jam atau setelah pengaturan jam retensi log arsip berlalu, mana saja yang lebih lama. Log dihapus dari replika baca setelah pengaturan jam retensi log arsip telah berlalu hanya jika telah berhasil diterapkan ke basis data.

Dalam beberapa kasus, instans DB primer mungkin memiliki satu atau beberapa replika baca lintas Wilayah. Jika demikian, Amazon RDS for Oracle akan mempertahankan log transaksi pada instans DB sumber sampai log transaksi tersebut dikirim dan diterapkan ke semua replika baca lintas Wilayah.

Untuk informasi tentang mengatur jam retensi log arsip, lihat Mempertahankan log pengulangan yang diarsipkan.

PostgreSQL memiliki parameter wal_keep_segments yang menentukan berapa banyak file write ahead log (WAL) yang dipertahankan untuk menyediakan data ke replika baca. Nilai parameter menentukan jumlah log yang akan dipertahankan.

File Log Virtual (VLF) dari file log transaksi di replika primer dapat dipotong setelah tidak lagi diperlukan untuk replika sekunder.

VLF hanya dapat ditandai sebagai tidak aktif jika catatan log telah di-hardening di replika. Terlepas dari seberapa cepat subsistem disk berada di replika primer, log transaksi akan mempertahankan VLF hingga replika yang paling lambat telah melakukan hardening terhadap VLF ini.

Bisakah replika dijadikan dapat ditulis?

Ya. Anda dapat memungkinkan replika baca MySQL atau MariaDB menjadi dapat ditulis.

Tidak. Replika baca Oracle adalah salinan fisik, dan Oracle tidak mengizinkan penulisan di replika baca. Anda dapat mempromosikan replika baca agar menjadikannya dapat ditulis. Replika baca yang dipromosikan memiliki data yang direplikasi hingga titik saat ada permintaan untuk mempromosikannya.

Tidak. Replika baca PostgreSQL adalah salinan fisik, dan PostgreSQL tidak mengizinkan replika baca dijadikan dapat ditulis.

Tidak. Replika baca SQL Server adalah salinan fisik, dan SQL Server tidak mengizinkan penulisan di replika baca. Anda dapat mempromosikan replika baca agar menjadikannya dapat ditulis. Replika baca yang dipromosikan memiliki data yang direplikasi hingga titik saat ada permintaan untuk mempromosikannya.

Dapatkah pencadangan dilakukan pada replika?

Ya. Pencadangan otomatis dan snapshot manual didukung di replika baca RDS for MySQL atau RDS for MariaDB.

Ya. Pencadangan otomatis dan snapshot manual didukung di replika baca RDS for Oracle.

Ya, Anda dapat membuat snapshot manual replika baca RDS for PostgreSQL. Pencadangan otomatis untuk replika baca didukung untuk RDS for PostgreSQL 14.1 dan versi yang lebih tinggi saja. Anda tidak dapat mengaktifkan pencadangan otomatis untuk replika baca PostgreSQL untuk versi RDS for PostgreSQL yang lebih lama dari 14.1. Untuk RDS for PostgreSQL 13 dan versi yang lebih lama, buat snapshot dari replika baca jika Anda menginginkan cadangannya.

Tidak. Pencadangan otomatis dan snapshot manual tidak didukung di replika baca RDS for SQL Server.

Bisakah Anda menggunakan replikasi paralel?

Ya. Semua versi MariaDB dan MySQL yang didukung memungkinkan thread replikasi paralel.

Ya. Data log redo selalu dikirim secara paralel dari basis data primer ke semua replika bacanya.

Tidak. PostgreSQL memiliki satu replikasi penanganan proses.

Ya. Data log redo selalu dikirim secara paralel dari basis data primer ke semua replika bacanya.

Dapatkah Anda mempertahankan replika dalam mode terpasang alih-alih mode hanya baca?

Tidak.

Ya. Penggunaan primer untuk replika yang terpasang adalah pemulihan bencana lintas Wilayah. Lisensi Active Data Guard tidak diperlukan untuk replika yang terpasang. Untuk informasi selengkapnya, lihat Menggunakan replika baca untuk Amazon RDS for Oracle.

Tidak.

Tidak.

Jenis penyimpanan replika baca

Secara default, replika baca dibuat dengan jenis penyimpanan yang sama dengan instans DB sumber. Namun, Anda dapat membuat replika baca yang memiliki jenis penyimpanan berbeda dari instans DB sumber berdasarkan opsi yang tercantum di tabel berikut.

Jenis penyimpanan instans DB sumber Alokasi penyimpanan instans DB sumber Opsi jenis penyimpanan replika baca
IOPS yang Tersedia 100 GiB–64 TiB IOPS yang Tersedia, Tujuan Umum, Magnetik
Tujuan Umum 100 GiB–64 TiB IOPS yang Tersedia, Tujuan Umum, Magnetik
Tujuan Umum <100 GiB Tujuan Umum, Magnetik
Magnetik 100 GiB–6 TiB IOPS yang Tersedia, Tujuan Umum, Magnetik
Magnetik <100 GiB Tujuan Umum, Magnetik
catatan

Saat Anda meningkatkan alokasi penyimpanan replika baca, jumlahnya minimal harus 10 persen. Jika Anda mencoba meningkatkan nilai sebesar kurang dari 10 persen, Anda akan mendapat kesalahan.

Batasan untuk membuat replika dari replika

Amazon RDS tidak mendukung replikasi sirkular. Anda tidak dapat mengonfigurasi instans DB agar berfungsi sebagai sumber replikasi untuk instans DB yang ada. Anda hanya dapat membuat replika baca baru dari instans DB yang ada. Misalnya, jika MySourceDBInstance mereplikasi ke ReadReplica1, Anda tidak dapat mengonfigurasi ReadReplica1 untuk mereplikasi kembali ke MySourceDBInstance.

Untuk RDS for MariaDB dan RDS for MySQL, dan untuk versi RDS for PostgreSQL tertentu, Anda dapat membuat replika baca dari replika baca yang sudah ada. Misalnya, Anda dapat membuat replika baca baru ReadReplica2 dari replika ReadReplica1 yang sudah ada. Untuk RDS for Oracle dan RDS for SQL Server, Anda tidak dapat membuat replika baca dari replika baca yang sudah ada.

Pertimbangan saat menghapus replika

Jika tidak lagi membutuhkan replika baca, Anda dapat secara eksplisit menghapusnya menggunakan mekanisme yang sama untuk menghapus instans DB. Jika Anda menghapus instans DB sumber tanpa menghapus replika bacanya dalam hal yang sama Wilayah AWS, setiap replika baca dipromosikan ke instans DB mandiri. Untuk informasi tentang menghapus instans DB, lihat Menghapus instans DB. Untuk informasi tentang promosi replika baca, lihat Mempromosikan replika baca menjadi instans DB mandiri.

Jika Anda memiliki replika baca lintas Wilayah, lihat Pertimbangan replikasi lintas Wilayah untuk informasi terkait penghapusan instans DB sumber untuk replika baca lintas Wilayah.

Membuat replika baca

Anda dapat membuat replika baca dari instans DB yang ada menggunakan AWS Management Console, AWS CLI, atau RDS API. Anda membuat replika baca dengan menentukan SourceDBInstanceIdentifier, yang merupakan pengidentifikasi instans DB dari instans DB sumber yang ingin Anda replikasi.

Saat membuat replika baca, Amazon RDS mengambil snapshot DB dari instans DB sumber Anda dan memulai replikasi. Instans DB sumber mengalami suspensi I/O yang sangat singkat saat operasi snapshot DB dimulai. Suspensi I/O biasanya berlangsung sekitar satu detik. Anda dapat menghindari penangguhan I/O jika instans DB sumber adalah deployment Multi-AZ, karena dalam hal ini, snapshot diambil dari instans DB sekunder.

Transaksi aktif yang berjalan lama dapat memperlambat proses pembuatan replika baca. Kami menyarankan Anda menunggu transaksi yang berjalan lama selesai sebelum membuat replika baca. Jika Anda membuat beberapa replika baca secara paralel dari instans DB sumber yang sama, Amazon RDS hanya mengambil satu snapshot di awal tindakan pembuatan pertama.

Saat membuat replika baca, ada beberapa hal yang perlu dipertimbangkan. Pertama, Anda harus mengaktifkan pencadangan otomatis pada instans DB sumber dengan mengatur periode retensi cadangan ke nilai selain 0. Persyaratan ini juga berlaku untuk replika baca yang merupakan instans DB sumber untuk replika baca lain. Untuk mengaktifkan pencadangan otomatis pada replika baca RDS for MySQL, pertama-tama buat replika baca, lalu ubah replika baca tersebut untuk mengaktifkan pencadangan otomatis.

catatan

Dalam sebuah Wilayah AWS, kami sangat menyarankan agar Anda membuat semua replika baca di virtual private cloud (VPC) yang sama berdasarkan Amazon VPC sebagai instans DB sumber. Jika Anda membuat replika baca di VPC yang berbeda dari instans DB sumber, rentang Perutean Antar Domain Tanpa Kelas (CIDR) dapat tumpang-tindih antara replika dan sistem RDS. CIDR yang tumpang-tindih membuat replika tidak stabil, yang dapat berdampak negatif pada aplikasi yang terhubung dengannya. Jika Anda mendapatkan kesalahan saat membuat replika baca, pilih grup subnet DB tujuan yang berbeda. Untuk informasi selengkapnya, lihat Bekerja dengan instans DB di VPC.

Tidak ada cara langsung untuk membuat replika baca di tempat lain Akun AWS menggunakan konsol atau AWS CLI.

Untuk membuat replika baca dari instans DB sumber
  1. Masuk ke AWS Management Console dan buka konsol Amazon RDS di https://console.aws.amazon.com/rds/.

  2. Di panel navigasi, pilih Basis data.

  3. Pilih instans DB yang akan digunakan sebagai sumber untuk replika baca.

  4. Untuk Tindakan, pilih Buat replika baca.

  5. Untuk Pengidentifikasi instans DB, masukkan nama replika baca.

  6. Pilih konfigurasi instans Anda. Kami menyarankan Anda menggunakan kelas dan jenis penyimpanan instans DB yang sama atau lebih besar sebagai instans DB sumber untuk replika baca.

  7. Untuk Wilayah AWS, tentukan Wilayah tujuan untuk replika baca.

  8. Untuk Penyimpanan, tentukan ukuran penyimpanan yang dialokasikan dan apakah Anda ingin menggunakan penskalaan otomatis penyimpanan.

    Jika instans DB sumber Anda tidak menggunakan konfigurasi penyimpanan terbaru, opsi Tingkatkan konfigurasi sistem file penyimpanan tersedia. Anda dapat mengaktifkan pengaturan ini untuk meningkatkan sistem file penyimpanan replika baca ke konfigurasi yang diinginkan. Untuk informasi selengkapnya, lihat Meningkatkan sistem file penyimpanan untuk instans DB.

  9. Untuk Ketersediaan, pilih apakah akan membuat replika siaga dari replika Anda di Zona Ketersediaan lain guna menyediakan dukungan failover untuk replika tersebut.

    catatan

    Pembuatan replika baca Anda sebagai instans DB Multi-AZ tidak tergantung pada apakah basis data sumber merupakan instans DB Multi-AZ.

  10. Tentukan pengaturan instans DB lainnya. Untuk informasi tentang setiap pengaturan yang tersedia, lihat Pengaturan untuk instans DB.

  11. Untuk membuat replika baca terenkripsi, perluas Konfigurasi tambahan dan tentukan pengaturan berikut:

    1. Pilih Aktifkan enkripsi.

    2. Untuk AWS KMS key, pilih AWS KMS key pengenal kunci KMS.

    catatan

    Instans DB sumber harus dienkripsi. Untuk mempelajari selengkapnya tentang cara mengenkripsi instans DB sumber, lihat Mengenkripsi sumber daya Amazon RDS Amazon.

  12. Pilih Buat replika baca.

Setelah replika baca dibuat, Anda dapat melihatnya di halaman Basis data di konsol RDS. Halaman tersebut menunjukkan Replika di kolom Peran.

Untuk membuat replika baca dari instance DB sumber, gunakan AWS CLI perintah create-db-instance-read-replica. Contoh ini juga menetapkan ukuran penyimpanan yang dialokasikan, memungkinkan penskalaan otomatis penyimpanan, dan meningkatkan sistem file ke konfigurasi yang diinginkan.

Anda dapat menentukan pengaturan lain. Untuk informasi tentang setiap pengaturan, lihat Pengaturan untuk instans DB.

contoh

Untuk Linux, macOS, atau Unix:

aws rds create-db-instance-read-replica \ --db-instance-identifier myreadreplica \ --source-db-instance-identifier mydbinstance \ --allocated-storage 100 \ --max-allocated-storage 1000 \ --upgrade-storage-config

Untuk Windows:

aws rds create-db-instance-read-replica ^ --db-instance-identifier myreadreplica ^ --source-db-instance-identifier mydbinstance ^ --allocated-storage 100 ^ --max-allocated-storage 1000 ^ --upgrade-storage-config

Untuk membuat replika baca dari instans DB MySQL, MariaDB, Oracle, PostgreSQL, atau SQL Server sumber, panggil operasi API Amazon RDS CreateDBInstanceReadReplica dengan parameter wajib berikut:

  • DBInstanceIdentifier

  • SourceDBInstanceIdentifier

Mempromosikan replika baca menjadi instans DB mandiri

Anda dapat mempromosikan replika baca menjadi instans DB mandiri. Jika instans DB sumber memiliki beberapa replika baca, mempromosikan salah satu replika baca menjadi instans DB tidak akan memengaruhi replika lainnya.

Saat Anda mempromosikan replika baca, RDS me-reboot instans DB sebelum membuatnya tersedia. Proses promosi dapat memakan waktu beberapa menit atau lebih lama, tergantung dari ukuran replika baca.

Mempromosikan replika baca

Kasus penggunaan untuk mempromosikan replika baca

Anda mungkin ingin mempromosikan replika baca ke instans DB mandiri karena salah satu alasan berikut:

  • Menerapkan pemulihan kegagalan – Anda dapat menggunakan promosi replika baca sebagai skema pemulihan data jika instans DB primer mengalami kegagalan. Pendekatan ini akan melengkapi replikasi sinkron, deteksi kegagalan otomatis, dan failover.

    Jika Anda mengetahui konsekuensi dan batasan replikasi asinkron dan Anda masih ingin menggunakan promosi replika baca untuk pemulihan data, Anda dapat melakukannya. Untuk melakukannya, pertama-tama buat replika baca lalu pantau instans DB primer untuk mengetahui adanya kegagalan. Jika terjadi kegagalan, lakukan hal berikut:

    1. Promosikan replika baca.

    2. Arahkan lalu lintas basis data ke instans DB yang dipromosikan.

    3. Buat replika baca pengganti dengan instans DB yang dipromosikan sebagai sumbernya.

  • Meningkatkan konfigurasi penyimpanan – Jika instans DB sumber Anda tidak menggunakan konfigurasi penyimpanan yang diinginkan, Anda dapat membuat replika baca instans dan meningkatkan konfigurasi sistem file penyimpanan. Opsi ini memigrasikan sistem file replika baca ke konfigurasi yang diinginkan. Anda kemudian dapat mempromosikan replika baca menjadi instans mandiri.

    Anda dapat menggunakan opsi ini untuk mengatasi batasan penskalaan pada penyimpanan dan ukuran file untuk sistem file 32-bit yang lebih lama. Untuk informasi selengkapnya, lihat Meningkatkan sistem file penyimpanan untuk instans DB.

    Opsi ini hanya tersedia jika instans DB sumber Anda tidak menggunakan konfigurasi penyimpanan terbaru, atau jika Anda memodifikasi kelas instans DB dalam permintaan yang sama.

  • Sharding – Sharding (pembuatan serpihan) mewujudkan arsitektur "share-nothing" dan pada dasarnya merupakan pemecahan basis data besar menjadi beberapa basis data yang lebih kecil. Salah satu cara umum untuk memisahkan basis data adalah memisahkan tabel yang tidak digabungkan dalam kueri yang sama ke host yang berbeda. Metode lain adalah menduplikasi tabel di beberapa host lalu menggunakan algoritma hashing untuk menentukan host mana yang menerima pembaruan tertentu. Anda dapat membuat replika baca yang sesuai dengan setiap serpihan (basis data yang lebih kecil) dan mempromosikannya saat Anda memutuskan untuk mengubahnya menjadi shard mandiri. Anda kemudian dapat mengambil ruang kunci (jika Anda memisahkan baris) atau distribusi tabel untuk setiap serpihan tergantung kebutuhan Anda.

  • Melakukan operasi DDL (MySQL dan MariaDB saja) – Operasi DDL, seperti membuat atau membuat kembali indeks, dapat memakan waktu dan memberikan dampak performa yang signifikan pada instans DB Anda. Anda dapat melakukan operasi ini pada replika baca MySQL atau MariaDB setelah replika baca disinkronkan dengan instans DB primernya. Kemudian, Anda dapat mempromosikan replika baca dan mengarahkan aplikasi Anda untuk menggunakan Instans yang dipromosikan.

catatan

Jika replika baca Anda adalah RDS untuk instans Oracle DB, Anda dapat melakukan peralihan alih-alih promosi. Dalam peralihan, instans DB sumber menjadi replika baru, dan replika menjadi instance DB sumber baru. Untuk informasi selengkapnya, lihat Melakukan switchover Oracle Data Guard.

Karakteristik replika baca yang dipromosikan

Setelah Anda mempromosikan replika baca, itu berhenti berfungsi sebagai replika baca dan menjadi instance DB mandiri. Instans DB mandiri baru memiliki karakteristik sebagai berikut:

  • Instans DB mandiri mempertahankan grup opsi dan grup parameter dari replika baca pra-promosi.

  • Anda dapat membuat replika baca dari instans DB mandiri dan melakukan operasi point-in-time pemulihan.

  • Anda tidak dapat menggunakan instans DB sebagai target replikasi karena ini bukan lagi replika baca.

Prasyarat untuk mempromosikan replika baca

Sebelum Anda mempromosikan replika baca, lakukan hal berikut:

  • Tinjau strategi pencadangan Anda:

    • Kami menyarankan Anda mengaktifkan cadangan dan menyelesaikan setidaknya satu cadangan. Durasi pencadangan adalah fungsi jumlah perubahan basis data sejak pencadangan sebelumnya.

    • Jika Anda telah mengaktifkan pencadangan pada replika baca, konfigurasikan periode pencadangan otomatis sehingga pencadangan harian tidak akan mengganggu promosi replika baca.

    • Pastikan replika baca Anda tidak memiliki backing-up status. Anda tidak dapat mempromosikan replika baca saat berada dalam keadaan ini.

  • Hentikan transaksi apa pun agar tidak ditulis ke instans DB utama, lalu tunggu RDS menerapkan semua pembaruan ke replika baca.

    Pembaruan basis data terjadi pada replika baca setelah pembaruan terjadi pada instans DB utama. Kelambatan replikasi dapat bervariasi secara signifikan. Gunakan metrik Replica Lag untuk menentukan saat semua pembaruan sudah dilakukan pada replika baca.

  • (Hanya MySQL dan MariaDB) Untuk membuat perubahan pada replika baca MySQL atau MariaDB sebelum Anda mempromosikannya, atur parameter ke dalam grup parameter DB untuk replika baca. read_only 0 Anda kemudian dapat melakukan semua operasi DDL yang diperlukan, seperti membuat indeks pada replika baca. Tindakan yang dilakukan pada replika baca tidak memengaruhi performa instans DB primer.

Mempromosikan replika baca: langkah-langkah dasar

Langkah-langkah berikut ini menunjukkan proses umum untuk mempromosikan replika baca menjadi instans DB:

  1. Promosikan replika baca dengan menggunakan opsi Promosikan di konsol Amazon RDS, AWS CLI perintah promote-read-replica, atau operasi PromoteReadReplicaAmazon RDS API.

    catatan

    Proses promosi memakan waktu beberapa menit. Saat Anda mempromosikan replika baca, RDS menghentikan replikasi dan me-reboot replika baca. Saat boot ulang selesai, replika baca tersedia sebagai instans DB baru.

  2. (Opsional) Ubah instans DB baru menjadi deployment Multi-AZ. Untuk informasi lebih lanjut, lihat Memodifikasi instans DB Amazon RDS dan Mengonfigurasi dan mengelola deployment Multi-AZ.

Untuk mempromosikan replika baca menjadi instans DB mandiri
  1. Masuk ke AWS Management Console dan buka konsol Amazon RDS di https://console.aws.amazon.com/rds/.

  2. Di konsol Amazon RDS, pilih Basis Data.

    Panel Basis Data muncul. Setiap replika baca menampilkan Replika di kolom Peran.

  3. Pilih replika baca yang ingin Anda promosikan.

  4. Untuk Tindakan, pilih Promosikan.

  5. Di halaman Promosikan Replika Baca, masukkan periode retensi cadangan dan periode pencadangan untuk instans DB yang baru dipromosikan.

  6. Saat pengaturan sudah sesuai keinginan Anda, pilih Lanjutkan.

  7. Di halaman konfirmasi, pilih Promosikan Replika Baca.

Untuk mempromosikan replika baca ke instans DB mandiri, gunakan perintah. AWS CLI promote-read-replica

contoh

Untuk Linux, macOS, atau Unix:

aws rds promote-read-replica \ --db-instance-identifier myreadreplica

Untuk Windows:

aws rds promote-read-replica ^ --db-instance-identifier myreadreplica

Untuk mempromosikan replika baca menjadi instans DB mandiri, panggil operasi API Amazon RDS PromoteReadReplica dengan parameter wajib DBInstanceIdentifier.

Memantau replikasi baca

Anda dapat memantau status replika baca dengan beberapa cara. Konsol Amazon RDS menampilkan status replika baca di bagian Replikasi pada tab Konektivitas & keamanan di detail replika baca. Untuk melihat detail replika baca, pilih nama replika baca di daftar instans di konsol Amazon RDS.

Status replika baca

Anda juga dapat melihat status replika baca menggunakan AWS CLI describe-db-instances perintah atau operasi Amazon RDS APIDescribeDBInstances.

Status replika baca dapat berupa salah satu dari berikut ini:

  • mereplikasi – Replika baca berhasil direplikasi.

  • replikasi terdegradasi (hanya SQL Server dan PostgreSQL) – Replika menerima data dari instans primer, tetapi satu atau beberapa basis data mungkin tidak mendapatkan pembaruan. Hal ini bisa terjadi, misalnya, ketika replika sedang dalam proses menyiapkan basis data yang baru dibuat. Hal ini juga dapat terjadi ketika DDL yang tidak didukung atau perubahan objek besar dibuat di lingkungan blue dalam deployment blue/green.

    Statusnya tidak beralih dari replication degraded ke error, kecuali jika terjadi kesalahan selama status terdegradasi.

  • kesalahan – Telah terjadi kesalahan pada replikasi. Periksa kolom Kesalahan Replikasi di konsol Amazon RDS atau log peristiwa untuk menentukan kesalahan sebenarnya. Untuk informasi selengkapnya tentang pemecahan masalah kesalahan replikasi, lihat Memecahkan masalah replika SQL baca saya.

  • diakhiri (MariaDB, MySQL, atau PostgreSQL saja) – Replikasi diakhiri. Hal ini terjadi jika replikasi dihentikan selama lebih dari 30 hari berturut-turut, baik secara manual atau karena kesalahan replikasi. Jika ini terjadi, Amazon RDS menghentikan replikasi antara instans DB primer dan semua replika baca. Amazon RDS melakukannya untuk mencegah peningkatan kebutuhan penyimpanan pada instans DB sumber dan waktu failover yang lama.

    Replikasi yang rusak dapat memengaruhi penyimpanan karena ukuran dan jumlah log bertambah akibat tingginya volume pesan kesalahan yang ditulis ke log. Replikasi yang rusak juga dapat memengaruhi pemulihan kegagalan karena waktu yang diperlukan Amazon RDS untuk memelihara dan memproses log dalam jumlah besar selama pemulihan.

  • diakhiri (Oracle saja) – Replikasi diakhiri. Hal ini terjadi jika replikasi dihentikan selama lebih dari 8 jam karena penyimpanan yang tersisa tidak memadai di replika baca. Jika ini terjadi, Amazon RDS menghentikan replikasi antara instans DB primer dan replika baca yang terpengaruh. Status ini adalah status akhir, dan replika baca harus dibuat ulang.

  • dihentikan (MariaDB atau MySQL saja) – Replikasi telah dihentikan karena permintaan yang diajukan oleh pelanggan.

  • titik henti replikasi ditetapkan (MySQL saja) – Titik henti yang diajukan oleh pelanggan ditetapkan menggunakan prosedur tersimpan dan replikasi sedang berlangsung.

  • titik henti replikasi tercapai (MySQL saja) – Titik henti yang diajukan oleh pelanggan ditetapkan menggunakan prosedur tersimpan dan replikasi dihentikan karena titik henti tercapai.

Anda dapat melihat tempat instans DB sedang direplikasi dan jika demikian, memeriksa status replikasinya. Pada halaman Basis data di konsol RDS, Primer akan ditampilkan dalam kolom Peran. Pilih nama instans DB nya. Pada halaman detailnya, pada tab Konektivitas & keamanan, status replikasinya ada di bawah Replikasi.

Memantau lag replikasi

Anda dapat memantau kelambatan replikasi di Amazon CloudWatch dengan melihat metrik Amazon RDS. ReplicaLag

Untuk MariaDB dan MySQL, metrik ReplicaLag melaporkan nilai bidang Seconds_Behind_Master dari perintah SHOW REPLICA STATUS. Penyebab umum lag replikasi untuk MySQL dan MariaDB adalah sebagai berikut:

  • Pemadaman jaringan.

  • Menulis ke tabel dengan indeks pada replika baca. Jika parameter read_only tidak diatur ke 0 pada replika baca, hal ini dapat memecah replikasi.

  • Menggunakan mesin penyimpanan non-transaksional seperti MyISAM. Replikasi hanya didukung untuk mesin penyimpanan InnoDB pada MySQL dan mesin penyimpanan XtraDB pada MariaDB.

catatan

Versi sebelumnya dari MariaDB dan MySQL menggunakan SHOW SLAVE STATUS, bukan SHOW REPLICA STATUS. Jika Anda menggunakan versi MariaDB sebelum 10.5 atau versi MySQL sebelum 8.0.23, gunakan SHOW SLAVE STATUS.

Saat metrik ReplicaLag mencapai 0, replika telah menjadi instans DB primer. Jika metrik ReplicaLag menampilkan -1, maka replikasi saat ini tidak aktif. ReplicaLag = -1 setara dengan Seconds_Behind_Master = NULL.

Untuk Oracle, metrik ReplicaLag adalah jumlah dari nilai Apply Lag dan perbedaan antara waktu saat ini dan nilai DATUM_TIME untuk apply lag. Nilai DATUM_TIME adalah terakhir kali replika baca menerima data dari instans DB sumbernya. Untuk informasi selengkapnya, lihat V$DATAGUARD_STATS dalam dokumentasi Oracle.

Untuk SQL Server, metrik ReplicaLag adalah lag maksimum dari basis data yang tertinggal, dalam hitungan detik. Misalnya, jika Anda memiliki dua basis data yang masing-masing tertinggal 5 detik dan 10 detik, maka ReplicaLag adalah 10 detik. Metrik ReplicaLag menampilkan nilai dari kueri berikut.

SELECT MAX(secondary_lag_seconds) max_lag FROM sys.dm_hadr_database_replica_states;

Untuk informasi selengkapnya, lihat secondary_lag_seconds dalam dokumentasi Microsoft.

ReplicaLag menampilkan -1 jika RDS tidak dapat menentukan lag, seperti selama penyiapan replika, atau saat replika baca berada dalam status error.

catatan

Basis data baru tidak disertakan dalam penghitungan lag sampai basis data tersebut dapat diakses di replika baca.

Untuk PostgreSQL, metrik ReplicaLag menampilkan nilai dari kueri berikut.

SELECT extract(epoch from now() - pg_last_xact_replay_timestamp()) AS reader_lag

PostgreSQL versi 9.5.2 dan yang lebih baru menggunakan slot replikasi fisik untuk mengelola retensi write ahead log (WAL) pada instans sumber. Untuk setiap instans replika baca lintas Wilayah, Amazon RDS membuat slot replikasi fisik dan mengaitkannya dengan instans. Dua CloudWatch metrik Amazon, Oldest Replication Slot Lag danTransaction Logs Disk Usage, menunjukkan seberapa jauh di belakang replika yang paling tertinggal dalam hal data WAL yang diterima dan berapa banyak penyimpanan yang digunakan untuk data WAL. Nilai Transaction Logs Disk Usage dapat meningkat secara substansial ketika replika baca lintas Wilayah tertinggal secara signifikan.

Untuk informasi selengkapnya tentang memantau instans DB dengan CloudWatch, lihatMemantau metrik RDSAmazon Amazon dengan Amazon CloudWatch.

Membuat replika baca di tempat yang berbeda Wilayah AWS

Dengan Amazon RDS, Anda dapat membuat replika baca yang berbeda Wilayah AWS dari instans DB sumber.

Konfigurasi replika baca lintas Wilayah

Anda membuat replika baca di tempat yang berbeda Wilayah AWS untuk melakukan hal berikut:

  • Mengoptimalkan kemampuan pemulihan bencana Anda.

  • Skalakan operasi baca agar Wilayah AWS lebih dekat dengan pengguna Anda.

  • Buat lebih mudah untuk bermigrasi dari pusat data di satu Wilayah AWS ke pusat data di pusat data lainnya Wilayah AWS.

Membuat replika baca di instance yang berbeda Wilayah AWS dari sumber mirip dengan membuat replika dalam hal yang sama. Wilayah AWS Anda dapat menggunakan AWS Management Console, menjalankan create-db-instance-read-replicaperintah, atau memanggil operasi CreateDBInstanceReadReplicaAPI.

catatan

Untuk membuat replika baca terenkripsi yang berbeda Wilayah AWS dari instans DB sumber, instans DB sumber harus dienkripsi.

Wilayah dan ketersediaan versi

Ketersediaan dan dukungan fitur bervariasi di seluruh versi spesifik dari setiap mesin basis data, dan di seluruh Wilayah AWS. Untuk informasi selengkapnya tentang versi dan ketersediaan Wilayah dengan replikasi lintas Wilayah, lihat Daerah yang Didukung dan engine DB untuk replika baca lintas wilayah di Amazon RDS.

Membuat replika baca lintas Wilayah

Prosedur berikut menunjukkan cara membuat replika baca dari instans DB MariaDB, Microsoft SQL Server, MySQL, Oracle, atau PostgreSQL sumber di Wilayah AWS yang berbeda.

Anda dapat membuat replika baca Wilayah AWS menggunakan. AWS Management Console

Untuk membuat replika baca Wilayah AWS dengan konsol
  1. Masuk ke AWS Management Console dan buka konsol Amazon RDS di https://console.aws.amazon.com/rds/.

  2. Di panel navigasi, pilih Basis data.

  3. Pilih instans DB MariaDB, Microsoft SQL, MySQL, Oracle, atau PostgreSQL yang ingin Anda gunakan sebagai sumber replika baca.

  4. Untuk Tindakan, pilih Buat replika baca.

  5. Untuk Pengidentifikasi instans DB, masukkan nama replika baca.

  6. Pilih Wilayah Tujuan.

  7. Pilih spesifikasi instans yang ingin Anda gunakan. Kami menyarankan Anda menggunakan kelas dan jenis penyimpanan instans DB yang sama atau lebih besar untuk replika baca.

  8. Untuk membuat replika baca terenkripsi di tempat lain: Wilayah AWS

    1. Pilih Aktifkan enkripsi.

    2. Untuk AWS KMS key, pilih AWS KMS key pengenal kunci KMS di tujuan. Wilayah AWS

    catatan

    Untuk membuat replika baca terenkripsi, instans DB sumber harus dienkripsi. Untuk mempelajari selengkapnya tentang cara mengenkripsi instans DB sumber, lihat Mengenkripsi sumber daya Amazon RDS Amazon.

  9. Pilih opsi lainnya, seperti penskalaan otomatis penyimpanan.

  10. Pilih Buat replika baca.

Untuk membuat replika baca dari instans DB MySQL, Microsoft SQL Server, MariaDB, Oracle, atau PostgreSQL sumber di Wilayah AWS yang berbeda, Anda dapat menggunakan perintah create-db-instance-read-replica. Dalam hal ini, Anda menggunakan create-db-instance-read-replicadari Wilayah AWS tempat yang Anda inginkan replika baca (Wilayah tujuan) dan tentukan Nama Sumber Daya Amazon (ARN) untuk instans DB sumber. ARN secara unik mengidentifikasi sumber daya yang dibuat di Amazon Web Services.

Misalnya, jika instans DB sumber Anda berada di Wilayah AS Timur (Virginia Utara), ARN terlihat seperti contoh ini:

arn:aws:rds:us-east-1:123456789012:db:mydbinstance

Untuk informasi tentang ARN, lihat Nama Sumber Daya Amazon (ARNs) di Amazon RDS.

Untuk membuat replika baca di instans DB sumber yang berbeda Wilayah AWS , Anda dapat menggunakan AWS CLI create-db-instance-read-replicaperintah dari tujuan Wilayah AWS. Parameter berikut diperlukan untuk membuat replika baca di Wilayah AWS lain:

  • --region— Tujuan Wilayah AWS di mana replika baca dibuat.

  • --source-db-instance-identifier – Pengidentifikasi instans DB untuk instans DB sumber. Pengidentifikasi ini harus dalam format ARN untuk Wilayah AWS sumber.

  • --db-instance-identifier – Pengidentifikasi replika baca di Wilayah AWS tujuan.

contoh replika baca lintas Wilayah

Kode berikut membuat replika baca di Wilayah AS Barat (Oregon) dari instans DB sumber di Wilayah AS Timur (Virginia Utara).

Untuk Linux, macOS, atau Unix:

aws rds create-db-instance-read-replica \ --db-instance-identifier myreadreplica \ --region us-west-2 \ --source-db-instance-identifier arn:aws:rds:us-east-1:123456789012:db:mydbinstance

Untuk Windows:

aws rds create-db-instance-read-replica ^ --db-instance-identifier myreadreplica ^ --region us-west-2 ^ --source-db-instance-identifier arn:aws:rds:us-east-1:123456789012:db:mydbinstance

Parameter berikut juga diperlukan untuk membuat replika baca terenkripsi di Wilayah AWS lain:

  • --kms-key-id— AWS KMS key Pengidentifikasi kunci KMS yang digunakan untuk mengenkripsi replika baca di tujuan. Wilayah AWS

contoh replika baca lintas Wilayah terenkripsi

Kode berikut membuat replika baca terenkripsi di Wilayah AS Barat (Oregon) dari instans DB sumber di Wilayah AS Timur (Virginia Utara).

Untuk Linux, macOS, atau Unix:

aws rds create-db-instance-read-replica \ --db-instance-identifier myreadreplica \ --region us-west-2 \ --source-db-instance-identifier arn:aws:rds:us-east-1:123456789012:db:mydbinstance \ --kms-key-id my-us-west-2-key

Untuk Windows:

aws rds create-db-instance-read-replica ^ --db-instance-identifier myreadreplica ^ --region us-west-2 ^ --source-db-instance-identifier arn:aws:rds:us-east-1:123456789012:db:mydbinstance ^ --kms-key-id my-us-west-2-key

--source-regionOpsi ini diperlukan saat Anda membuat replika baca terenkripsi antara Wilayah AWS GovCloud (AS-Timur) dan AWS GovCloud (AS-Barat). Untuk --source-region, tentukan Wilayah AWS instans DB sumber.

Jika --source-region tidak ditentukan, tentukan nilai --pre-signed-url. URL yang telah ditandatangani adalah URL yang berisi permintaan bertanda tangan Signature Versi 4 untuk perintah create-db-instance-read-replica yang dipanggil di Wilayah AWS sumber. Untuk mempelajari lebih lanjut tentang pre-signed-url opsi, lihat create-db-instance-read-replica di AWS CLI Command Reference.

Untuk membuat replika baca dari sumber MySQL, Microsoft SQL Server, MariaDB, Oracle, atau PostgreSQL DB instans yang berbeda, Anda dapat memanggil operasi Amazon RDS API CreateDB. Wilayah AWS InstanceReadReplica Dalam kasus ini, Anda memanggil createDB InstanceReadReplica dari Wilayah AWS tempat yang Anda inginkan replika baca (Wilayah tujuan) dan tentukan Nama Sumber Daya Amazon (ARN) untuk instans DB sumber. ARN secara unik mengidentifikasi sumber daya yang dibuat di Amazon Web Services.

Untuk membuat replika baca terenkripsi di instans DB sumber yang Wilayah AWS berbeda, Anda dapat menggunakan CreateDBInstanceReadReplicaoperasi Amazon RDS API dari tujuan. Wilayah AWS Untuk membuat replika baca terenkripsi di tempat lain Wilayah AWS, Anda harus menentukan nilai untuk. PreSignedURL PreSignedURLharus berisi permintaan CreateDBInstanceReadReplicaoperasi untuk memanggil sumber Wilayah AWS tempat replika baca dibuat. Untuk mempelajari lebih lanjut tentang PreSignedUrl, lihat CreateDBInstanceReadReplica.

Misalnya, jika instans DB sumber Anda berada di Wilayah AS Timur (Virginia Utara), ARN terlihat seperti yang berikut ini.

arn:aws:rds:us-east-1:123456789012:db:mydbinstance

Untuk informasi tentang ARN, lihat Nama Sumber Daya Amazon (ARNs) di Amazon RDS.

contoh
https://us-west-2.rds.amazonaws.com/ ?Action=CreateDBInstanceReadReplica &KmsKeyId=my-us-east-1-key &PreSignedUrl=https%253A%252F%252Frds.us-west-2.amazonaws.com%252F %253FAction%253DCreateDBInstanceReadReplica %2526DestinationRegion%253Dus-east-1 %2526KmsKeyId%253Dmy-us-east-1-key %2526SourceDBInstanceIdentifier%253Darn%25253Aaws%25253Ards%25253Aus-west-2%123456789012%25253Adb%25253Amydbinstance %2526SignatureMethod%253DHmacSHA256 %2526SignatureVersion%253D4%2526SourceDBInstanceIdentifier%253Darn%25253Aaws%25253Ards%25253Aus-west-2%25253A123456789012%25253Ainstance%25253Amydbinstance %2526Version%253D2014-10-31 %2526X-Amz-Algorithm%253DAWS4-HMAC-SHA256 %2526X-Amz-Credential%253DAKIADQKE4SARGYLE%252F20161117%252Fus-west-2%252Frds%252Faws4_request %2526X-Amz-Date%253D20161117T215409Z %2526X-Amz-Expires%253D3600 %2526X-Amz-SignedHeaders%253Dcontent-type%253Bhost%253Buser-agent%253Bx-amz-content-sha256%253Bx-amz-date %2526X-Amz-Signature%253D255a0f17b4e717d3b67fad163c3ec26573b882c03a65523522cf890a67fca613 &DBInstanceIdentifier=myreadreplica &SourceDBInstanceIdentifier=&region-arn;rds:us-east-1:123456789012:db:mydbinstance &Version=2012-01-15 &SignatureVersion=2 &SignatureMethod=HmacSHA256 &Timestamp=2012-01-20T22%3A06%3A23.624Z &AWSAccessKeyId=<&AWS; Access Key ID> &Signature=<Signature>

Cara Amazon RDS melakukan replikasi lintas Wilayah

Amazon RDS menggunakan proses berikut untuk membuat replika baca lintas Wilayah. Bergantung pada yang Wilayah AWS terlibat dan jumlah data dalam database, proses ini dapat memakan waktu berjam-jam untuk diselesaikan. Anda dapat menggunakan informasi ini untuk menentukan sejauh mana proses telah berjalan saat Anda membuat replika baca lintas Wilayah:

  1. Amazon RDS mulai mengonfigurasi instans DB sumber sebagai sumber replikasi dan mengatur statusnya menjadi memodifikasi.

  2. Amazon RDS mulai menyiapkan replika baca yang ditentukan di tujuan Wilayah AWS dan menetapkan status untuk dibuat.

  3. Amazon RDS membuat snapshot DB otomatis dari instans DB sumber di Wilayah AWS sumber. Format nama snapshot DB adalah rds:<InstanceID>-<timestamp>, dengan <InstanceID> adalah pengidentifikasi instans sumber, dan <timestamp> adalah tanggal dan waktu penyalinan dimulai. Misalnya, rds:mysourceinstance-2013-11-14-09-24 dibuat dari instans mysourceinstance pada 2013-11-14-09-24. Selama pembuatan snapshot DB otomatis, status instans DB sumber tetap memodifikasi, status replika baca tetap membuat, dan status snapshot DB adalah membuat. Kolom progres pada halaman snapshot DB di konsol melaporkan seberapa jauh pembuatan snapshot DB telah berlangsung. Ketika snapshot DB selesai, status snapshot DB dan instans DB sumber diatur ke tersedia.

  4. Amazon RDS memulai penyalinan snapshot lintas Wilayah untuk transfer data awal. Salinan snapshot terdaftar sebagai snapshot otomatis di tujuan Wilayah AWS dengan status pembuatan. Salinan ini memiliki nama yang sama dengan snapshot DB sumber. Kolom progres tampilan snapshot DB menunjukkan sejauh mana progres penyalinan. Ketika penyalinan selesai, status salinan snapshot DB diatur ke tersedia.

  5. Amazon RDS kemudian menggunakan snapshot DB yang disalin untuk pemuatan data awal pada replika baca. Selama fase ini, replika baca ada dalam daftar instans DB di Wilayah tujuan, dengan status membuat. Ketika pemuatan selesai, status replika baca diatur ke tersedia, dan salinan snapshot DB dihapus.

  6. Saat replika baca mencapai status tersedia, Amazon RDS memulai dengan mereplikasi perubahan yang dibuat ke instans sumber sejak dimulainya operasi buat replika baca. Selama fase ini, waktu lag replikasi untuk replika baca lebih besar dari 0.

    Untuk informasi tentang waktu lag replikasi, lihat Memantau replikasi baca.

Pertimbangan replikasi lintas Wilayah

Semua pertimbangan untuk melakukan replikasi dalam Wilayah AWS berlaku untuk replikasi lintas wilayah. Pertimbangan tambahan berikut berlaku saat mereplikasi di antara Wilayah AWS:

  • Instans DB sumber dapat memiliki replika baca lintas Wilayah di beberapa Wilayah AWS. Karena batasan jumlah entri daftar kontrol akses (ACL) untuk VPC sumber, RDS tidak dapat menjamin lebih dari lima instans DB replika baca lintas wilayah.

  • Anda dapat mereplikasi antara Wilayah GovCloud (AS-Timur) dan GovCloud (AS-Barat), tetapi tidak masuk atau keluar dari GovCloud (AS).

  • Untuk instans DB Microsoft SQL Server, Oracle, dan PostgreSQL, Anda hanya dapat membuat replika baca Amazon RDS lintas Wilayah dari instans Amazon RDS sumber yang bukan replika baca dari instans DB Amazon RDS lainnya. Batasan ini tidak berlaku untuk instans DB MariaDB dan MySQL.

  • Anda dapat mengharapkan untuk melihat tingkat jeda waktu yang lebih tinggi untuk replika baca apa pun yang berbeda Wilayah AWS dari contoh sumber. Waktu lag ini berasal dari saluran jaringan yang lebih panjang antar-pusat data regional.

  • Untuk replika baca lintas Wilayah, setiap perintah buat replika baca yang menentukan parameter --db-subnet-group-name harus menentukan grup subnet DB dari VPC yang sama.

  • Dalam kebanyakan kasus, replika baca menggunakan grup parameter DB dan grup opsi DB default untuk mesin DB yang ditentukan.

    Untuk mesin MySQL dan Oracle DB, Anda dapat menentukan grup parameter khusus untuk replika baca dalam --db-parameter-group-name opsi perintah. AWS CLI create-db-instance-read-replica Anda tidak dapat menentukan grup parameter kustom saat menggunakan AWS Management Console.

  • Replika baca menggunakan grup keamanan default.

  • Untuk instans DB MariaDB, Microsoft SQL Server, MySQL, dan Oracle, ketika instans DB sumber untuk replika baca lintas Wilayah dihapus, replika baca tersebut akan dipromosikan.

  • Untuk instans DB PostgreSQL, ketika instans DB sumber untuk replika baca lintas Wilayah dihapus, status replikasi replika baca diatur ke terminated. Replika baca tidak dipromosikan.

    Anda harus mempromosikan replika baca secara manual atau menghapusnya.

Meminta replika baca lintas Wilayah

Untuk berkomunikasi dengan Wilayah sumber untuk meminta pembuatan replika baca lintas Wilayah, pemohon (peran IAM atau pengguna IAM) harus memiliki akses ke instans DB sumber dan Wilayah sumber.

Kondisi tertentu dalam kebijakan IAM pemohon dapat menyebabkan permintaan ini gagal. Contoh berikut berasumsi bahwa instans DB sumber berada di AS Timur (Ohio) dan replika baca dibuat di AS Timur (Virginia Utara). Contoh ini menunjukkan kondisi dalam kebijakan IAM pemohon yang menyebabkan permintaan gagal:

  • Kebijakan pemohon memiliki kondisi untuk aws:RequestedRegion.

    ... "Effect": "Allow", "Action": "rds:CreateDBInstanceReadReplica", "Resource": "*", "Condition": { "StringEquals": { "aws:RequestedRegion": "us-east-1" } }

    Permintaan gagal karena kebijakan tidak mengizinkan akses ke Wilayah sumber. Agar permintaan berhasil, tentukan Wilayah sumber dan tujuan.

    ... "Effect": "Allow", "Action": "rds:CreateDBInstanceReadReplica", "Resource": "*", "Condition": { "StringEquals": { "aws:RequestedRegion": [ "us-east-1", "us-east-2" ] } }
  • Kebijakan milik pemohon tidak mengizinkan akses ke instans DB sumber.

    ... "Effect": "Allow", "Action": "rds:CreateDBInstanceReadReplica", "Resource": "arn:aws:rds:us-east-1:123456789012:db:myreadreplica" ...

    Agar permintaan berhasil, tentukan instans sumber dan replikanya.

    ... "Effect": "Allow", "Action": "rds:CreateDBInstanceReadReplica", "Resource": [ "arn:aws:rds:us-east-1:123456789012:db:myreadreplica", "arn:aws:rds:us-east-2:123456789012:db:mydbinstance" ] ...
  • Kebijakan milik pemohon menolak aws:ViaAWSService.

    ... "Effect": "Allow", "Action": "rds:CreateDBInstanceReadReplica", "Resource": "*", "Condition": { "Bool": {"aws:ViaAWSService": "false"} }

    Komunikasi dengan Wilayah sumber dibuat oleh RDS atas nama pemohon. Untuk permintaan yang berhasil, jangan menolak panggilan yang dilakukan oleh AWS layanan.

  • Kebijakan pemohon memiliki kondisi untuk aws:SourceVpc atau aws:SourceVpce.

    Permintaan ini mungkin gagal karena ketika RDS membuat panggilan ke Wilayah jarak jauh, panggilan tersebut bukan dari VPC yang ditentukan atau titik akhir VPC.

Jika Anda perlu menggunakan salah satu kondisi sebelumnya yang akan menyebabkan permintaan gagal, Anda dapat menyertakan pernyataan kedua dengan aws:CalledVia dalam kebijakan Anda untuk membuat permintaan berhasil. Misalnya, Anda dapat menggunakan aws:CalledVia dengan aws:SourceVpce seperti yang ditunjukkan di sini:

... "Effect": "Allow", "Action": "rds:CreateDBInstanceReadReplica", "Resource": "*", "Condition": { "Condition" : { "ForAnyValue:StringEquals" : { "aws:SourceVpce": "vpce-1a2b3c4d" } } }, { "Effect": "Allow", "Action": [ "rds:CreateDBInstanceReadReplica" ], "Resource": "*", "Condition": { "ForAnyValue:StringEquals": { "aws:CalledVia": [ "rds.amazonaws.com" ] } } }

Untuk informasi selengkapnya, lihat Kebijakan dan izin di IAM dalam Panduan Pengguna IAM.

Mengotorisasi replika baca

Setelah permintaan pembuatan replika baca DB lintas Wilayah menampilkan success, RDS memulai pembuatan replika di latar belakang. Otorisasi agar RDS dapat mengakses instans DB sumber telah dibuat. Otorisasi ini menghubungkan instans DB sumber ke replika baca, dan mengizinkan RDS untuk menyalin hanya ke replika baca yang ditentukan.

Otorisasi ini diverifikasi oleh RDS menggunakan izin rds:CrossRegionCommunication dalam peran IAM terkait layanan. Jika replika sudah diotorisasi, RDS berkomunikasi dengan Wilayah sumber dan menyelesaikan pembuatan replika.

RDS tidak memiliki akses ke instans DB yang tidak diotorisasi sebelumnya oleh permintaan CreateDBInstanceReadReplica. Otorisasi dicabut saat pembuatan replika baca selesai.

RDS menggunakan peran terkait layanan untuk memverifikasi otorisasi di Wilayah sumber. Jika Anda menghapus peran terkait layanan selama proses pembuatan replika, maka pembuatan tersebut gagal.

Untuk informasi selengkapnya, lihat Menggunakan peran terkait layanan dalam Panduan Pengguna IAM.

Menggunakan AWS Security Token Service kredensyal

Token sesi dari titik akhir global AWS Security Token Service (AWS STS) hanya valid di Wilayah AWS yang diaktifkan secara default (Wilayah komersial). Jika Anda menggunakan kredensil dari operasi assumeRole API di AWS STS, gunakan titik akhir regional jika Wilayah sumber adalah Region keikutsertaan. Jika tidak, permintaan akan gagal. Hal ini terjadi karena kredensil Anda harus valid di kedua Wilayah, yang berlaku untuk Wilayah keikutsertaan hanya jika titik AWS STS akhir regional digunakan.

Untuk menggunakan titik akhir global, pastikan bahwa titik akhir tersebut diaktifkan untuk kedua Wilayah dalam operasi. Setel titik akhir global ke Valid in all Wilayah AWS dalam pengaturan AWS STS akun.

Aturan yang sama berlaku untuk kredensial dalam parameter URL yang telah ditandatangani sebelumnya.

Untuk informasi selengkapnya, lihat Mengelola AWS STSWilayah AWS dalam Panduan Pengguna IAM.

Biaya replikasi lintas Wilayah

Data yang ditransfer untuk replikasi lintas Wilayah akan menimbulkan biaya transfer data Amazon RDS. Tindakan replikasi lintas Wilayah ini menimbulkan biaya untuk data yang ditransfer keluar dari Wilayah AWS sumber:

  • Saat Anda membuat replika baca, Amazon RDS mengambil snapshot dari instans sumber dan mentransfer snapshot tersebut ke Wilayah AWS replika baca.

  • Untuk setiap modifikasi data yang dibuat dalam database sumber, Amazon RDS mentransfer data dari sumber Wilayah AWS ke replika baca. Wilayah AWS

Untuk informasi selengkapnya tentang biaya transfer data, lihat Harga Amazon RDS.

Untuk instans MySQL dan MariaDB, Anda dapat mengurangi biaya transfer data dengan mengurangi jumlah replika baca lintas Wilayah yang Anda buat. Misalnya, misalkan Anda memiliki instance DB sumber di satu Wilayah AWS dan ingin memiliki tiga replika baca di yang lain Wilayah AWS. Dalam kasus ini, Anda perlu membuat hanya satu replika baca dari instans DB sumber. Anda membuat dua replika lainnya dari replika baca pertama, bukan instans DB sumber.

Misalnya, jika Anda memilikinya source-instance-1 Wilayah AWS, Anda dapat melakukan hal berikut:

  • Buat read-replica-1 yang baru Wilayah AWS, tentukan source-instance-1 sebagai sumbernya.

  • Buat read-replica-2 dari read-replica-1.

  • Buat read-replica-3 dari read-replica-1.

Dalam contoh ini, Anda hanya dikenai biaya untuk data yang ditransfer dari source-instance-1 ke read-replica-1. Anda tidak dikenai biaya untuk data yang ditransfer dari read-replica-1 ke dua replika lainnya karena semuanya berada di Wilayah AWS yang sama. Jika Anda membuat ketiga replika langsung dari source-instance-1, Anda akan dikenai biaya transfer data ke ketiga replika tersebut.