Menggunakan Redis sebagai target AWS Database Migration Service - AWS Layanan Migrasi Database

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

Menggunakan Redis sebagai target AWS Database Migration Service

Redis adalah penyimpanan struktur data dalam memori sumber terbuka yang digunakan sebagai database, cache, dan broker pesan. Mengelola data dalam memori dapat menghasilkan operasi baca atau tulis yang memakan waktu kurang dari satu milidetik, dan ratusan juta operasi dilakukan setiap detik. Sebagai penyimpanan data dalam memori, Redis memberi daya pada aplikasi yang paling menuntut yang membutuhkan waktu respons sub-milidetik.

Dengan menggunakan AWS DMS, Anda dapat memigrasikan data dari database sumber apa pun yang didukung ke penyimpanan data Redis target dengan waktu henti minimal. Untuk informasi tambahan tentang Redis lihat, Dokumentasi Redis.

Selain Redis lokal, AWS Database Migration Service mendukung hal berikut:

  • Amazon ElastiCache untuk Redis sebagai penyimpanan data target. ElastiCache untuk Redis bekerja dengan klien Redis Anda dan menggunakan format data Redis terbuka untuk menyimpan data Anda.

  • Amazon MemoryDB untuk Redis sebagai penyimpanan data target. MemoryDB kompatibel dengan Redis dan memungkinkan Anda untuk membangun aplikasi menggunakan semua struktur data Redis, API, dan perintah yang digunakan saat ini.

Untuk informasi tambahan tentang bekerja dengan Redis sebagai target AWS DMS, lihat bagian berikut:

Prasyarat untuk menggunakan cluster Redis sebagai target AWS DMS

DMS mendukung target Redis lokal dalam konfigurasi mandiri, atau sebagai kluster Redis di mana data secara otomatis di-sharded di beberapa node. Sharding adalah proses memisahkan data menjadi potongan-potongan kecil yang disebut pecahan yang tersebar di beberapa server atau node. Akibatnya, pecahan adalah partisi data yang berisi subset dari total kumpulan data, dan melayani sepotong beban kerja keseluruhan.

Karena Redis adalah penyimpanan data NoSQL nilai-kunci, konvensi penamaan kunci Redis yang akan digunakan ketika sumber Anda adalah database relasional, adalah schema-name.table-name.primary-key. Di Redis, kunci dan nilai tidak boleh mengandung karakter khusus%. Jika tidak, DMS melewatkan catatan.

catatan

Jika Anda menggunakan ElastiCache Redis sebagai target, DMS hanya mendukung konfigurasi yang diaktifkan mode cluster. Untuk informasi selengkapnya tentang penggunaan ElastiCache Redis versi 6.x atau yang lebih tinggi untuk membuat penyimpanan data target yang diaktifkan mode cluster, lihat Memulai di Panduan Pengguna Amazon ElastiCache for Redis.

Sebelum memulai migrasi database, luncurkan klaster Redis Anda dengan kriteria berikut.

  • Cluster Anda memiliki satu atau lebih pecahan.

  • Jika Anda menggunakan target ElastiCache for Redis, pastikan klaster Anda tidak menggunakan kontrol akses berbasis peran IAM. Sebagai gantinya, gunakan Redis Auth untuk mengautentikasi pengguna.

  • Aktifkan Multi-AZ (Availability Zones).

  • Pastikan klaster memiliki memori yang cukup yang tersedia agar sesuai dengan data yang akan dimigrasi dari database Anda.

  • Pastikan bahwa kluster Redis target Anda bersih dari semua data sebelum memulai tugas migrasi awal.

Anda harus menentukan persyaratan keamanan untuk migrasi data sebelum membuat konfigurasi klaster Anda. DMS mendukung migrasi untuk menargetkan grup replikasi terlepas dari konfigurasi enkripsi mereka. Tetapi Anda dapat mengaktifkan atau menonaktifkan enkripsi hanya ketika Anda membuat konfigurasi cluster Anda.

Keterbatasan saat menggunakan Redis sebagai target AWS Database Migration Service

Batasan berikut berlaku saat menggunakan Redis sebagai target:

  • Karena Redis adalah penyimpanan data no-sql nilai-kunci, konvensi penamaan kunci Redis untuk digunakan ketika sumber Anda adalah database relasional, adalah. schema-name.table-name.primary-key

  • Di Redis, nilai kunci tidak dapat berisi karakter khusus. % Jika tidak, DMS melewatkan catatan.

  • DMS tidak akan memigrasikan baris yang berisi karakter. %

  • DMS tidak akan memigrasikan bidang yang berisi % karakter dalam nama bidang.

  • Mode LOB penuh tidak didukung.

  • Private Certificate Authority (CA) tidak didukung saat menggunakan ElastiCache Redis sebagai target.

