Menyiapkan Klaster Redis untuk skalabilitas dan ketersediaan tinggi

Penyiapan, konfigurasi, keamanan, dan penyediaan mode klaster Amazon ElastiCache for Redis

Dalam tutorial ini, Anda akan mempelajari cara membuat dan mengonfigurasi Klaster Redis dengan ElastiCache for Redis. Dengan diaktifkannya mode klaster, Klaster Redis Anda mendapatkan skalabilitas dan ketersediaan tinggi yang ditingkatkan. Anda dapat memulai dari yang kecil dan secara mudah menskalakan data Redis Anda sementara aplikasi Anda bertumbuh, dan dengan mengatur replika di availability zone yang berbeda Anda dapat pula meningkatkan kapasitas baca. Dengan mengikuti tutorial ini Anda juga akan mempelajari beberapa praktik terbaik dari penerapan Klaster Redis.

Terdapat ekosistem klien Redis yang sangat kaya dengan dukungan untuk fitur mode klaster. Hal tersebut membuat bekerja dengan data sharded sangat mudah dan andal sementara klien dapat menyimpan jalur lokasi hashslot di cache lokal, sehingga meningkatkan kinerja sistem sebagai keseluruhan.

Node ElastiCache yang dibuat di dalam tutorial ini adalah tingkat gratis yang memenuhi syarat.

Masuk ke Dasbor Amazon ElastiCache »

Persyaratan

Di beberapa titik dalam tutorial ini, Anda harus terhubung ke Klaster Redis Anda untuk mencoba beberapa fiturnya secara langsung. Itu berarti bahwa Anda akan memerlukan akses ke instans EC2 dengan klien Redis yang terinstal. Jika Anda sudah memiliki instans EC2 dengan klien Redis yang terinstal, Anda dapat melewati langkah 1. Jika tidak, hubungkan ke instans Amazon EC2 dan ikuti instruksi di bawah ini untuk menginstal klien Redis.

Jika Anda tidak memiliki kompilator C yang tersedia, instal dengan menjalankan:

$ sudo yum install gcc

Unduh dan kompilasikan klien Redis:

$ curl -O http://download.redis.io/redis-stable.tar.gz
$ tar xvzf redis-stable.tar.gz
$ cd redis-stable
$ make distclean  # Ubuntu systems only
$ make

Kini Anda siap untuk memulai tutorial ini.

Tentang Tutorial ini
Waktu 10 - 20 menit                                           
Biaya Tingkat Gratis yang Memenuhi Syarat
Kasus Penggunaan Penskalaan, Ketersediaan Tinggi, Aplikasi Real-Time
Produk AWS ElastiCache for Redis, AWS Tingkat Gratis
Audiens Pengembang
Tingkat Pemula
Terakhir Diperbarui 05 Juni 2019

Langkah 1: Masuk ke Dasbor ElastiCache

Buka Dasbor ElastiCache, lalu:

1.1 — Di sudut kanan atas, pilih wilayah tempat Anda ingin meluncurkan Klaster Redis Anda.

1.2 — Klik “Mulai Sekarang”.

Langkah 2: Buat Klaster Redis Anda

2.1 — Pilih “Redis” sebagai mesin Klaster Anda.

2.2 — Centang “Mode Klaster diaktifkan”.

Langkah 3: Konfigurasi Pengaturan Redis

3.1 — Pilih nama untuk Klaster Redis Anda, mis. “elc-tutorial”.

3.2 — Ubah jenis Node menjadi cache.t2.micro. Jenis node baik untuk tutorial ini, tetapi untuk klaster produksi ukuran node harus disesuaikan dengan beban kerja dan Anda harus mulai dengan seri instans m5 atau r5.

3.3 — Di Jumlah Shard, pilih 3. Ini berarti data tersebut akan dibagi ke dalam tiga node master berbeda.

3.4 — Di Replika per Shard, pilih 2. Ini berarti setiap node master akan memiliki dua replika. Jika terjadi kegagalan, failover otomatis akan dipicu dan salah satu replika akan mengambil alih peran node master.

3.5 — Pilih grup Subnet. Jika perlu informasi selengkapnya tentang grup Subnet, silakan lihat dokumentasi.

Langkah 4: Konfigurasi Pengaturan Redis Lanjutan

4.1 — Centang kotak untuk “Multi-AZ dengan Auto-Failover”.

Setiap node master akan dibuat di availability zone yang berbeda, dan setiap replika juga akan dialokasikan ke availability zone yang berbeda. Ini adalah praktik terbaik untuk peningkatan keandalan.

