Membuat replika baca di Wilayah AWS yang berbeda - 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.

Membuat replika baca di Wilayah AWS yang berbeda

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.

  • Skala operasi baca menjadi 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 pengidentifikasi AWS KMS key kunci KMS di Wilayah AWS tujuan.

    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.

  9. Pilih opsi lainnya, seperti penskalaan otomatis penyimpanan.

  10. Pilih Buat replika baca.

Untuk membuat replika baca dari sumber MariaDB, Microsoft SQL Server, MySQL, Oracle, atau PostgreSQL DB instance yang berbeda, Anda dapat menggunakan perintah. Wilayah AWScreate-db-instance-read-replica Dalam kasus ini, Anda menggunakan create-db-instance-read-replica dari Wilayah AWS tempat Anda ingin replika baca berada (Wilayah tujuan) dan menentukan Amazon Resource Name (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 ARNs, lihatNama 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 MariaDB, MySQL, Microsoft SQL Server, Oracle, atau PostgreSQL DB instance yang berbeda, Anda dapat memanggil operasi Amazon RDS API Create. Wilayah AWS DBInstance ReadReplica Dalam kasus ini, Anda memanggil Buat DBInstance ReadReplica dari Wilayah AWS tempat Anda ingin 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 ARNs, lihatNama 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 mengatur replika baca yang ditentukan di Wilayah AWS tujuan dan mengatur statusnya menjadi membuat.

  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 tercantum sebagai snapshot otomatis di Wilayah AWS tujuan dengan status membuat. 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 mesin RDS berikut, Anda dapat membuat replika baca Amazon RDS lintas wilayah dari instans Amazon RDS DB sumber hanya jika itu bukan replika baca instans Amazon RDS DB lainnya:

    • RDS for SQL Server

    • RDS for Oracle

    • RDS untuk versi PostgreSQL lebih rendah dari 14.1

    Batasan ini tidak berlaku untuk instans DB yang menjalankan RDS untuk PostgreSQL versi 14.1 dan lebih tinggi, RDS untuk MariaDB, dan RDS untuk 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 Db2 DB, Anda harus menentukan grup parameter khusus untuk replika. Untuk replika yang menggunakan model BYOL, grup parameter kustom ini harus menyertakan IBM Site ID dan. IBM Customer ID Anda dapat menentukan grup parameter kustom ini untuk replika dengan menggunakan AWS Management Console, AWS CLI, atau RDS API. Untuk informasi selengkapnya, lihat IBM IDsuntuk Bawa Lisensi Anda Sendiri untuk Db2.

    Untuk mesin MySQL dan Oracle DB, Anda dapat menentukan grup parameter kustom untuk replika baca dalam --db-parameter-group-name opsi perintah -replica. AWS CLI create-db-instance-read 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 tolak panggilan yang dibuat oleh layanan AWS .

  • 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 kredensil

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 sumber.

  • 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 yang lain Wilayah AWS, Anda dikenakan biaya untuk transfer data ke ketiga replika.