Meningkatkan kluster Redis OSS dengan replika - Amazon ElastiCache (Redis) OSS

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

Meningkatkan kluster Redis OSS dengan replika

Amazon ElastiCache menyediakan dukungan konsol, CLI, dan API untuk menskalakan grup replikasi Redis OSS (mode cluster dinonaktifkan) Anda.

Ketika proses peningkatan skala dimulai, ElastiCache lakukan hal berikut:

  1. Meluncurkan grup replikasi menggunakan jenis simpul baru.

  2. Menyalin semua data dari simpul primer saat ini ke simpul primer baru.

  3. Menyinkronkan replika baca baru dengan simpul primer baru.

  4. Memperbarui entri DNS sehingga mengarah ke simpul baru. Karena hal ini, Anda tidak perlu memperbarui titik akhir dalam aplikasi Anda. Untuk Redis OSS 5.0.5 dan yang lebih baru, Anda dapat menskalakan kluster yang diaktifkan failover otomatis sementara cluster terus online dan melayani permintaan yang masuk. Pada versi 4.0.10 ke bawah, Anda mungkin merasakan gangguan singkat terhadap operasi baca dan tulis pada simpul primer versi sebelumnya saat entri DNS diperbarui.

  5. Menghapus simpul lama (CLI/API: grup replikasi). Anda akan merasakan gangguan singkat (beberapa detik) pada operasi baca dan tulis dari simpul lama karena koneksi ke simpul lama akan terputus.

Seberapa lama proses ini berjalan bergantung pada jenis simpul dan jumlah data dalam klaster Anda.

Seperti yang ditunjukkan pada tabel berikut, operasi penskalaan Redis OSS Anda diblokir jika Anda memiliki pemutakhiran mesin yang dijadwalkan untuk jendela pemeliharaan klaster berikutnya.

Operasi Redis OSS yang diblokir
Operasi Tertunda Operasi Diblokir
Penaikan skala Peningkatan mesin segera
Peningkatan mesin Penaikan skala segera
Penaikan skala dan peningkatan mesin Penaikan skala segera
Peningkatan mesin segera

Jika memiliki operasi tertunda yang memblokir, Anda dapat melakukan salah satu hal berikut.

  • Jadwalkan operasi penskalaan Redis OSS Anda untuk jendela pemeliharaan berikutnya dengan menghapus kotak centang Terapkan segera (penggunaan CLI:, Penggunaan API:--no-apply-immediately). ApplyImmediately=false

  • Tunggu hingga jendela pemeliharaan berikutnya (atau setelahnya) untuk melakukan operasi penskalaan Redis OSS Anda.

  • Tambahkan upgrade mesin Redis OSS ke modifikasi cluster cache ini dengan kotak centang Terapkan Segera dipilih (CLI use:--apply-immediately, API use:). ApplyImmediately=true Tindakan ini akan membuka blokir operasi penaikan skala dengan memicu peningkatan mesin agar segera dilakukan.

Bagian berikut menjelaskan cara menskalakan cluster Redis OSS Anda dengan replika menggunakan ElastiCache konsol, the AWS CLI, dan API. ElastiCache

penting

Jika grup parameter Anda menggunakan reserved-memory untuk menyisihkan memori untuk overhead Redis OSS, sebelum Anda mulai menskalakan pastikan bahwa Anda memiliki grup parameter khusus yang menyimpan jumlah memori yang benar untuk jenis node baru Anda. Sebagai alternatif, Anda dapat mengubah grup parameter kustom agar menggunakan reserved-memory-percent dan menggunakan grup parameter tersebut untuk klaster baru Anda.

Jika menggunakan reserved-memory-percent, Anda tidak perlu melakukan ini.

Untuk informasi selengkapnya, lihat Mengelola Memori Cadangan.

Jumlah waktu yang dibutuhkan untuk menaikkan skala ke jenis simpul yang lebih besar bervariasi, bergantung pada jenis simpul dan jumlah data dalam klaster Anda saat ini.

