Ölçeklenebilirlik ve yüksek erişilebilirlik için bir Redis Kümesi oluşturma

Amazon Elasticache for Redis küme modunu ayarlama, yapılandırma, güvenlik ve tedarik

Bu öğreticide, ElastiCache for Redis ile bir Redis Kümesini nasıl oluşturacağınızı ve yapılandıracağınızı öğreneceksiniz. Küme modu etkinleştirildiğinde, Redis Kümeniz geliştirilmiş ölçeklenebilirlik ve yüksek erişebilirlik kazanır. Önce küçük başlayıp uygulamanız büyüdükçe Redis verilerinizi kolayca ölçekleyebilirsiniz. Ayrıca, farklı erişilebilirlik alanlarında replikalar oluşturarak okuma kapasitenizi de artırabilirsiniz. Bu öğreticiyi takip ederek Redis Kümesi dağıtımları için bazı en iyi uygulamaları da öğreneceksiniz.

Küme modu özellikleri desteğiyle son derece zengin bir Redis istemci ekosistemi vardır. Bu da, parçalanan verilerle çalışmayı oldukça kolay ve güvenilir hale getirir. Bunun sebebi, istemcilerin yerel bir önbellekteki karma yuvalarını takip edebilmesi ve böylece bütün sistemin performansını iyileştirebilmesidir.

Bu öğreticide oluşturulan ElastiCache düğümü, ücretsiz kullanım için uygundur.

Amazon ElastiCache Panosu’nda oturum açın »

Gereksinimler

Bu öğreticinin bir noktasında, Redis Kümenizin özelliklerini ilk elden deneyimlemek için kümenize bağlanmanız gerekecektir. Yani, bir Redis istemcisinin yüklü olduğu bir EC2 bulut sunucusuna erişmeniz gerekecektir. Redis istemcisinin yüklü olduğu bir EC2 bulut sunucunuz zaten varsa 1. adıma geçebilirsiniz. Aksi takdirde, Amazon EC2 bulut sunucunuza bağlanın ve bir Redis istemcisi yüklemek için aşağıdaki talimatları izleyin.

Bir C derleyiciniz yoksa aşağıdakini çalıştırarak bir tane yükleyin:

$ sudo yum install gcc

Bir Redis istemcisi indirin ve derleyin:

$ 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

Artık öğreticiyi başlatmaya hazırsınız.

Bu Öğretici Hakkında
Süre 10 - 20 dakika                                           
Maliyet Ücretsiz Kullanım için Uygun
Kullanım Örneği Ölçeklendirme, Yüksek Erişilebilirlik, Gerçek zamanlı uygulama
Ürünler AWS ElastiCache for Redis, AWS Ücretsiz Kullanım
Hedef Kitle Geliştiriciler
Seviye Başlangıç Seviyesi
Son Güncelleme 5 Haziran 2019

1. Adım: ElastiCache Panosu’na girin

ElastiCache Panosu'nu açın ve ardından:

1.1 — Sağ üst köşede Redis Kümesini başlatmak istediğiniz bölgeyi seçin.

1.2 - "Hemen Kullanmaya Başlayın" öğesine tıklayın.

2. Adım: Redis Kümenizi Oluşturun

2.1 - Küme altyapınız olarak "Redis"i seçin.

2.2 - “Küme Modu etkinleştirildi”yi işaretleyin.

3. Adım: Redis Ayarlarını Yapılandırın

3.1 - Redis Kümeniz için bir ad seçin, ör. "elc-tutorial".

3.2 - Düğüm türünü cache.t2.micro olarak değiştirin. Bu öğretici için bu düğüm türü uygundur ancak bir üretim kümesi için düğüm boyutu iş yükünüze göre değişecektir ve başlangıç olarak m5 veya r5 bulut sunucusu ailesini seçmelisiniz.

3.3 Parça Sayısı’nda 3’ü seçin. Bu, verinin üç farklı ana düğüme bölüneceği anlamına gelir.

3.4 - Parça başına Replika kısmında 2’yi seçin. Bu, her ana düğümün iki replikası olacağı anlamına gelir. Bir hatayla karşılaşırsanız, otomatik yük devretme tetiklenir ve replikalardan biri ana düğümün rolünü üstlenir.

