ตั้งค่าคลัสเตอร์ Redis เพื่อความสามารถในการปรับขนาดได้และความพร้อมใช้งานสูง

การตั้งค่า การกำหนดค่า การรักษาความปลอดภัย และการเตรียมความพร้อมของโหมดคลัสเตอร์ Amazon ElastiCache for Redis

ในบทแนะนำสอนการใช้งาน คุณจะได้เรียนรู้วิธีสร้างและกำหนดค่าคลัสเตอร์ Redis ด้วย ElastiCache for Redis เมื่อเปิดใช้งานโหมดคลัสเตอร์ คลัสเตอร์ Redis ของคุณจะมีความสามารถในการปรับขนาดและมีความพร้อมใช้งานในระดับสูง คุณสามารถเริ่มการปรับขนาดข้อมูล Redis ของคุณได้ทีละน้อยและอย่างง่ายดายได้ในขณะที่แอปพลิเคชันของคุณเติบโตขึ้น และโดยการตั้งค่าแบบจำลองใน Availability Zone ต่างๆ คุณยังสามารถเพิ่มขีดความสามารถการอ่านของคุณได้ โดยการทำตามบทแนะนำสอนการใช้งาน คุณยังจะได้เรียนรู้แนวทางปฏิบัติที่ดีที่สุดบางอย่างสำหรับการปรับใช้ Redis Cluster

มีระบบนิเวศที่อุดมสมบูรณ์ของไคลเอนต์ Redis ด้วยการสนับสนุนคุณสมบัติโหมดคลัสเตอร์ สิ่งนี้ทำให้การทำงานกับข้อมูลที่ถูกตัดทิ้งนั้นง่ายและน่าเชื่อถืออย่างยิ่งเนื่องจากไคลเอนต์สามารถติดตามตำแหน่งของ hashslots ในแคชภายในได้ ซึ่งจะช่วยปรับปรุงประสิทธิภาพของระบบโดยรวมได้

โหนด ElastiCache ที่สร้างขึ้นในบทแนะนำสอนการใช้งานนี้สามารถใช้ Free Tier ได้

ลงชื่อเข้าใช้แดชบอร์ด Amazon ElastiCache »

ข้อกำหนด

ในบางขั้นตอนของบทแนะนำสอนการใช้งานนี้ คุณจะต้องเชื่อมต่อกับคลัสเตอร์ Redis ของคุณเพื่อสัมผัสประสบการณ์ของคุณสมบัติบางอย่างเหล่านี้ก่อนใคร ซึ่งหมายความว่าคุณจะต้องเข้าถึง EC2 instance ที่ติดตั้งไคลเอนต์ Redis เอาไว้ หากคุณมี EC2 instance ที่ติดตั้งไคลเอนต์ Redis ไว้แล้ว คุณสามารถขั้นตอนที่ 1 ได้ มิเช่นนั้น ให้เชื่อมต่อ Amazon EC2 instance ของคุณและปฏิบัติตามคำสั่งด้านล่างเพื่อติดตั้งไคลเอนต์ Redis

หากคุณไม่มีตัวแปลโปรแกรม C ที่พร้อมใช้งาน ให้ติดตั้งโดยทำดังนี้

$ sudo yum install gcc

ดาวน์โหลดและคอมไพล์ไคลเอนต์ 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

ตอนนี้ คุณพร้อมที่เริ่มเข้าสู่บทช่วยสอนแล้ว

เกี่ยวกับบทช่วยสอนนี้
เวลา 10 - 20 นาที                                           
ค่าใช้จ่าย สิทธิ์ใช้งานแบบ Free Tier
กรณีใช้งาน การปรับขนาด ความพร้อมใช้งานสูง แอปพลิเคชันแบบเรียลไทม์
ผลิตภัณฑ์ AWS ElastiCache สำหรับ Redis, AWS Free Tier
ผู้เข้าร่วม นักพัฒนา
ระดับ ผู้เริ่มต้น
อัปเดตล่าสุด 5 มิถุนายน 2019

ขั้นตอนที่ 1: เข้าสู่แดชบอร์ด ElastiCache

เปิด แดชบอร์ด ElastiCache จากนั้น:

1.1 — ที่มุมขวาบน ให้เลือกเขตที่คุณต้องการเปิดใช้งานคลัสเตอร์ Redis

1.2 — คลิกที่ “เริ่มต้นใช้งานตอนนี้”

ขั้นตอนที่ 2: สร้างคลัสเตอร์ Redis ของคุณ

2.1 — เลือก “Redis” ให้เป็นกลไกของคลัสเตอร์