Proses berikut menskalakan klaster Anda dengan replika dari tipe node saat ini ke tipe node baru yang lebih besar menggunakan ElastiCache konsol. Selama proses ini, mungkin ada gangguan singkat terhadap operasi baca dan tulis untuk versi lain dari simpul primer saat entri DNS diperbarui. Anda mungkin akan mengalami waktu henti kurang dari 1 detik untuk simpul yang menjalankan versi 5.0.6 ke atas dan beberapa detik untuk versi yang lebih lama.

Untuk meningkatkan kluster Redis OSS dengan replika (konsol)
  1. Masuk ke AWS Management Console dan buka ElastiCache konsol di https://console.aws.amazon.com/elasticache/.

  2. Dari panel navigasi, pilih cluster Redis OSS

  3. Dari daftar klaster, pilih klaster yang ingin Anda naikkan skalanya. Cluster ini harus menjalankan mesin Redis OSS dan bukan mesin Clustered Redis OSS.

  4. Pilih Ubah.

  5. Di wizard Ubah Klaster:

    1. Pilih jenis simpul sebagai tujuan penskalaan dari daftar Jenis simpul. Perhatikan bahwa tidak semua jenis simpul tersedia sebagai pilihan penurunan skala.

    2. Jika Anda menggunakan reserved-memory untuk mengelola memori, dari daftar Grup Parameter, pilih grup parameter kustom yang mencadangkan jumlah memori yang benar untuk jenis simpul baru Anda.

  6. Jika Anda ingin segera melakukan proses penaikan skala, centang kotak Terapkan segera. Jika kotak centang Terapkan segera tidak dipilih, proses penaikan skala akan dilakukan selama periode pemeliharaan berikutnya untuk klaster ini.

  7. Pilih Ubah.

  8. Ketika status klaster berubah dari mengubah ke tersedia, artinya klaster Anda telah diskalakan ke jenis simpul baru. Tidak perlu memperbarui titik akhir dalam aplikasi Anda.

Proses berikut menskalakan grup replikasi dari jenis simpul saat ini ke jenis simpul baru yang lebih besar menggunakan AWS CLI. Selama proses ini, ElastiCache (Redis OSS) memperbarui entri DNS sehingga mereka menunjuk ke node baru. Karena hal ini, Anda tidak perlu memperbarui titik akhir dalam aplikasi Anda. Untuk Redis OSS 5.0.5 dan yang lebih baru, Anda dapat menskalakan kluster yang diaktifkan failover otomatis sementara cluster terus online dan melayani permintaan yang masuk. Pada versi 4.0.10 ke bawah, Anda mungkin merasakan gangguan singkat terhadap operasi baca dan tulis pada versi sebelumnya dari simpul primer saat entri DNS diperbarui.

Jumlah waktu yang dibutuhkan untuk menaikkan skala ke jenis simpul yang lebih besar bervariasi, bergantung pada jenis simpul dan jumlah data dalam klaster cache Anda saat ini.

