

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

# Menggunakan Redis OSS sebagai target AWS Database Migration Service
<a name="CHAP_Target.Redis"></a>

Redis OSS 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 OSS 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 OSS target dengan waktu henti minimal. Untuk informasi tambahan tentang Redis OSS lihat, [Redis](https://redis.io/documentation) OSS Dokumentasi.

Selain Redis OSS lokal, AWS Database Migration Service mendukung hal berikut:
+ [Amazon ElastiCache (Redis OSS)](https://aws.amazon.com/elasticache/redis/) sebagai penyimpanan data target. ElastiCache (Redis OSS) bekerja dengan klien Redis OSS Anda dan menggunakan format data Redis OSS terbuka untuk menyimpan data Anda.
+ [Amazon MemoryDB](https://aws.amazon.com/memorydb/) sebagai penyimpanan data target. MemoryDB kompatibel dengan Redis OSS dan memungkinkan Anda untuk membangun aplikasi menggunakan semua struktur data Redis OSS, APIs, dan perintah yang digunakan saat ini.

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

**Topics**
+ [Prasyarat untuk menggunakan cluster Redis OSS sebagai target AWS DMS](#CHAP_Target.Redis.Prerequisites)
+ [Keterbatasan saat menggunakan Redis sebagai target AWS Database Migration Service](#CHAP_Target.Redis.Limitations)
+ [Migrasi data dari database relasional atau non-relasional ke target Redis OSS](#CHAP_Target.Redis.Migrating)
+ [Menentukan pengaturan titik akhir untuk Redis OSS sebagai target](#CHAP_Target.Redis.EndpointSettings)

## Prasyarat untuk menggunakan cluster Redis OSS sebagai target AWS DMS
<a name="CHAP_Target.Redis.Prerequisites"></a>

*DMS mendukung target Redis OSS lokal dalam konfigurasi mandiri, atau sebagai kluster Redis OSS 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 OSS adalah penyimpanan data NoSQL nilai-kunci, konvensi penamaan kunci Redis OSS untuk digunakan ketika sumber Anda adalah database relasional, adalah schema-name.table-name.primary-key.** Dalam Redis OSS, kunci dan nilai tidak boleh mengandung karakter khusus%. Jika tidak, DMS melewatkan catatan. 

**catatan**  
Jika Anda menggunakan ElastiCache (Redis OSS) sebagai target, DMS hanya mendukung konfigurasi yang *diaktifkan mode cluster*. Untuk informasi selengkapnya tentang penggunaan ElastiCache (Redis OSS) versi 6.x atau yang lebih tinggi untuk membuat penyimpanan data target yang diaktifkan mode cluster, lihat [Memulai di Panduan](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/GettingStarted.html) Pengguna *Amazon ElastiCache (Redis OSS*). 

Sebelum Anda memulai migrasi database, luncurkan cluster Redis OSS Anda dengan kriteria berikut.
+ Cluster Anda memiliki satu atau lebih pecahan.
+ Jika Anda menggunakan target ElastiCache (Redis OSS), pastikan klaster Anda tidak menggunakan kontrol akses berbasis peran IAM. Sebagai gantinya, gunakan Redis OSS 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 OSS target Anda bersih dari semua data sebelum memulai tugas migrasi awal.

Anda harus menentukan persyaratan keamanan untuk migrasi data sebelum membuat konfigurasi klaster. 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
<a name="CHAP_Target.Redis.Limitations"></a>

Keterbatasan berikut berlaku saat menggunakan Redis OSS sebagai target:
+ Karena Redis OSS adalah penyimpanan data no-sql nilai-kunci, konvensi penamaan kunci Redis OSS untuk digunakan ketika sumber Anda adalah database relasional, adalah. `schema-name.table-name.primary-key` 
+ Di Redis OSS, 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 OSS) sebagai target.
+ AWS DMS tidak mendukung data sumber yang berisi `'\0'` karakter yang disematkan saat menggunakan Redis sebagai titik akhir target. Data yang berisi `'\0'` karakter tertanam akan terpotong pada karakter pertama`'\0'`.

## Migrasi data dari database relasional atau non-relasional ke target Redis OSS
<a name="CHAP_Target.Redis.Migrating"></a>

Anda dapat memigrasikan data dari sumber SQL atau penyimpanan data NoSQL langsung ke target Redis OSS. Menyiapkan dan memulai migrasi ke target Redis OSS mirip dengan pemuatan penuh dan mengubah migrasi pengambilan data menggunakan konsol DMS atau API. Untuk melakukan migrasi database ke target Redis OSS, Anda melakukan hal berikut.
+ Membuat instans replikasi untuk melakukan semua proses untuk migrasi. Untuk informasi selengkapnya, lihat [Membuat instans replikasi](CHAP_ReplicationInstance.Creating.md).
+ Tentukan titik akhir sumber. Untuk informasi selengkapnya, lihat [Membuat titik akhir sumber dan target](CHAP_Endpoints.Creating.md).
+ 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](CHAP_Tasks.Creating.md).
+ 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.

1. 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](https://docs.aws.amazon.com/cli/latest/reference/dms/index.html)

**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 sebagai target Anda, gunakan AWS CLI perintah berikut untuk memberikan alamat endpoint ke cluster Redis OSS 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 OSS Anda yang sudah berjalan. 
+ Pada konsol tersebut, memilih **Titik Akhir** dari panel navigasi dan kemudian memilih **Membuat Titik Akhir**. Tabel berikut menjelaskan pengaturan.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/dms/latest/userguide/CHAP_Target.Redis.html)

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

Untuk informasi tentang membuat tugas migrasi dan memulai migrasi database, lihat[Membuat tugas](CHAP_Tasks.Creating.md).

## Menentukan pengaturan titik akhir untuk Redis OSS sebagai target
<a name="CHAP_Target.Redis.EndpointSettings"></a>

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

**Untuk target Redis OSS 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 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-settings`Parameternya mengikuti:
+ `ServerName`— (Wajib) Jenis`string`, menentukan cluster Redis OSS tempat data akan dimigrasi, dan berada di VPC Anda yang sama.
+ `Port`— (Wajib) Dari jenis`number`, nilai port yang digunakan untuk mengakses titik akhir.
+ `SslSecurityProtocol`— (Opsional) Nilai yang valid termasuk `plaintext` dan`ssl-encryption`. Nilai default-nya `ssl-encryption`. 

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

  Gunakan `ssl-encryption` untuk membuat koneksi terenkripsi. `ssl-encryption`tidak 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 OSS lokal, Anda dapat menggunakan `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 OSS) sebagai target.
+ `AuthType`— (Wajib) Menunjukkan jenis otentikasi yang harus dilakukan saat menghubungkan ke Redis OSS. Nilai yang valid termasuk `none`, `auth-token`, dan `auth-role`.

  `auth-token`Opsi ini membutuhkan "*AuthPassword*" disediakan, sedangkan `auth-role` opsi membutuhkan "*AuthUserName*" dan "*AuthPassword*" disediakan.