בדף הזה מוסבר איך להתחבר למופע Redis באמצעות Telnet ו-redis-cli. בנוסף, בדף הזה מוסבר איך להתחבר כשמשתמשים בתכונות כמו רפליקות לקריאה, AUTH והצפנה במעבר.
בסיום, בדף הזה מופיעות הוראות להתחברות מסביבת Google Kubernetes Engine.
רשימת Google Cloud הסביבות ש-Memorystore for Redis תומך בהן זמינה במאמר בנושא סביבות נתמכות. חלק מהסביבות של serverless ש-Memorystore תומך בהן דורשות מחבר של חיבור לרשת (VPC) מאפליקציית serverless. פרטים נוספים זמינים במאמר בנושא דרישות של מחבר חיבור לרשת (VPC) מאפליקציית serverless.
התחברות למופע Redis ממכונה וירטואלית ב-Compute Engine באמצעות telnet
אפשר להתחבר למופע של Memorystore for Redis מכל מכונה וירטואלית ב-Compute Engine שמשתמשת ברשת המורשית של המופע עם כתובת IP נתמכת מסוג RFC 1918.
אם אין לכם מכונה וירטואלית של Compute Engine שמשתמשת באותה רשת מורשית כמו המופע שלכם, אתם צריכים ליצור אחת כזו ולהתחבר אליה באמצעות SSH. כדי לעשות זאת, פועלים לפי השלבים במאמר יצירת מכונה וירטואלית של Linux ב-Compute Engine.
משתמשים ב-
apt-getכדי להתקין אתtelnet:sudo apt-get install telnetמהטרמינל, מתחברים באמצעות Telnet לכתובת ה-IP של המכונה. מחליפים את VARIABLES בערכים המתאימים.
telnet INSTANCE_IP_ADDRESS 6379
אם אפשר להתחבר למופע, הפקודה תחזיר את התוצאה הבאה:
Trying INSTANCE_IP_ADDRESS… Connected to INSTANCE_IP_ADDRESS
בסשן של telnet, מזינים כמה פקודות Redis:
צריך להזין את הפרטים הבאים:
PING
תוצאה:
PONG
Enter
SET HELLO WORLD
תוצאה:
+OK
צריך להזין את הפרטים הבאים:
GET HELLO
תוצאה:
$5 WORLD
התחברות למופע Redis ממכונה וירטואלית ב-Compute Engine באמצעות redis-cli
אפשר להתחבר למופע Redis מכל מכונה וירטואלית ב-Compute Engine שמשתמשת ברשת המורשית של מופע Redis עם כתובת IP נתמכת מסוג RFC 1918.
אם עדיין אין לכם מכונת VM ב-Compute Engine שמשתמשת ברשת המורשית עבור מופע Redis, אתם יכולים ליצור מכונה כזו ולהתחבר אליה באמצעות ההוראות שבמאמר יצירת מכונת VM ברשת משנה ספציפית.
מריצים את הפקודה הבאה מטרמינל ה-SSH של Compute Engine כדי להתקין את
redis-cliבמכונה וירטואלית של Compute Engine:sudo apt-get install redis-tools
מריצים את הפקודה הבאה בטרמינל של Compute Engine, ומחליפים את variables בערכים המתאימים.
redis-cli -h redis-instance-ip-address
התחברתם עכשיו למופע Redis באמצעות
redis-cli.אחרי שתסיימו לבדוק את החיבור למופע Redis, מומלץ למחוק את המכונה הווירטואלית ב-Compute Engine שבה השתמשתם כדי להתחבר למופע Redis. כך תוכלו להימנע מחיובים בחשבון לחיוב ב-Cloud.
התחברות למכונת Redis שמשתמשת ב-AUTH
בקטע הזה מוסבר איך להתחבר למופע Redis שבו התכונה AUTH מופעלת.
אם עדיין אין לכם מכונת VM ב-Compute Engine שמשתמשת באותה רשת מורשית כמו מופע Redis, אתם יכולים ליצור מכונת VM כזו ולהתחבר אליה באמצעות המדריך להתחלה מהירה בנושא שימוש במכונת VM של Linux.
מריצים את הפקודה הבאה מטרמינל ה-SSH של Compute Engine כדי להתקין את
redis-cliבמכונה וירטואלית של Compute Engine:sudo apt-get install redis-tools
קבלת מחרוזת ה-AUTH של המכונה
מריצים את הפקודה הבאה כדי להשתמש ב-
redis-cliלאימות ולחיבור למכונה, אחרי שמחליפים את variables בערכים המתאימים:redis-cli -h instance-ip-address -a auth-string
או:
redis-cli -h instance-ip-address AUTH auth-string
מריצים את הפקודות
SETו-GETשל Redis כדי לוודא שיצרתם חיבור מאומת למופע.אחרי שתסיימו לבדוק את החיבור למופע Redis, מומלץ למחוק את המכונה הווירטואלית ב-Compute Engine שבה השתמשתם כדי להתחבר למופע Redis. כך תוכלו להימנע מחיובים בחשבון לחיוב ב-Cloud.
התחברות למכונת Redis באמצעות נקודת הקצה לקריאה
אם במכונה שלכם מופעלת שכפול קריאה, אתם יכולים להתחבר לנקודת הקצה של הקריאה באמצעות ההוראות הבאות:
אם עדיין אין לכם מכונה וירטואלית ב-Compute Engine שמשתמשת באותה רשת מורשית כמו מופע Redis, אתם יכולים ליצור מכונה וירטואלית ולהתחבר אליה באמצעות המדריך להתחלה מהירה לשימוש במכונה וירטואלית של Linux.
התקנת
telnetבאמצעותapt-get:sudo apt-get install telnetכדי למצוא את כתובת ה-IP של נקודת הקצה לקריאה של המכונה, צופים בפרטי הרפליקה לקריאה של המכונה.
במסוף, מריצים telnet לכתובת ה-IP של נקודת הקצה לקריאה של מופע Redis, ומחליפים את variables בערכים המתאימים.
telnet read-endpoint-ip 6379
אם הפקודה מסתיימת בלי שגיאות, היא תחזיר את התוצאה הבאה:
Trying read-endpoint-ip… Connected to read-endpoint-ip
בסשן של telnet, מזינים כמה פקודות Redis:
צריך להזין את הפרטים הבאים:
PING
תוצאה:
PONG
חיבור מאובטח למופע Redis באמצעות Stunnel ו-telnet
בקטע הזה מובאת דוגמה לאופן ההתחברות למופע Redis שבו מופעלת הצפנה במעבר באמצעות Stunnel.
אם עדיין אין לכם מכונת Redis שמופעל בה הצפנה במעבר, אתם יכולים ליצור אחת לפי ההוראות במאמר יצירת מכונת Redis עם הצפנה במעבר.
אם עדיין אין לכם מכונה וירטואלית ב-Compute Engine שמשתמשת באותה רשת מורשית כמו מופע Redis מהשלב הקודם, אתם יכולים ליצור מכונה וירטואלית ולהתחבר אליה באמצעות המדריך להתחלה מהירה לשימוש במכונת VM של Linux.
מריצים את הפקודות הבאות כדי להתקין את הכלים הנדרשים למדריך הזה:
sudo apt-get install stunnel4
sudo apt-get install telnet
מגדירים את המכונה הווירטואלית ב-Compute Engine לשימוש ב-Stunnel:
כדי ליצור קובץ חדש שבו אפשר להזין את רשות האישורים (CA), מריצים את הפקודה הבאה:
sudo vim /tmp/server_ca.pem
כדי לראות את רשויות האישורים של מופע Redis, מריצים את הפקודה הבאה בטרמינל הרגיל שבו משתמשים לניהול משאביGoogle Cloud (לא בטרמינל של Compute Engine):
gcloud redis instances describe instance-id --region=region
יכולות להיות עד שלוש רשויות אישורים.
מעתיקים את כל רשויות האישורים שמוצגות, כולל השורה
-----BEGIN CERTIFICATE-----והשורות-----END CERTIFICATE-----, ומדביקים ושומרים אותן בקובץserver_ca.pemשיצרתם קודם.כדי ליצור קובץ חדש שבו אפשר להזין את פרטי התצורה של Stunnel, מריצים את הפקודה הבאה:
sudo vim /etc/stunnel/redis-client.conf
מדביקים את הטקסט הבא בקובץ, ומחליפים את redis-instance-ip בכתובת ה-IP של מופע Redis:
output=/tmp/stunnel.log CAfile=/tmp/server_ca.pem client=yes pid=/var/run/stunnel.pid verifyChain=yes sslVersion=TLSv1.2 [redis] accept=127.0.0.1:6378 connect=redis-instance-ip:6378
מריצים את הפקודה הבאה כדי להפעיל את stunnel:
sudo stunnel /etc/stunnel/redis-client.conf
מוודאים ש-stunnel פועל:
ps aux | grep stunnel
מפעילים מחדש את Stunnel על ידי הרצת הפקודות הבאות:
sudo systemctl restart stunnel4
כדי להתחבר למכונת Redis באמצעות Telnet, מריצים את הפקודה הבאה:
telnet localhost 6378
בסשן Telnet, שולחים פינג למכונת Redis:
צריך להזין את הפרטים הבאים:
PING
תוצאה:
PONG
התחברות ממחשב מקומי באמצעות העברת יציאות
במהלך הפיתוח, יכול להיות שתרצו להתחבר למופע Redis מהמחשב המקומי. כדי לעשות זאת, צריך ליצור מכונה של Compute Engine שתשמש להעברת יציאות למופע Redis.
מריצים את הפקודה הבאה כדי ליצור מכונה של Compute Engine:
gcloud compute instances create COMPUTE_VM_NAME --machine-type=f1-micro --zone=ZONE
כאשר:
- COMPUTE_VM_NAME הוא השם שאתם מקצים למכונת ה-VM של Compute Engine.
- ZONE הוא האזור שבו רוצים להקצות את המכונה הווירטואלית.
הפקודה הזו יוצרת מכונה וירטואלית ב-Compute Engine עם
f1-microסוג המכונה כדי לחסוך בעלויות. אפשר לבחור סוגים אחרים של מכונות.פותחים טרמינל חדש במחשב המקומי.
כדי ליצור מנהרת SSH שמעבירה תעבורה דרך המכונה הווירטואלית ב-Compute Engine, מריצים את הפקודה הבאה:
gcloud compute ssh COMPUTE_VM_NAME --zone=ZONE -- -N -L 6379:REDIS_INSTANCE_IP_ADDRESS:6379
כאשר:
- COMPUTE_VM_NAME הוא השם של מכונת ה-VM ב-Compute Engine.
- ZONE הוא אותו תחום שבו נמצאת המכונה הווירטואלית ב-Compute Engine.
- REDIS_INSTANCE_IP_ADDRESS היא כתובת ה-IP של מופע Redis.
כדי לבדוק את החיבור, פותחים חלון טרמינל חדש ומריצים את הפקודה הבאה:
redis-cli ping
אם הפעולה מתבצעת כראוי, התוצאה שמתקבלת היא:
PONG
עכשיו אתם מחוברים למופע Redis, ואתם יכולים לשלוח פקודות למופע Redis באמצעות מנהרת ה-SSH הפתוחה הזו. אם עדיין לא התקנתם את
redis-cli, תצטרכו להתקין אותו כדי להריץ את הפקודה הזו.מנהרת ה-SSH נשארת פתוחה כל עוד חלון הטרמינל עם חיבור מנהרת ה-SSH פועל.
חיבור למופע Redis מאשכול Google Kubernetes Engine
כדי לבדוק אם באשכול שלכם נעשה שימוש בכינוי IP, משתמשים ב-gcloud container clusters describe.
אתם יכולים להתחבר למופע Redis מאשכולות Google Kubernetes Engine שמשתמשים באותה רשת מורשית כמו מופע Redis.
התחברות מ-Pod שמריץ מעטפת bash
- נכנסים לדף GKE במסוף Google Cloud .
GKE - לוחצים על אשכול GKE שרוצים להתחבר ממנו. אם עדיין אין לכם אשכול, יוצרים אשכול עם כינויי IP מופעלים. הוראות ליצירת אשכול עם כינויי IP מופעלים מופיעות במאמר יצירת אשכול המותאם ל-VPC.
- לוחצים על הלחצן Connect (התחברות) משמאל לשם האשכול, ואז לוחצים על הלחצן Run in Cloud Shell (הפעלה ב-Cloud Shell) בחלון שמופיע.
- מגדירים גישה לשורת הפקודה
kubectlעל ידי הפעלת הפקודה הבאה:gcloud container clusters get-credentials CLUSTER_NAME --zone=CLUSTER_ZONE --project=PROJECT_ID
-
CLUSTER_NAMEהוא שם האשכול. -
CLUSTER_ZONEהוא האזור שבו נמצא האשכול. האזור הזה צריך להיות גם האזור שבו מופעלת דוגמת Redis. -
PROJECT_IDהוא הפרויקט שבו נמצאים האשכול ומכונות Redis.
kubeconfig generated for CLUSTER_NAME -
- אם הגרסה של האשכול היא 1.8 ואילך והאפשרות 'כינויי IP' מופעלת, מדלגים על השלב הזה. אם האשכול שלכם הוא מגרסה 1.7 או מגרסה מוקדמת יותר, או אם באשכול מגרסה 1.8 או מגרסה מאוחרת יותר לא מופעלים כינויי IP, צריך לבצע את השלבים הבאים כדי לעקוף את הבעיה לפני שמנסים להתחבר למופע: מידע נוסף על כינויי IP, כולל איך ליצור אשכול כשההגדרה הזו מופעלת, זמין במאמר יצירת אשכול המותאם ל-VPC.
- כדי להתחבר למעטפת bash, משתמשים בפקודה הבאה:
kubectl run -i --tty busybox --image=busybox -- sh
- מתחברים למופע Redis באמצעות Telnet, באמצעות כתובת המארח ומספר היציאה:
telnet HOST-IP PORT
- מזינים פקודת Redis בסיסית כדי לאמת את החיבור:
PING +PONG
- כדי לסגור את חיבור ה-Telnet, מקישים על Control+C (או על Command+C ב-Mac). כדי לצאת ממעטפת bash בתא, מזינים return. אם סיימתם ואין לכם יותר צורך להתחבר ל-Redis, מריצים את הפקודה הבאה מהספרייה
/k8s-custom-iptables/:./uninstall.sh
התחברות למופע Redis מ-Pod של Google Kubernetes Engine
לפני שמתחילים, צריך אשכול GKE. אם עדיין אין לכם אשכול, צריך ליצור אשכול עם כינויי IP מופעלים. הוראות ליצירת אשכול המותאם ל-VPC עם כינויי IP מופיעות במאמר יצירת אשכול המותאם ל-VPC.
- לוחצים על הלחצן Activate Cloud Shell
בפינה השמאלית העליונה של המסוף. - מגדירים גישה לשורת הפקודה
kubectlעל ידי הפעלת הפקודה הבאה:gcloud container clusters get-credentials CLUSTER_NAME --zone CLUSTER_ZONE --project PROJECT_ID
-
CLUSTER_NAMEהוא שם האשכול. -
CLUSTER_ZONEהוא האזור שבו נמצא האשכול. האזור הזה צריך להיות גם האזור שבו מופעלת דוגמת Redis. -
PROJECT_IDהוא הפרויקט שבו נמצאים האשכול ומכונות Redis.
kubeconfig generated for CLUSTER_NAME -
- אם הגרסה של האשכול היא 1.8 ואילך והאפשרות 'כינויי IP' מופעלת, מדלגים על השלב הזה. אם האשכול שלכם הוא מגרסה 1.7 או מגרסה מוקדמת יותר, או אם באשכול מגרסה 1.8 או מגרסה מאוחרת יותר לא מופעלים כינויי IP, צריך לבצע את השלבים הבאים כדי לעקוף את הבעיה לפני שמנסים להתחבר למופע: מידע נוסף על כינויי IP, כולל איך ליצור אשכול כשההגדרה הזו מופעלת, זמין במאמר יצירת אשכול המותאם ל-VPC.
- משתמשים בפקודה הבאה כדי להפעיל פוד של Redis עם
redis-cli:kubectl run -i --tty redisbox --image=redis:7.2 -- sh
- מריצים את הפקודה
redis-cliומחליפים אתHOST-IPבכתובת ה-IP של המארח של מופע Redis:redis-cli -h HOST-IP info
- אופציונלי: מריצים שוב פקודת Redis benchmark, ומחליפים את
HOST-IPבכתובת ה-IP של המארח של מכונת Redis:redis-benchmark -c 100 -n 100000 -d 1024 -r 100000 -t PING,SET,GET,INCR,LPUSH,RPUSH,LPOP,RPOP,SADD,SPOP,MSET -h HOST-IP -q
- כדי לצאת מ-Redis pod, מזינים
return. אם סיימתם ואין לכם יותר צורך להתחבר ל-Redis, מריצים את הפקודה הבאה מהספרייה/k8s-custom-iptables/:./uninstall.sh
המאמרים הבאים
מתחברים למופע Redis באמצעות אפליקציה לדוגמה שפועלת ב:
- Compute Engine
- GKE
- Cloud Run
- הסביבה הסטנדרטית של App Engine
- הסביבה הגמישה של App Engine
- פונקציות Cloud Run