Untuk meningkatkan Redis OSS Replication Group ()AWS CLI
  1. Tentukan jenis node mana yang dapat Anda tingkatkan dengan menjalankan AWS CLI list-allowed-node-type-modifications perintah dengan parameter berikut.

    • --replication-group-id – nama grup replikasi. Gunakan parameter ini untuk mendeskripsikan grup replikasi tertentu, bukan semua grup replikasi.

    Untuk Linux, macOS, atau Unix:

    aws elasticache list-allowed-node-type-modifications \ --replication-group-id my-repl-group

    Untuk Windows:

    aws elasticache list-allowed-node-type-modifications ^ --replication-group-id my-repl-group

    Output dari operasi ini terlihat seperti berikut (format JSON).

    { "ScaleUpModifications": [ "cache.m3.2xlarge", "cache.m3.large", "cache.m3.xlarge", "cache.m4.10xlarge", "cache.m4.2xlarge", "cache.m4.4xlarge", "cache.m4.large", "cache.m4.xlarge", "cache.r3.2xlarge", "cache.r3.4xlarge", "cache.r3.8xlarge", "cache.r3.large", "cache.r3.xlarge" ] }

    Untuk informasi selengkapnya, lihat list-allowed-node-type-modifications dalam Referensi AWS CLI .

  2. Skala grup replikasi Anda saat ini hingga tipe node baru menggunakan AWS CLI modify-replication-group perintah dengan parameter berikut.

    • --replication-group-id – nama grup replikasi.

    • --cache-node-type – jenis simpul baru yang lebih besar dari klaster cache dalam grup replikasi ini. Nilai ini harus berupa salah satu jenis instans yang ditampilkan oleh perintah list-allowed-node-type-modifications di langkah 1.

    • --cache-parameter-group-name – [Opsional] Gunakan parameter ini jika Anda menggunakan reserved-memory untuk mengelola memori cadangan klaster. Tentukan grup parameter cache kustom yang mencadangkan jumlah memori yang sesuai untuk jenis simpul yang baru. Jika menggunakan reserved-memory-percent, Anda dapat menghilangkan parameter ini.

    • --apply-immediately – Menyebabkan operasi penaikan skala segera diterapkan. Untuk menunda operasi penaikan skala ke periode pemeliharaan berikutnya, gunakan --no-apply-immediately.

    Untuk Linux, macOS, atau Unix:

    aws elasticache modify-replication-group \ --replication-group-id my-repl-group \ --cache-node-type cache.m3.xlarge \ --cache-parameter-group-name redis32-m3-2xl \ --apply-immediately

    Untuk Windows:

    aws elasticache modify-replication-group ^ --replication-group-id my-repl-group ^ --cache-node-type cache.m3.xlarge ^ --cache-parameter-group-name redis32-m3-2xl \ --apply-immediately

    Output dari perintah ini terlihat seperti berikut (format JSON).

    { "ReplicationGroup": { "Status": "available", "Description": "Some description", "NodeGroups": [{ "Status": "available", "NodeGroupMembers": [{ "CurrentRole": "primary", "PreferredAvailabilityZone": "us-west-2b", "CacheNodeId": "0001", "ReadEndpoint": { "Port": 6379, "Address": "my-repl-group-001.8fdx4s.0001.usw2.cache.amazonaws.com" }, "CacheClusterId": "my-repl-group-001" }, { "CurrentRole": "replica", "PreferredAvailabilityZone": "us-west-2c", "CacheNodeId": "0001", "ReadEndpoint": { "Port": 6379, "Address": "my-repl-group-002.8fdx4s.0001.usw2.cache.amazonaws.com" }, "CacheClusterId": "my-repl-group-002" } ], "NodeGroupId": "0001", "PrimaryEndpoint": { "Port": 6379, "Address": "my-repl-group.8fdx4s.ng.0001.usw2.cache.amazonaws.com" } }], "ReplicationGroupId": "my-repl-group", "SnapshotRetentionLimit": 1, "AutomaticFailover": "disabled", "SnapshotWindow": "12:00-13:00", "SnapshottingClusterId": "my-repl-group-002", "MemberClusters": [ "my-repl-group-001", "my-repl-group-002" ], "PendingModifiedValues": {} } }

    Untuk informasi selengkapnya, lihat modify-replication-group dalam Referensi AWS CLI .

  3. Jika Anda menggunakan --apply-immediately parameter, pantau status grup replikasi menggunakan AWS CLI describe-replication-group perintah dengan parameter berikut. Saat status masih mengubah, Anda mungkin akan merasakan waktu henti kurang dari 1 detik untuk simpul yang berjalan di versi 5.0.6 ke atas dan gangguan singkat pada operasi baca dan tulis untuk simpul primer versi lebih lama saat entri DNS diperbarui.

    • --replication-group-id – nama grup replikasi. Gunakan parameter ini untuk mendeskripsikan grup replikasi tertentu, bukan semua grup replikasi.

    Untuk Linux, macOS, atau Unix:

    aws elasticache describe-replication-groups \ --replication-group-id my-replication-group

    Untuk Windows:

    aws elasticache describe-replication-groups ^ --replication-group-id my-replication-group

    Untuk informasi lebih lanjut, lihat describe-replication-groupsdi AWS CLI Referensi.

Proses berikut menskalakan grup replikasi Anda dari tipe node saat ini ke tipe node baru yang lebih besar menggunakan ElastiCache API. Untuk Redis OSS 5.0.5 dan yang lebih baru, Anda dapat menskalakan kluster yang diaktifkan failover otomatis sementara cluster terus online dan melayani permintaan yang masuk. Pada versi 4.0.10 ke bawah, Anda mungkin merasakan gangguan singkat terhadap operasi baca dan tulis pada simpul primer versi sebelumnya saat entri DNS diperbarui.