Biarkan nilai default untuk kolom lainnya.

Langkah 5: Konfigurasi pengaturan Keamanan

Untuk contoh ini kita tidak akan menggunakan enkripsi, namun ingat bahwa Anda dapat mengonfigurasi enkripsi untuk data tidak aktif maupun data dalam transit.

5.1 — Pilih grup Keamanan untuk Klaster Redis Anda.

Penting: pastikan bahwa grup Keamanan yang Anda pilih mengizinkan koneksi TCP yang masuk pada port 6379. Jika tidak, Anda tidak akan dapat terhubung ke node Redis.

Langkah 6: Impor data ke klaster

Untuk contoh ini, kita tidak akan memuat file seed RDB apa pun sehingga langkah konfigurasi ini dapat dilewatkan saja. Cukup ingat bahwa opsi ini tersedia.

Langkah 7: Konfigurasi pencadangan

Pencadangan harian penting untuk sebagian besar kasus dan rekomendasi yang baik adalah untuk mengaktifkan pencadangan dengan periode retensi yang akan memberikan Anda cukup waktu untuk bertindak jika terjadi hal buruk. Untuk tutorial ini, kita tidak akan menggunakan pencadangan apa pun.

7.1 — Hapus centang “Aktifkan pencadangan otomatis”.

Langkah 8: Pengaturan pemeliharaan

8.1 — Tentukan periode pemeliharaan sesuai kebutuhan.

Di sini Anda dapat memikirkan waktu dan hari ketika aplikasi Anda memiliki bebankerja rendah. Untuk kebutuhan saat ini, cukup kita nyatakan “Tidak ada preferensi”.

Langkah 9: Tinjau dan buat

Setelah melakukan tinjauan cepat terhadap semua bidang di format tersebut, Anda dapat menekan “Buat”.

9.1 — Klik “Buat”.

Klaster Redis akan diawali dan setelah menjadi “tersedia” Anda akan dapat melanjutkan ke langkah 10.

Jika Anda lebih menyukai Amazon CLI, perintah di bawah ini akan membuat Klaster Redis dalam sekali jalan:

Jika Anda lebih menyukai Amazon CLI, perintah di bawah ini akan membuat Klaster Redis dalam sekali jalan:

$ aws elasticache create-replication-group \
--replication-group-id elc-tutorial \
--replication-group-description "Tutorial example" \
--num-node-groups 3 \
--cache-node-type cache.t2.micro \
--cache-parameter-group default.redis5.0.cluster.on \
--engine redis \
--engine-version 5.0.3 \
--cache-subnet-group-name sn-value \
--security-group-ids sg-value \
--node-group-configuration \
"ReplicaCount=2,PrimaryAvailabilityZone='us-east-1a',ReplicaAvailabilityZones='us-east-1b','us-east-1c',Slots=0-5460" \
"ReplicaCount=2,PrimaryAvailabilityZone='us-east-1b',ReplicaAvailabilityZones='us-east-1c','us-east-1a',Slots=5461-10921" \
"ReplicaCount=2,PrimaryAvailabilityZone='us-east-1c',ReplicaAvailabilityZones='us-east-1a','us-east-1b',Slots=10922-16383"

Untuk argumen terhadap --security-group-ids, Anda harus mengganti sg-value dengan ID dari Grup Keamanan yang ingin Anda gunakan.

Sementara untuk argumen terhadap --cache-subnet-group-name, ganti sn-value dengan nama Grup Subnet. Jika Anda perlu membuat Grup Subnet, gunakan perintah berikut:

$ aws elasticache create-cache-subnet-group \
--cache-subnet-group-name elc-tutorial-subnet \
--cache-subnet-group-description "Tutorial Subnet Group" \
--subnet-ids sn-ids

Nilai dari sn-ids harus berupa daftar ID subnet.

Jika Anda lebih suka menggunakan API Amazon, permintaan di bawah ini akan membuat Klaster Redis:

https://elasticache.us-east-1.amazonaws.com/
?Action=CreateReplicationGroup 
&CacheParameterGroup=default.redis5.0.cluster.on
&Engine=redis
&EngineVersion=5.0.3
&ReplicationGroupDescription=Tutorial%20example
&ReplicationGroupId=elc-tutorial
&NumNodeGroups=3
&PrimaryClusterId=elc-primary
&ReplicasPerNodeGroup=2
&Version=<version>
&SignatureVersion=4
&SignatureMethod=HmacSHA256
&Timestamp=<timestamp>
&X-Amz-Credential=<credential>

