Resharding online dan penyeimbangan kembali shard untuk MemoryDB - Amazon MemoryDB

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

Resharding online dan penyeimbangan kembali shard untuk MemoryDB

Dengan menggunakan resharding online dan shard rebalancing dengan MemoryDB, Anda dapat menskalakan MemoryDB Anda secara dinamis tanpa downtime. Pendekatan ini berarti bahwa klaster Anda dapat terus melayani permintaan bahkan saat penskalaan atau penyeimbangan ulang sedang dalam proses.

Anda dapat melakukan tindakan berikut:

  • Skalakan - Tingkatkan kapasitas baca dan tulis dengan menambahkan pecahan ke cluster MemoryDB Anda.

    Jika Anda menambahkan satu atau lebih pecahan ke cluster Anda, jumlah node di setiap pecahan baru sama dengan jumlah node di pecahan terkecil yang ada.

  • Skala - Kurangi kapasitas baca dan tulis, dan dengan demikian biayanya, dengan menghapus pecahan dari cluster MemoryDB Anda.

Saat ini, batasan berikut berlaku untuk resharding online MemoryDB:

  • Terdapat batasan dengan slot atau ruang kunci dan item besar:

    Jika salah satu kunci dalam serpihan berisi item besar, kunci tersebut tidak dimigrasikan ke serpihan baru ketika penskalaan ke luar atau penyeimbangan ulang dilakukan. Fungsi ini dapat menghasilkan serpihan yang tidak seimbang.

    Jika salah satu kunci dalam serpihan berisi item besar (item yang lebih besar dari 256 MB setelah serialisasi), serpihan tersebut tidak dihapus ketika penskalaan ke dalam dilakukan. Fungsi ini dapat mengakibatkan beberapa serpihan tidak dihapus.

  • Saat menskalakan, jumlah node di setiap pecahan baru sama dengan jumlah node di pecahan yang ada.

Untuk informasi selengkapnya, lihat Praktik terbaik: Mengubah ukuran klaster secara online.

Anda dapat menskalakan atau menyeimbangkan kembali cluster MemoryDB Anda secara horizontal menggunakan, API AWS Management Console, dan MemoryDB. AWS CLI

Menambahkan serpihan dengan resharding online

Anda dapat menambahkan pecahan ke cluster MemoryDB Anda menggunakan AWS Management Console, AWS CLI, atau MemoryDB API.

Anda dapat menggunakan AWS Management Console untuk menambahkan satu atau lebih pecahan ke cluster MemoryDB Anda. Prosedur berikut menjelaskan prosesnya.

  1. Masuk ke AWS Management Console dan buka konsol MemoryDB di https://console.aws.amazon.com/memorydb/.

  2. Dari daftar cluster, pilih nama cluster dari mana Anda ingin menambahkan pecahan.

  3. Di bawah tab Pecahan dan node, pilih Tambah/Hapus pecahan

  4. Di Jumlah pecahan baru, masukkan jumlah pecahan yang Anda inginkan.

  5. Pilih Konfirmasi untuk menyimpan perubahan atau Batalkan untuk dibuang.

Proses berikut menjelaskan cara mengkonfigurasi ulang pecahan di cluster MemoryDB Anda dengan menambahkan pecahan menggunakan file. AWS CLI

Gunakan parameter berikut dengan update-cluster.

Parameter
  • --cluster-name – Wajib. Menentukan cluster (cluster) operasi konfigurasi ulang shard yang akan dilakukan pada.

  • --shard-configuration – Wajib. Memungkinkan Anda mengatur jumlah pecahan.

    • ShardCount— Tetapkan properti ini untuk menentukan jumlah pecahan yang Anda inginkan.

Contoh berikut memodifikasi jumlah pecahan di cluster menjadi 2my-cluster.

Untuk Linux, macOS, atau Unix:

aws memorydb update-cluster \ --cluster-name my-cluster \ --shard-configuration \ ShardCount=2

Untuk Windows:

aws memorydb update-cluster ^ --cluster-name my-cluster ^ --shard-configuration ^ ShardCount=2

Ia mengembalikan respon JSON berikut:

{ "Cluster": { "Name": "my-cluster", "Status": "updating", "NumberOfShards": 2, "AvailabilityMode": "MultiAZ", "ClusterEndpoint": { "Address": "clustercfg.my-cluster.xxxxxx.memorydb.us-east-1.amazonaws.com", "Port": 6379 }, "NodeType": "db.r6g.large", "EngineVersion": "6.2", "EnginePatchVersion": "6.2.6", "ParameterGroupName": "default.memorydb-redis6", "ParameterGroupStatus": "in-sync", "SubnetGroupName": "my-sg", "TLSEnabled": true, "ARN": "arn:aws:memorydb:us-east-1:xxxxxxexamplearn:cluster/my-cluster", "SnapshotRetentionLimit": 0, "MaintenanceWindow": "wed:03:00-wed:04:00", "SnapshotWindow": "04:30-05:30", "DataTiering": "false", "AutoMinorVersionUpgrade": true } }

Untuk melihat detail klaster yang diperbarui setelah statusnya berubah dari pembaruan menjadi tersedia, gunakan perintah berikut:

Untuk Linux, macOS, atau Unix:

aws memorydb describe-clusters \ --cluster-name my-cluster --show-shard-details

Untuk Windows:

aws memorydb describe-clusters ^ --cluster-name my-cluster --show-shard-details

Ini akan mengembalikan respons JSON berikut:

{ "Clusters": [ { "Name": "my-cluster", "Status": "available", "NumberOfShards": 2, "Shards": [ { "Name": "0001", "Status": "available", "Slots": "0-8191", "Nodes": [ { "Name": "my-cluster-0001-001", "Status": "available", "AvailabilityZone": "us-east-1a", "CreateTime": "2021-08-21T20:22:12.405000-07:00", "Endpoint": { "Address": "clustercfg.my-cluster.xxxxxx.memorydb.us-east-1.amazonaws.com", "Port": 6379 } }, { "Name": "my-cluster-0001-002", "Status": "available", "AvailabilityZone": "us-east-1b", "CreateTime": "2021-08-21T20:22:12.405000-07:00", "Endpoint": { "Address": "clustercfg.my-cluster.xxxxxx.memorydb.us-east-1.amazonaws.com", "Port": 6379 } } ], "NumberOfNodes": 2 }, { "Name": "0002", "Status": "available", "Slots": "8192-16383", "Nodes": [ { "Name": "my-cluster-0002-001", "Status": "available", "AvailabilityZone": "us-east-1b", "CreateTime": "2021-08-22T14:26:18.693000-07:00", "Endpoint": { "Address": "clustercfg.my-cluster.xxxxxx.memorydb.us-east-1.amazonaws.com", "Port": 6379 } }, { "Name": "my-cluster-0002-002", "Status": "available", "AvailabilityZone": "us-east-1a", "CreateTime": "2021-08-22T14:26:18.765000-07:00", "Endpoint": { "Address": "clustercfg.my-cluster.xxxxxx.memorydb.us-east-1.amazonaws.com", "Port": 6379 } } ], "NumberOfNodes": 2 } ], "ClusterEndpoint": { "Address": "clustercfg.my-cluster.xxxxxx.memorydb.us-east-1.amazonaws.com", "Port": 6379 }, "NodeType": "db.r6g.large", "EngineVersion": "6.2", "EnginePatchVersion": "6.2.6", "ParameterGroupName": "default.memorydb-redis6", "ParameterGroupStatus": "in-sync", "SubnetGroupName": "my-sg", "TLSEnabled": true, "ARN": "arn:aws:memorydb:us-east-1:xxxxxxexamplearn:cluster/my-cluster", "SnapshotRetentionLimit": 0, "MaintenanceWindow": "wed:03:00-wed:04:00", "SnapshotWindow": "04:30-05:30", "ACLName": "my-acl", "DataTiering": "false", "AutoMinorVersionUpgrade": true } ] }

Untuk informasi selengkapnya, lihat update-cluster di Command Reference. AWS CLI

Anda dapat menggunakan API MemoryDB untuk mengkonfigurasi ulang pecahan di cluster MemoryDB Anda secara online dengan menggunakan operasi. UpdateCluster

Gunakan parameter berikut dengan UpdateCluster.

Parameter
  • ClusterName – Wajib. Menentukan cluster mana operasi konfigurasi ulang shard akan dilakukan pada.

  • ShardConfiguration – Wajib. Memungkinkan Anda mengatur jumlah pecahan.

    • ShardCount— Tetapkan properti ini untuk menentukan jumlah pecahan yang Anda inginkan.

Untuk informasi lebih lanjut, lihat UpdateCluster.

Menghapus serpihan dengan resharding online

Anda dapat menghapus pecahan dari cluster MemoryDB Anda menggunakan AWS Management Console, AWS CLI, atau MemoryDB API.