Jumlah waktu yang dibutuhkan untuk menaikkan skala ke jenis simpul yang lebih besar bervariasi, bergantung pada jenis simpul dan jumlah data dalam klaster cache Anda saat ini.

Untuk meningkatkan Redis OSS Replication Group (API) ElastiCache
  1. Tentukan tipe node mana yang dapat Anda tingkatkan untuk menggunakan ListAllowedNodeTypeModifications aksi ElastiCache API dengan parameter berikut.

    • ReplicationGroupId – nama grup replikasi. Gunakan parameter ini untuk mendeskripsikan grup replikasi tertentu, bukan semua grup replikasi.

    https://elasticache.us-west-2.amazonaws.com/ ?Action=ListAllowedNodeTypeModifications &ReplicationGroupId=MyReplGroup &Version=2015-02-02 &SignatureVersion=4 &SignatureMethod=HmacSHA256 &Timestamp=20150202T192317Z &X-Amz-Credential=<credential>

    Untuk informasi selengkapnya, lihat ListAllowedNodeTypeModifications di Referensi Amazon ElastiCache API.

  2. Skalakan grup replikasi Anda saat ini hingga tipe node baru menggunakan aksi ModifyRedplicationGroup ElastiCache API dan dengan parameter berikut.

    • ReplicationGroupId – nama grup replikasi.

    • CacheNodeType – jenis simpul baru yang lebih besar dari klaster cache dalam grup replikasi ini. Nilai ini harus berupa salah satu jenis instans yang ditampilkan oleh tindakan ListAllowedNodeTypeModifications di langkah 1.

    • CacheParameterGroupName – [Opsional] Gunakan parameter ini jika Anda menggunakan reserved-memory untuk mengelola memori tersimpan klaster. Tentukan grup parameter cache kustom yang mencadangkan jumlah memori yang sesuai untuk jenis simpul yang baru. Jika menggunakan reserved-memory-percent, Anda dapat menghilangkan parameter ini.

    • ApplyImmediately – Tetapkan ke true agar proses penaikan skala segera diterapkan. Untuk menunda proses penaikan skala ke periode pemeliharaan berikutnya, gunakan ApplyImmediately=false.

    https://elasticache.us-west-2.amazonaws.com/ ?Action=ModifyReplicationGroup &ApplyImmediately=true &CacheNodeType=cache.m3.2xlarge &CacheParameterGroupName=redis32-m3-2xl &ReplicationGroupId=myReplGroup &SignatureVersion=4 &SignatureMethod=HmacSHA256 &Timestamp=20141201T220302Z &Version=2014-12-01 &X-Amz-Algorithm=&AWS;4-HMAC-SHA256 &X-Amz-Date=20141201T220302Z &X-Amz-SignedHeaders=Host &X-Amz-Expires=20141201T220302Z &X-Amz-Credential=<credential> &X-Amz-Signature=<signature>

    Untuk informasi selengkapnya, lihat ModifyReplicationGroup di Referensi Amazon ElastiCache API.

  3. Jika Anda menggunakan ApplyImmediately=true, pantau status grup replikasi menggunakan DescribeReplicationGroups aksi ElastiCache API dengan parameter berikut. Ketika status berubah dari mengubah ke tersedia, Anda dapat mulai menulis ke grup replikasi baru yang telah dinaikkan skalanya.

    • ReplicationGroupId – nama grup replikasi. Gunakan parameter ini untuk mendeskripsikan grup replikasi tertentu, bukan semua grup replikasi.

    https://elasticache.us-west-2.amazonaws.com/ ?Action=DescribeReplicationGroups &ReplicationGroupId=MyReplGroup &Version=2015-02-02 &SignatureVersion=4 &SignatureMethod=HmacSHA256 &Timestamp=20150202T192317Z &X-Amz-Credential=<credential>

    Untuk informasi selengkapnya, lihat DescribeReplicationGroups di Referensi Amazon ElastiCache API.