3.5 - Bir Alt ağ grubu seçin. Alt ağ gruplarıyla ilgili daha fazla bilgi için lütfen belgelere bakın.

4. Adım: Gelişmiş Redis ayarlarını yapılandırın

4.1 - "Otomatik Yük Devretmeli Multi-AZ" kutucuğunu işaretleyin.

Her bir ana düğüm farklı bir erişebilirlik alanında oluşturulur ve replikalarının her biri de farklı bir erişilebilirlik alanına tahsis edilir. Bu, iyileştirilmiş güvenilirlik için bir en iyi uygulamadır.

Diğer alanlar için varsayılan değerleri koruyun.

5. Adım: Güvenlik ayarlarını yapılandırın

Bu örnek için şifreleme uygulamayacağız ancak hem kullanımda olmayan hem de taşınmakta olan veriler için şifrelemeyi yapılandırabileceğinizi unutmayın.

5.1 - Redis Kümeniz için bir Güvenlik grubu seçin.

Bu çok önemli: Seçtiğiniz Güvenlik grubunun, 6379 numaralı bağlantı noktasında gelen TCP bağlantılarına izin verdiğinden emin olun. Aksi takdirde, Redis düğümlerinizle bağlantı kuramazsınız.

6. Adım: Kümeye veri aktarın

Bu örnekte, çekirdek RDB dosyası yüklemeyeceğimiz için bu yapılandırma adımını tamamen atlayabiliriz. Ancak böyle bir seçeneğin olduğunu unutmayın.

7. Adım: Yedeklemeleri yapılandırın

Günlük yedeklemeler, çoğu kullanım örneği için önemlidir. Ayrıca, kötü olaylarda harekete geçmeniz için size yeterince zaman kazandıracak kadar uzun saklama süresi olan yedeklemelerin etkinleştirilmesi tavsiye edilir. Bu öğreticide yedekleme kullanmayacağız.

7.1 - "Otomatik yedeklemeleri etkinleştir" kutucuğunun işaretini kaldırın.

8. Adım: Bakım ayarları

8.1 - İhtiyaçlarınıza uygun bir bakım aralığı belirleyin.

Burada uygulamanızın iş yükünün az olduğu günü ve saati belirleyebilirsiniz. Şimdiki ihtiyaçlarımız için sadece "Tercih yok" diyoruz.

9. Adım: İnceleme ve oluşturma

Formdaki tüm alanları hızlıca inceledikten sonra “Oluştur” düğmesine tıklayabilirsiniz.

9.1 - "Oluştur" düğmesine tıklayın.

Bir Redis Kümesi başlatılacak ve “erişilebilir” duruma geldiğinde 10. Adımla devam edebileceksiniz.

Amazon CLI’yi kullanmayı tercih ederseniz aşağıdaki komut tek seferde Redis Kümesini oluşturacaktır:

Amazon CLI’yi kullanmayı tercih ederseniz aşağıdaki komut tek seferde Redis Kümesini oluşturacaktır:

$ 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"

--security-group-ids için geçirilen argümanda sg-value değerini, kullanmak istediğiniz Güvenlik Grubunun kimliğiyle değiştirmeniz gerekir.

--cache-subnet-group-name için geçirilen argümanda sn-value değerini bir Alt Ağ Grubunun adıyla değiştirin. Bir Alt Ağ Grubu oluşturmanız gerekiyorsa aşağıdaki komutu kullanın:

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

sn-ids değeri, bir alt ağ kimlikleri listesi olmalıdır.

Amazon API’yi kullanmayı tercih ederseniz aşağıdaki talep bir Redis Kümesi oluşturacaktır:

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>

Önceki talepte Version (Sürüm), Timestamp (Zaman damgası) ve X-Amz-Credential (X-Amz-Kimlik bilgileri) değerlerini sağlamanız gerekir.

10. Adım: Redis’e Bağlanın

Redis Kümenizin yapılandırma uç noktalarını bulun.

10.1 - Redis Kümesi ayrıntılarını görüntülemek için oka tıklayın.

10. 2 - Yapılandırma Uç Noktasını kopyalayın.

Örneklerde her bir uç noktasından bahsedildiğinde Yapılandırma Uç Noktanızın konak adını kullanmalısınız.