Migrasi data dari database relasional atau non-relasional ke target Redis

Anda dapat memigrasikan data dari sumber SQL atau penyimpanan data NoSQL langsung ke target Redis. Menyiapkan dan memulai migrasi ke target Redis mirip dengan pemuatan penuh dan mengubah migrasi pengambilan data menggunakan konsol DMS atau API. Untuk melakukan migrasi database ke target Redis, Anda melakukan hal berikut.

  • Membuat instans replikasi untuk melakukan semua proses untuk migrasi. Untuk informasi selengkapnya, lihat Membuat instans replikasi.

  • Tentukan titik akhir sumber. Untuk informasi selengkapnya, lihat Membuat titik akhir sumber dan target.

  • Temukan nama DNS dan nomor port cluster Anda.

  • Unduh bundel sertifikat yang dapat Anda gunakan untuk memverifikasi koneksi SSL.

  • Tentukan titik akhir target, seperti yang dijelaskan di bawah ini.

  • Buat tugas atau serangkaian tugas untuk menentukan tabel dan proses replikasi apa yang ingin Anda gunakan. Untuk informasi selengkapnya, lihat Membuat tugas.

  • Migrasikan data dari database sumber Anda ke kluster target Anda.

Anda memulai migrasi database dengan salah satu dari dua cara:

  1. Anda dapat memilih AWS DMS konsol dan melakukan setiap langkah di sana.

  2. Anda dapat menggunakan AWS Command Line Interface (AWS CLI). Untuk informasi lebih lanjut tentang menggunakan CLI dengan AWS DMS, lihat AWS CLI untuk. AWS DMS

Untuk menemukan nama DNS dan nomor port cluster Anda
  • Gunakan AWS CLI perintah berikut untuk memberikan nama grup replikasi Anda. replication-group-id

    aws elasticache describe-replication-groups --replication-group-id myreplgroup

    Di sini, output menunjukkan nama DNS dalam Address atribut dan nomor port dalam Port atribut node utama di cluster.

    ... "ReadEndpoint": { "Port": 6379, "Address": "myreplgroup- 111.1abc1d.1111.uuu1.cache.example.com" } ...

    Jika Anda menggunakan MemoryDB untuk Redis sebagai target Anda, gunakan AWS CLI perintah berikut untuk memberikan alamat endpoint ke cluster Redis Anda.

    aws memorydb describe-clusters --clusterid clusterid
Unduh bundel sertifikat untuk digunakan untuk memverifikasi koneksi SSL
  • Masukkan wget perintah berikut di baris perintah. Wget adalah alat utilitas baris perintah GNU gratis yang digunakan untuk mengunduh file dari internet.

    wget https://s3.aws-api-domain/rds-downloads/rds-combined-ca-bundle.pem

    Di sini, aws-api-domain lengkapi domain Amazon S3 di Wilayah AWS Anda yang diperlukan untuk mengakses bucket S3 tertentu dan rds-combined-ca-bundle file.pem yang disediakannya.

Untuk membuat titik akhir target menggunakan konsol AWS DMS

Titik akhir ini untuk target Redis Anda yang sudah berjalan.

  • Pada konsol tersebut, memilih Titik Akhir dari panel navigasi dan kemudian memilih Membuat Titik Akhir. Tabel berikut menjelaskan pengaturan.

    Untuk opsi ini Lakukan ini

    Jenis titik akhir

    Pilih jenis titik akhir Target.

    Pengidentifikasi titik akhir

    Masukkan nama titik akhir Anda. Misalnya, sertakan jenis titik akhir dalam nama, sepertimy-redis-target.

    Mesin target

    Pilih Redis sebagai jenis mesin database yang Anda ingin titik akhir ini terhubung.

    Nama cluster

    Masukkan nama DNS cluster Redis Anda.

    Port

    Masukkan nomor port cluster Redis Anda.

    Protokol keamanan SSL

    Pilih teks biasa atau enkripsi SSL.

    Teks biasa —Opsi ini tidak menyediakan enkripsi Transport Layer Security (TLS) untuk lalu lintas antara endpoint dan database.

    Enkripsi SSL —Jika Anda memilih opsi ini, masukkan sertifikat SSL Certificate Authority (CA) ARN untuk memverifikasi sertifikat server dan membuat koneksi terenkripsi.

    Untuk Redis lokal, DMS mendukung Otoritas Sertifikat publik dan swasta (CA). ElastiCache Untuk Redis, DMS hanya mendukung CA publik.

    Jenis otentikasi

    Pilih jenis otentikasi yang akan dilakukan saat menghubungkan ke Redis. Opsi termasuk, Tidak Ada, peran Otentikasi, dan token Otentikasi.

    Jika Anda memilih peran Otentikasi, berikan nama pengguna Otentikasi dan kata sandi Otentikasi.

    Jika Anda memilih Token otentikasi, berikan kata sandi Otentikasi saja.

    Contoh replikasi

    [Opsional] Hanya jika Anda ingin menguji koneksi Anda, pilih nama instance replikasi yang sebelumnya Anda masukkan di halaman Buat contoh replikasi.