2.2 — ตรวจสอบ “เปิดใช้งานโหมดคลัวเตอร์แล้ว”

ขั้นตอนที่ 3: กำหนดค่าการตั้งค่า Redis

3.1 — เลือกชื่อให้กับคลัสเตอร์ Redis เช่น “elc-tutorial”

3.2 — เปลี่ยนประเภทโหนดให้เป็น cache.t2.micro ประเภทโหนดดังกล่าวเหมาะสำหรับบทแนะนำสอนการใช้งานนี้ แต่สำหรับคลัสเตอร์การผลิตนั้น ขนาดของโหนดควรขึ้นอยู่กับปริมาณงานของคุณ และคุณควรเริ่มต้นด้วยกลุ่มประเภทอินสแตนซ์ m5 หรือ r5

3.3 — ในจำนวนชาร์ด ให้เลือก 3 ซึ่งหมายความว่าข้อมูลจะถูกแบ่งออกเป็นโนดต้นแบบที่แตกต่างกันสามโนด

3.4 — ในแบบจำลองต่อชาร์ด หมายความว่าโหนดหลักแต่ละโหนดจะมีแบบจำลองสองแบบ ในกรณีที่การทำงานล้มเหลว ระบบจะกระตุ้นการเปลี่ยนระบบอัตโนมัติให้ทำงานและหนึ่งในแบบจำลองจะเข้าควบคุมบทบาทของโหนดต้นแบบ

3.5 — เลือกกลุ่มซับเน็ต หากคุณต้องการข้อมูลเพิ่มเติมเกี่ยวกับกลุ่มซับเน็ต โปรดดูที่ เอกสารประกอบ

ขั้นตอนที่ 4: กำหนดค่าการตั้งค่า Redis ขั้นสูง

4.1 — ทำเครื่องหมายในช่อง “Multi-AZ with Auto-Failover”

โหนดหลักแต่ละโหนดจะถูกสร้างใน Availability Zone ต่างๆ และแบบจำลองแต่ละแบบจะได้รับการจัดสรรไปยัง Availability Zone ต่างๆ ซึ่งเป็นแนวทางปฏิบัติที่ดีที่สุดในการปรับปรุงความเชื่อถือได้

คงค่าเริ่มต้นเอาไว้สำหรับช่องอื่นๆ

ขั้นตอนที่ 5: กำหนดค่าการตั้งค่าความปลอดภัย

สำหรับตัวอย่างนี้ เราจะไม่ใช้การเข้ารหัส แต่โปรดจำไว้ว่าคุณสามารถกำหนดค่าการเข้ารหัสข้อมูล ทั้งข้อมูลที่จัดเก็บไว้และข้อมูลที่รับส่ง

5.1 — เลือกกลุ่มความปลอดภัยให้กับคลัสเตอร์ Redis ของคุณ

นี่เป็นขั้นตอนที่สำคัญ: โปรดตรวจสอบให้แน่ใจว่ากลุ่มความปลอดภัยที่คุณเลือกอนุญาตให้ทำการเชื่อมต่อ TCP ขาเข้าบนพอร์ต 6379 ไม่เช่นนั้น คุณจะไม่สามารถเชื่อมต่อกับโหนด Redis ของคุณได้

ขั้นตอนที่ 6: นำข้อมูลเข้าสู่คลัสเตอร์

สำหรับตัวอย่างนี้ เราจะไม่โหลดไฟล์ RDB ที่ปล่อยต่อใดๆ ดังนั้น เราสามารถข้ามขั้นตอนการกำหนดค่าทั้งหมดนี้ เพียงแค่ให้คุณทราบไว้ว่ามีตัวเลือกนี้ให้ใช้งาน

ขั้นตอนที่ 7: กำหนดค่าการสำรองข้อมูล

การสำรองข้อมูลประจำวันเป็นสิ่งสำคัญสำหรับกรณีการใช้งานส่วนใหญ่ และการเปิดใช้งานการสำรองข้อมูลที่มีระยะเวลาการเก็บรักษาที่จะทำให้คุณมีเวลาเพียงพอสำหรับการดำเนินการแก้ไขในกรณีที่มีข้อผิดพลาดเกิดขึ้นถือเป็นคำแนะนำที่ดี สำหรับบทแนะนำสอนการใช้งานนี้ เราจะไม่ใช้การสำรองข้อมูลใดๆ

7.1 — เอาเครื่องหมายออกจากช่อง “เปิดใช้งานการสำรองข้อมูลโดยอัตโนมัติ”

