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.
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:
Langkah 3: Konfigurasi Pengaturan Redis
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.
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.
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.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.
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.
Langkah berikutnya yang direkomendasikan
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.