10.4 - Redis düğümünüze bağlanmak için redis-cli’yi kullanın.

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

10.5: Bağlantıyı PING ile test edin.

endpoint:6379> PING
	PONG

11. Adım: Bir yük devretme tetikleyin

Artık çalışan ve iyi durumda olan bir Redis Kümeniz var. Küme modunun özelliklerinden biri, bir düğüm öldüğünde kümenin kendi kendine iyileşebilmesidir. Bunu test etmek için manuel olarak bir yük devretme tetikleyebilirsiniz. Bunu yaptığınızda, ana düğümün yerini almak için bir okuma replikası seçilir ve yük devretme gerçekleştirildiğinde yeni bir ana düğüme bağlanabilirsiniz. Bu arada, kümenin hâlâ bir ana düğüm ve iki replikaya sahip olması için otomatik olarak yeni bir replika eklenir.

10. adımdaki uç noktayı kullanarak düğümün rolünü kontrol edin.

11.1 - Uç noktanın rolünü kontrol edin.

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

Ana düğüme bağlanmak istiyorsunuz. Bir ana düğüme bağlanmadıysanız başka bir uç noktayla deneyin. Doğru yapmak için üç şansınız vardır.

Ana düğümü bulduktan sonra:

11.2 - Düğümlerden birini seçin, “Eylem”e tıklayın ve “Ana Düğüm Yük Devretme”yi seçin.

Ne olduğunu anlamak için mesajı okuyun ve ardından “Devam Et” düğmesine tıklayın. Replikalardan biri yeni ana düğüm olur ve ana düğüm başına replika sayısı eski haline döner. Olanları doğrulamak için CLUSTER NODES komutunu çalıştırabilirsiniz.

12. Adım: Kümenizi silin

Bu deneyi bitirmek için Redis Kümenizi artık ihtiyaç duyulmadığında nasıl sileceğinizi öğreneceksiniz.

Redis Kümenizi silmek için ElastiCache Panosu’na gidin ve aşağıdaki talimatları takip edin:

12.1 - Sol bölmede “Redis”i seçin.

Bu size tüm Redis kümelerinizin bir listesini gösterecektir.

12.2 - Bu öğretici için oluşturduğunuz Redis Kümesi’ni seçin.

12.3 - “Sil” düğmesine tıklayın.

12.4 - Son bir yedekleme oluşturmak isteyip istemediğiniz sorulacaktır. Normalde bu iyi bir fikirdir fakat bu öğretici için gerekli değildir. “Hayır”ı seçin ve “Sil” düğmesine tıklayın.

Kümenizin durumu “siliniyor” olarak değişecektir.

Tebrikler

Küme modu etkinleştirilmiş bir Redis Kümesi oluşturdunuz. Düğümler erişilebilirlik alanlarına dağıtıldı ve otomatik yük devretme ile yapılandırıldı. Ayrıca Redis Kümesi dağıtımları için bazı en iyi uygulamaları da öğrendiniz.

Bu öğretici size yardımcı oldu mu?

Teşekkür ederiz
Lütfen neleri beğendiğinizi bize iletin.
Sizi hayal kırıklığına uğrattığımız için özür dileriz
Eski, kafa karıştırıcı veya hatalı bir şey mi var? Lütfen geri bildirim sağlayarak bu öğreticiyi iyileştirmemize yardımcı olun.

Daha fazla bilgi edinin

Redis Kümesi hakkında daha fazla bilgi edinmek için Redis Kümesi 101 blog gönderisini okuyun. Diğer kullanmaya başlama kılavuzları, geliştirici kılavuzları ve kullanım örneği teknik blogları için kaynaklar sayfamızı ziyaret edin.

Doğru düğüm boyutunu seçin

Redis düğümlerinizin boyutunu belirlemek zor olabilir ancak ihtiyaçlarınıza göre doğru düğüm boyutunu seçmenize yardımcı olacak bazı yönergeler hazırladık.

Önbelleğe alma stratejileri

Son olarak, performansı ve güvenilirliği artırmak için önbelleğe alma stratejileri ve en iyi uygulamalar hakkında daha fazla bilgi edilebilirsiniz.