Di permintaan sebelumnya, Anda perlu menyediakan nilai untuk Versi, Stempel waktu, dan Kredensial X-Amz

Langkah 10: Hubungkan ke Redis

Temukan titik akhir konfigurasi dari Klaster Redis Anda.

10.1 — Klik pada panah untuk menampilkan detail Klaster Redis.

10.2 — Salin Titik Akhir Konfigurasi.

Dalam contoh, setiap kali titik akhir disebutkan, Anda harus menggunakan nama host dari Titik Akhir Konfigurasi Anda.

10.4 — Gunakan utilitas redis-cli untuk menghubungkan ke node Redis Anda.

$ ./src/redis-cli -c -h endpoint

10.5 — Uji koneksi dengan PING.

endpoint:6379> PING
	PONG

Langkah 11: Picu failover

Kini Anda memiliki Klaster Redis yang berfungsi dan sehat. Salah satu fitur mode klaster adalah fakta bahwa jika node mati, klaster akan pulih sendiri. Dalam upaya menguji klaim tersebut, Anda dapat memicu failover manual dan akan terjadi hal berikut: replika-baca akan dipilih untuk mengambil alih peran master, dan setelah failover dieksekusi, Anda akan dapat terhubung ke master baru. Sementara itu, replika baru akan ditambahkan secara otomatis sehingga klaster tersebut akan tetap memiliki satu master dan dua replika.

Dengan menggunakan titik akhir dari langkah 10, periksa peran node tersebut.

11.1 — Periksa peran titik akhir.

	endpoint:6379> ROLE
	1) "master"
 	...

Anda ingin menghubungkan ke master. Jika Anda tidak terhubung ke master, coba dengan titik akhir yang berbeda. Anda memiliki tiga kesempatan untuk membetulkannya.

Setelah Anda menemukan node master:

11.2 — Pilih node mana pun, klik “Tindakan” dan pilih “Failover utama”.

Baca pesan untuk memahami apa yang terjadi, dan kemudian klik “Lanjutkan”. Salah satu replika akan menjadi master baru, dan jumlah replika per master akan dipulihkan. Anda dapat menjalankan perintah CLUSTER NODES untuk memverifikasi apa yang terjadi.

Langkah 12: Hapus klaster Anda

Untuk menyelesaikan percobaan ini, Anda akan mempelajari cara menghapus Klaster Redis ketika tidak diperlukan lagi.

Untuk menghapus Klaster Redis Anda, buka Dasbor ElastiCache dan ikuti petunjuk-petunjuk ini:

12.1 -- Pilih “Redis” di panel sebelah kiri.

Ini akan menampilkan daftar seluruh klaster Redis Anda.

12.2 -- Pilih Klaster Redis yang Anda buat untuk tutorial ini.

12.3 — Klik “Hapus”.

12.4 — Anda akan ditanya apakah Anda ingin membuat pencadangan akhir. Penghapusan biasanya merupakan ide yang bagus, tetapi tidak diperlukan untuk tutorial ini. Pilih “Tidak” dan klik “Hapus”.

Status klaster Anda akan berubah menjadi “menghapus”.

Selamat

Anda telah membuat Klaster Redis dengan mode klaster yang diaktifkan. Node tersebut disebar ke seluruh availability zone dan dikonfigurasi dengan failover otomatis. Anda juga telah mempelajari beberapa praktik terbaik untuk penerapan Klaster Redis.

Apakah tutorial ini bermanfaat?

Terima Kasih
Harap beri tahu kami apa yang Anda sukai.
Maaf karena membuat Anda kecewa
Apakah ada bagian dari tutorial yang tidak relevan, membingungkan, atau tidak akurat? Harap bantu kami meningkatkan tutorial ini dengan memberikan umpan balik.

Pelajari selengkapnya

Jika Anda ingin mengetahui selengkapnya tentang Klaster Redis, baca postingan blog Redis Cluster 101. Untuk konten memulai, panduan pengembang, dan blog teknis kasus penggunaan, kunjungi halaman sumber daya kami.

Pilih ukuran node yang tepat.

Menentukan ukuran node Redis Anda mungkin tampak menantang, tetapi kami telah membuat beberapa panduan untuk membantu Anda memilih ukuran node yang tepat berdasarkan kebutuhan Anda.

Strategi caching

Akhirnya, Anda dapat membaca selengkapnya tentang strategi caching dan praktik terbaik untuk meningkatkan kinerja dan keandalan.