ขั้นตอนที่ 8: การตั้งค่าการบำรุงรักษา

8.1 — ระบุระยะเวลาบำรุงรักษาที่เหมาะกับความต้องการของคุณ

ในส่วนนี้ คุณจะได้พิจารณาเกี่ยวกับเวลาและวันเมื่อแอปพลิเคชันของคุณมีปริมาณงานต่ำ สำหรับความต้องการในปัจจุบัน เพียงแค่ระบุว่า “ไม่กำหนดค่าที่ต้องการ” ก็พอ

ขั้นตอนที่ 9: ตรวจสอบและสร้าง

หลังจากที่ตรวจสอบช่องทั้งหมดในแบบฟอร์มแล้วอย่างรวดเร็ว คุณสามารถกด “สร้าง”

9.1 — คลิกที่ “สร้าง”

คลัสเตอร์ Redis จะเริ่มต้นการทำงานและทันทีที่ “พร้อมใช้งาน” คุณจะสามารถดำเนินการต่อในขั้นตอนที่ 10

หากคุณต้องการใช้ Amazon CLI คำสั่งด้านล่างจะสร้างคลัสเตอร์ Redis ในครั้งเดียว

หากคุณต้องการใช้ Amazon CLI คำสั่งด้านล่างจะสร้างคลัสเตอร์ Redis ในครั้งเดียว

$ 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 คุณต้องแทนที่ sg-value ด้วย ID ของกลุ่มความปลอดภัยที่คุณต้องการใช้

สำหรับอากิวเมนต์ --cache-subnet-group-name ให้แทนที่ sn-value ด้วยชื่อของกลุ่มซับเน็ต หากคุณต้องการสร้างกลุ่มซับเน็ต ให้ใช้คำสั่งต่อไปนี้

$ 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 ต้องเป็นรายการของ ID ซับเน็ต

หากคุณต้องการใช้ Amazon API คำขอด้านล่างจะสร้างคลัสเตอร์ 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>

ในคำขอก่อนหน้า คุณต้องระบุค่าสำหรับเวอร์ชั่น ตราประทับเวลา และ X-Amz-Credential

ขั้นตอนที่ 10: เชื่อมต่อกับ Redis

ค้นหาตำแหน่งข้อมูลการกำหนดค่าของคลัสเตอร์ Redis ของคุณ

10.1 — คลิกที่ลูกศรเพื่อดูรายละเอียดคลัสเตอร์ Redis

10.2 — คัดลอกตำแหน่งข้อมูลการกำหนดค่า

ตัวอย่างเช่น ในแต่ละครั้งที่มีการกล่าวถึงตำแหน่งข้อมูล คุณควรใช้ชื่อโฮสต์ของตำแหน่งข้อมูลการกำหนดค่าของคุณ

10.4 — ใช้ยูทิลิตี redis-cli ในการเชื่อมต่อกับโหนด Redis ของคุณ

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

10.5 — ทดสอบการเชื่อมต่อกับ PING

endpoint:6379> PING
	PONG

ขั้นตอนที่ 11: ทริกเกอร์การเปลี่ยนระบบเมื่อเกิดข้อผิดพลาด

ในตอนนี้ คุณมีคลัสเตอร์ Redis ที่ใช้งานได้และมีสภาพสมบูรณ์แล้ว หนึ่งในคุณสมบัติของโหมดคลัสเตอร์คือข้อเท็จจริงที่ว่าถ้าโหนดสิ้นสุดลง คลัสเตอร์จะสามารถรักษาตัวเองได้ ในการทดสอบการอ้างสิทธิ์นั้น คุณสามารถทริกเกอร์การการเปลี่ยนระบบเมื่อเกิดข้อผิดพลาดด้วยตนเองได้และสิ่งต่อไปนี้จะเกิดขึ้น: read-replica จะถูกเลือกให้เข้ามารับบทบาทของตัวหลัก และเมื่อมีการดำเนินการการเปลี่ยนระบบเมื่อเกิดข้อผิดพลาด คุณจะสามารถเชื่อมต่อกับตัวหลักใหม่ได้ ในขณะเดียวกัน แบบจำลองใหม่จะถูกเพิ่มโดยอัตโนมัติเพื่อให้คลัสเตอร์จะยังคงมีตัวหลักหนึ่งตัวและแบบจำลองสองแบบ

การใช้ตำแหน่งข้อมูลจากขั้นตอนที่ 10 ตรวจสอบบทบาทของโหนด

11.1 — ตรวจสอบบทบาทของตำแหน่งข้อมูล

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