Setelah Anda selesai memberikan semua informasi untuk titik akhir Anda, AWS DMS buat titik akhir target Redis Anda untuk digunakan selama migrasi database.

Untuk informasi tentang membuat tugas migrasi dan memulai migrasi database, lihatMembuat tugas.

Menentukan pengaturan titik akhir untuk Redis sebagai target

Untuk membuat atau mengubah titik akhir target, Anda dapat menggunakan konsol atau CreateEndpoint atau Operasi API ModifyEndpoint.

Untuk target Redis di AWS DMS konsol, tentukan pengaturan khusus titik akhir pada halaman Buat titik akhir atau Ubah konsol titik akhir.

Saat menggunakan CreateEndpoint dan operasi ModifyEndpoint API, tentukan parameter permintaan untuk RedisSettings opsi tersebut. Contoh berikut menunjukkan bagaimana melakukan hal ini menggunakan AWS CLI.

aws dms create-endpoint --endpoint-identifier my-redis-target --endpoint-type target --engine-name redis --redis-settings '{"ServerName":"sample-test-sample.zz012zz.cluster.eee1.cache.bbbxxx.com","Port":6379,"AuthType":"auth-token", "SslSecurityProtocol":"ssl-encryption", "AuthPassword":"notanactualpassword"}' { "Endpoint": { "EndpointIdentifier": "my-redis-target", "EndpointType": "TARGET", "EngineName": "redis", "EngineDisplayName": "Redis", "TransferFiles": false, "ReceiveTransferredFiles": false, "Status": "active", "KmsKeyId": "arn:aws:kms:us-east-1:999999999999:key/x-b188188x", "EndpointArn": "arn:aws:dms:us-east-1:555555555555:endpoint:ABCDEFGHIJKLMONOPQRSTUVWXYZ", "SslMode": "none", "RedisSettings": { "ServerName": "sample-test-sample.zz012zz.cluster.eee1.cache.bbbxxx.com", "Port": 6379, "SslSecurityProtocol": "ssl-encryption", "AuthType": "auth-token" } } }

--redis-settingsParameternya mengikuti:

  • ServerName— (Wajib) Tipestring, menentukan kluster Redis tempat data akan dimigrasi, dan berada di VPC Anda yang sama.

  • Port— (Wajib) Dari jenisnumber, nilai port yang digunakan untuk mengakses titik akhir.

  • SslSecurityProtocol— (Opsional) Nilai yang valid termasuk plaintext danssl-encryption. Nilai default-nya ssl-encryption.

    plaintextOpsi ini tidak menyediakan enkripsi Transport Layer Security (TLS) untuk lalu lintas antara endpoint dan database.

    Gunakan ssl-encryption untuk membuat koneksi terenkripsi. ssl-encryptiontidak memerlukan SSL Certificate Authority (CA) ARN untuk memverifikasi sertifikat server, tetapi dapat diidentifikasi secara opsional menggunakan pengaturan. SslCaCertificateArn Jika ARN otoritas sertifikat tidak diberikan, DMS menggunakan root CA Amazon.

    Saat menggunakan target Redis lokal, Anda dapat menggunakannya SslCaCertificateArn untuk mengimpor Otoritas Sertifikat (CA) publik atau pribadi ke dalam DMS, dan menyediakan ARN tersebut untuk otentikasi server. CA pribadi tidak didukung saat menggunakan ElastiCache Redis sebagai target.

  • AuthType— (Wajib) Menunjukkan jenis otentikasi yang harus dilakukan saat menghubungkan ke Redis. Nilai yang valid termasuk none, auth-token, dan auth-role.

    auth-tokenOpsi ini membutuhkan "AuthPassword" disediakan, sedangkan auth-role opsi membutuhkan "AuthUserName" dan "AuthPassword" disediakan.