Proses berikut menjelaskan cara mengkonfigurasi ulang pecahan di cluster MemoryDB Anda dengan menghapus pecahan menggunakan file. AWS Management Console

penting

Sebelum menghapus pecahan dari cluster Anda, MemoryDB memastikan bahwa semua data Anda akan muat di pecahan yang tersisa. Jika data akan cocok, pecahan dihapus dari cluster seperti yang diminta. Jika data tidak sesuai dengan pecahan yang tersisa, proses dihentikan dan cluster dibiarkan dengan konfigurasi pecahan yang sama seperti sebelum permintaan dibuat.

Anda dapat menggunakan AWS Management Console untuk menghapus satu atau lebih pecahan dari cluster MemoryDB Anda. Anda tidak dapat menghapus semua pecahan dalam sebuah cluster. Sebagai gantinya, Anda harus menghapus cluster. Untuk informasi selengkapnya, lihat Langkah 4: Menghapus cluster. Prosedur berikut menjelaskan proses untuk menghapus satu atau lebih pecahan.

  1. Masuk ke AWS Management Console dan buka konsol MemoryDB di https://console.aws.amazon.com/memorydb/.

  2. Dari daftar cluster, pilih nama cluster dari mana Anda ingin menghapus pecahan.

  3. Di bawah tab Pecahan dan node, pilih Tambah/Hapus pecahan

  4. Di Jumlah pecahan baru, masukkan jumlah pecahan yang Anda inginkan (dengan minimal 1).

  5. Pilih Konfirmasi untuk menyimpan perubahan atau Batalkan untuk dibuang.

Proses berikut menjelaskan cara mengkonfigurasi ulang pecahan di cluster MemoryDB Anda dengan menghapus pecahan menggunakan file. AWS CLI

penting

Sebelum menghapus pecahan dari cluster Anda, MemoryDB memastikan bahwa semua data Anda akan muat di pecahan yang tersisa. Jika data cocok, pecahan dihapus dari cluster seperti yang diminta dan ruang kuncinya dipetakan ke pecahan yang tersisa. Jika data tidak sesuai dengan pecahan yang tersisa, proses dihentikan dan cluster dibiarkan dengan konfigurasi pecahan yang sama seperti sebelum permintaan dibuat.

Anda dapat menggunakan AWS CLI untuk menghapus satu atau lebih pecahan dari cluster MemoryDB Anda. Anda tidak dapat menghapus semua pecahan dalam sebuah cluster. Sebagai gantinya, Anda harus menghapus cluster. Untuk informasi selengkapnya, lihat Langkah 4: Menghapus cluster.

Gunakan parameter berikut dengan update-cluster.

Parameter
  • --cluster-name – Wajib. Menentukan cluster (cluster) operasi konfigurasi ulang shard yang akan dilakukan pada.

  • --shard-configuration – Wajib. Memungkinkan Anda mengatur jumlah pecahan menggunakan ShardCount properti:

    ShardCount— Tetapkan properti ini untuk menentukan jumlah pecahan yang Anda inginkan.

Contoh berikut memodifikasi jumlah pecahan di cluster menjadi 2my-cluster.

Untuk Linux, macOS, atau Unix:

aws memorydb update-cluster \ --cluster-name my-cluster \ --shard-configuration \ ShardCount=2

Untuk Windows:

aws memorydb update-cluster ^ --cluster-name my-cluster ^ --shard-configuration ^ ShardCount=2

Ia mengembalikan respon JSON berikut:

{ "Cluster": { "Name": "my-cluster", "Status": "updating", "NumberOfShards": 2, "AvailabilityMode": "MultiAZ", "ClusterEndpoint": { "Address": "clustercfg.my-cluster.xxxxxx.memorydb.us-east-1.amazonaws.com", "Port": 6379 }, "NodeType": "db.r6g.large", "EngineVersion": "6.2", "EnginePatchVersion": "6.2.6", "ParameterGroupName": "default.memorydb-redis6", "ParameterGroupStatus": "in-sync", "SubnetGroupName": "my-sg", "TLSEnabled": true, "ARN": "arn:aws:memorydb:us-east-1:xxxxxxexamplearn:cluster/my-cluster", "SnapshotRetentionLimit": 0, "MaintenanceWindow": "wed:03:00-wed:04:00", "SnapshotWindow": "04:30-05:30", "DataTiering": "false", "AutoMinorVersionUpgrade": true } }

Untuk melihat detail klaster yang diperbarui setelah statusnya berubah dari pembaruan menjadi tersedia, gunakan perintah berikut:

Untuk Linux, macOS, atau Unix:

aws memorydb describe-clusters \ --cluster-name my-cluster --show-shard-details

Untuk Windows:

aws memorydb describe-clusters ^ --cluster-name my-cluster --show-shard-details

Ini akan mengembalikan respons JSON berikut:

{ "Clusters": [ { "Name": "my-cluster", "Status": "available", "NumberOfShards": 2, "Shards": [ { "Name": "0001", "Status": "available", "Slots": "0-8191", "Nodes": [ { "Name": "my-cluster-0001-001", "Status": "available", "AvailabilityZone": "us-east-1a", "CreateTime": "2021-08-21T20:22:12.405000-07:00", "Endpoint": { "Address": "clustercfg.my-cluster.xxxxxx.memorydb.us-east-1.amazonaws.com", "Port": 6379 } }, { "Name": "my-cluster-0001-002", "Status": "available", "AvailabilityZone": "us-east-1b", "CreateTime": "2021-08-21T20:22:12.405000-07:00", "Endpoint": { "Address": "clustercfg.my-cluster.xxxxxx.memorydb.us-east-1.amazonaws.com", "Port": 6379 } } ], "NumberOfNodes": 2 }, { "Name": "0002", "Status": "available", "Slots": "8192-16383", "Nodes": [ { "Name": "my-cluster-0002-001", "Status": "available", "AvailabilityZone": "us-east-1b", "CreateTime": "2021-08-22T14:26:18.693000-07:00", "Endpoint": { "Address": "clustercfg.my-cluster.xxxxxx.memorydb.us-east-1.amazonaws.com", "Port": 6379 } }, { "Name": "my-cluster-0002-002", "Status": "available", "AvailabilityZone": "us-east-1a", "CreateTime": "2021-08-22T14:26:18.765000-07:00", "Endpoint": { "Address": "clustercfg.my-cluster.xxxxxx.memorydb.us-east-1.amazonaws.com", "Port": 6379 } } ], "NumberOfNodes": 2 } ], "ClusterEndpoint": { "Address": "clustercfg.my-cluster.xxxxxx.memorydb.us-east-1.amazonaws.com", "Port": 6379 }, "NodeType": "db.r6g.large", "EngineVersion": "6.2", "EnginePatchVersion": "6.2.6", "ParameterGroupName": "default.memorydb-redis6", "ParameterGroupStatus": "in-sync", "SubnetGroupName": "my-sg", "TLSEnabled": true, "ARN": "arn:aws:memorydb:us-east-1:xxxxxxexamplearn:cluster/my-cluster", "SnapshotRetentionLimit": 0, "MaintenanceWindow": "wed:03:00-wed:04:00", "SnapshotWindow": "04:30-05:30", "ACLName": "my-acl", "DataTiering": "false", "AutoMinorVersionUpgrade": true } ] }

Untuk informasi selengkapnya, lihat update-cluster di Command Reference. AWS CLI

Anda dapat menggunakan API MemoryDB untuk mengkonfigurasi ulang pecahan di cluster MemoryDB Anda secara online dengan menggunakan operasi. UpdateCluster

Proses berikut menjelaskan cara mengkonfigurasi ulang pecahan di cluster MemoryDB Anda dengan menghapus pecahan menggunakan API MemoryDB.

penting

Sebelum menghapus pecahan dari cluster Anda, MemoryDB memastikan bahwa semua data Anda akan muat di pecahan yang tersisa. Jika data cocok, pecahan dihapus dari cluster seperti yang diminta dan ruang kuncinya dipetakan ke pecahan yang tersisa. Jika data tidak sesuai dengan pecahan yang tersisa, proses dihentikan dan cluster dibiarkan dengan konfigurasi pecahan yang sama seperti sebelum permintaan dibuat.

Anda dapat menggunakan API MemoryDB untuk menghapus satu atau lebih pecahan dari cluster MemoryDB Anda. Anda tidak dapat menghapus semua pecahan dalam sebuah cluster. Sebagai gantinya, Anda harus menghapus cluster. Untuk informasi selengkapnya, lihat Langkah 4: Menghapus cluster.

Gunakan parameter berikut dengan UpdateCluster.

Parameter
  • ClusterName – Wajib. Menentukan cluster (cluster) operasi konfigurasi ulang shard yang akan dilakukan pada.

  • ShardConfiguration – Wajib. Memungkinkan Anda mengatur jumlah pecahan menggunakan ShardCount properti:

    ShardCount— Tetapkan properti ini untuk menentukan jumlah pecahan yang Anda inginkan.