คุณต้องการเชื่อมต่อกับตัวหลัก หากคุณไม่เชื่อมต่อกับตัวหลัก ให้ลองกับตำแหน่งข้อมูลอื่น คุณมีโอกาสสามครั้งในการทำให้ถูกต้อง

เมื่อคุณพบโหนดหลักแล้ว

11.2 — เลือกโหนดใดก็ได้ คลิก “การดำเนินการ” แล้วเลือก “การเปลี่ยนระบบเมื่อเกิดข้อผิดพลาดตัวหลัก”

อ่านข้อความเพื่อทำความเข้าใจว่าเกิดอะไรขึ้น จากนั้นคลิก “ดำเนินการต่อ” หนึ่งในแบบจำลองจะกลายเป็นตัวหลักใหม่ และจำนวนของแบบจำลองต่อตัวหลักจะถูกคืนค่า คุณสามารถเรียกใช้คำสั่ง CLUSTER NODES เพื่อตรวจสอบสิ่งที่กำลังเกิดขึ้นได้

ขั้นตอนที่ 12: ลบคลัสเตอร์ของคุณ

เพื่อทำการทดสอบนี้ให้เสร็จสิ้น คุณจะต้องเรียนรู้วิธีการลบคลัสเตอร์ Redis เมื่อไม่มีความจำเป็นต้องใช้แล้ว

หากต้องการลบคลัสเตอร์ Redis ของคุณ ให้ไปที่แดชบอร์ด ElastiCache แล้วทำตามขั้นตอนต่อไปนี้:

12.1 – เลือก “Redis” บนบานหน้าต่างด้านซ้าย

แล้วรายการคลัสเตอร์ Redis ของคุณทั้งหมดจะปรากฏ

12.2 — เลือกคลัสเตอร์ Redis ที่คุณสร้างสำหรับบทช่วยสอนนี้

12.3 — คลิกที่ “ลบ”

12.4 — ระบบจะถามว่าคุณต้องการสร้างการสำรองข้อมูลขั้นสุดท้ายหรือไม่ โดยทั่วไปแล้วนับว่าเป็นความคิดที่ดี แต่ไม่จำเป็นสำหรับบทแนะนำสอนการใช้งานนี้ เลือก “ไม่” แล้วคลิก “ลบ”

สถานะคลัสเตอร์ของคุณจะเปลี่ยนเป็น “กำลังลบ”

ขอแสดงความยินดี

คุณได้สร้างคลัสเตอร์ Redis ที่เปิดใช้งานโหมดคลัสเตอร์ โหนดจะกระจายออกไปตาม Availability Zone และได้รับการกำหนดค่าด้วยการเปลี่ยนระบบอัตโนมัติ คุณยังได้เรียนรู้เกี่ยวกับแนวทางปฏิบัติที่ดีที่สุดบางอย่างสำหรับการปรับใช้คลัสเตอร์ Redis

บทช่วยสอนนี้เป็นประโยชน์หรือไม่

ขอบคุณ
โปรดบอกเราว่าคุณชอบอะไร
ขออภัยที่ทำให้คุณผิดหวัง
มีเนื้อหาที่ไม่อัปเดต คลุมเครือ หรือไม่ถูกต้องหรือไม่ โปรดช่วยเราในการปรับปรุงบทช่วยสอนนี้โดยการให้คำติชม

เรียนรู้เพิ่มเติม

หากคุณต้องการทราบข้อมูลเพิ่มเติมเกี่ยวกับคลัสเตอร์ Redis โปรดอ่านโพสต์บล็อก คลัสเตอร์ Redis 101 สำหรับเนื้อหาเกี่ยวกับการเริ่มต้นใช้งานอื่นๆ คู่มือนักพัฒนา และบล็อกทางเทคนิคของกรณีการใช้งาน โปรดเข้าไปที่หน้าแหล่งข้อมูล

เลือกขนาดโหนดที่ถูกต้อง

การกำหนดขนาดของโหนด Redis ของคุณอาจดูเป็นเรื่องยาก แต่เราได้สร้างแนวทางที่จะช่วยคุณสามารถเลือกขนาดโหนดที่ถูกต้องโดยอิงจากความต้องการของคุณ

กลยุทธ์การแคช

ท้ายที่สุด คุณสามารถอ่านข้อมูลเพิ่มเติมเกี่ยวกับกลุยทธ์การแคชและแนวทางปฏิบัติที่ดีที่สุดเพื่อปรับปรุงประสิทธิภาพและความน่าเชื่อถือได้