בדף הזה מוסבר איך להתחבר למכונה של Memorystore for Redis Cluster.
תמיכה בלקוחות
Memorystore for Redis Cluster לא מספק ספריות לקוח משלו, אלא תומך בספריות לקוח קיימות של צד שלישי שתומכות בפרוטוקול Redis. מידע נוסף על ספריות הלקוח ש-Redis תומכת בהן זמין במאמר לקוחות חיבור נתמכים.
שיטה מומלצת לשימוש בלקוח Redis-py
כדי להתחבר למופע של Memorystore for Redis Cluster באמצעות לקוח Python redis-py, צריך להוסיף את skip_full_coverage_check=True כשמצהירים על Redis Cluster:
from rediscluster import RedisCluster
endpoints = [{"host": "IPADDRESS", "port": "6379"}]
rdb = RedisCluster(
startup_nodes=endpoints,
skip_full_coverage_check=True, # Required for Memorystore
decode_responses = True)
print(rdb.set('PYTHON', 'CLUSTER'))
print(rdb.get('PYTHON'))
print(rdb.unlink('PYTHON'))
הוספת יציאות לרשימת ההיתרים בחומת האש
אם לא תכללו ברשימת ההיתרים את היציאות הנכונות בחומת האש, יכול להיות שתיתקלו בשגיאות חיבור במופע. מידע נוסף על הוספת יציאות לרשימת ההיתרים זמין במאמר פתרון בעיות.
גישה בין אזורים
אפשר לגשת למופע של Memorystore for Redis Cluster מלקוח שנמצא באזור אחר מזה שבו נמצא מופע Memorystore.
הצגת נקודת הקצה של הגילוי באשכול
לכל אשכול יש נקודת קצה לגילוי שהלקוח מתחבר אליה. נקודת הקצה הזו היא שילוב של כתובת IP ומספר יציאה.
אפשר לראות את נקודת הקצה של גילוי האשכול ב-Memorystore for Redis Cluster באמצעות מסוף Google Cloud או CLI של gcloud.
המסוף
עוברים לדף Memorystore for Redis Cluster במסוף Google Cloud .
לוחצים על מזהה האשכול.
בקטע Connect to this instance, רושמים את כתובת ה-IP ואת מספר היציאה שלצד Discovery Endpoint. שני הערכים האלה ביחד הם נקודת הקצה של הגילוי של האשכול.
gcloud
כדי לראות את נקודת הקצה של הגילוי באשכול, מריצים את describeה-CLI של gcloud כמו שמוסבר בקטע הצגת פרטי המופע.
הפלט אמור להיראות כך:
authorizationMode: AUTH_MODE_DISABLED
createTime: '2023-08-04T17:49:07.988918793Z'
discoveryEndpoints:
- address: 10.142.0.13
port: 6379
pscConfig:
- network: projects/my-project-364018/global/networks/default
name: projects/my-project-364018/locations/us-east1/clusters/my-cluster-1
pscConnections:
- address: 10.142.0.13
forwardingRule: https://www.googleapis.com/compute/v1/projects/my-project-364018/regions/us-east1/forwardingRules/sca-auto-fr-5bc46f69-ec80-4c5a-8971-ce267a4d8ddd
network: projects/my-project-364018/global/networks/default
projectId: my-project-364018
pscConnectionId: '25734306048376845'
- address: 10.142.0.10
forwardingRule: https://www.googleapis.com/compute/v1/projects/my-project-364018/regions/us-east1/.
forwardingRules/sca-auto-fr-817b64c5-85ac-48d0-82e3-c6fa99b4e67d
network: projects/my-project-364018/global/networks/default
projectId: my-project-364018
pscConnectionId: '25734306048376842'
replicaCount: 0
shardCount: 3
sizeGb: 39
state: ACTIVE
tier: PERFORMANCE
transitEncryptionMode: TRANSIT_ENCRYPTION_MODE_DISABLED
uid: cddda5de-d91f-449b-8755-3a665430271a
רושמים את כתובת נקודת הקצה ואת מספר היציאה שמופיעים בקטע discovery_endpoints:. שני הערכים האלה ביחד הם נקודת הקצה של Discovery של האשכול.
התחברות ממכונה וירטואלית ב-Compute Engine באמצעות redis-cli
אפשר להתחבר למכונת Memorystore for Redis Cluster מכל מכונה וירטואלית ב-Compute Engine שמשתמשת ברשת המורשית של מכונת Memorystore.
כדי להתחבר למופע:
אם עדיין אין לכם מכונה וירטואלית ב-Compute Engine עם Linux שמשתמשת ברשת המורשית עבור מופע Memorystore for Redis Cluster, אתם יכולים ליצור מכונה וירטואלית כזו ולהתחבר אליה באמצעות המדריך להתחלה מהירה ליצירת מכונה וירטואלית ב-Linux.
מתקינים את
redis-cliגרסה 6.0 ומעלה במכונה וירטואלית של Compute Engine לפי ההוראות במאמר התקנת Redis ב-Linux.צופים בנקודת הקצה של הגילוי באשכול ורושמים אותה.
כדי להתחבר לנקודת הקצה של הגילוי של המופע, מריצים את הפקודה הבאה:
redis-cli -h DISCOVERY_ENDPOINT_ADDRESS -p PORT_NUMBER -c
כאשר:
- DISCOVERY_ENDPOINT_ADDRESS ו-PORT_NUMBER הם הערכים שרשמתם בשלב הקודם.
מריצים את הפקודה
CLUSTER SHARDSכדי לראות את טופולוגיית האשכול. רושמים את אחת מכתובות ה-IP ומספרי היציאות של הצומת.מתחברים לצומת הרצוי על ידי הרצת הפקודה הבאה:
redis-cli -h NODE_IP_ADDRESS -p NODE_PORT -c
מחליפים את מה שכתוב בשדות הבאים:
- NODE_IP_ADDRESS היא כתובת ה-IP של הצומת שמצאתם בשלב הקודם.
- NODE_PORT הוא מספר היציאה של הצומת שמצאתם בשלב הקודם.
אחרי שמתחברים לצומת, מזינים כמה פקודות Redis:
צריך להזין את הפרטים הבאים:
PING
תוצאה:
PONG
Enter
SET HELLO WORLD
תוצאה:
OK
צריך להזין את הפרטים הבאים:
GET HELLO
תוצאה:
"WORLD"
אחרי שמסיימים לבדוק את החיבור לצומת Redis, מומלץ למחוק את המכונה הווירטואלית ב-Compute Engine ששימשה לחיבור למופע Redis. כך תוכלו להימנע מחיובים בחשבון לחיוב ב-Cloud.
התחברות למכונה שמופעלת בה הצפנה במעבר
בקטע הזה מופיעה דוגמה לאופן ההתחברות למופע של Memorystore for Redis Cluster שבו ההצפנה במעבר מופעלת.
אם עדיין אין לכם מכונה וירטואלית ב-Compute Engine שמשתמשת באותה רשת מורשית כמו מופע Redis מהשלב הקודם, אתם יכולים ליצור מכונה וירטואלית ולהתחבר אליה באמצעות המדריך להתחלה מהירה לשימוש במכונה וירטואלית של Linux.
- מתקינים את
redis-cliגרסה 6.0 ואילך במכונה הווירטואלית של Compute Engine לפי ההוראות במאמר התקנת Redis ב-Linux.
- מתקינים את
בודקים את מצב רשות האישורים (CA) שבו משתמשים באשכול.
אם מצב ה-CA הוא per-instance, צריך להתקין את אישורי ה-CA של האשכול לפי ההוראות שבמאמר Install CA certificates on the client.
אם מצב ה-CA הוא shared, צריך להתקין את חבילת אישורי ה-CA של האשכול לפי ההוראות במאמר התקנת חבילת אישורי ה-CA בלקוח.
אם מצב ה-CA הוא בניהול הלקוח, האפליקציות יכולות להתחבר לאשכול בלי שתצטרכו להוריד ולהתקין אישורי CA נוספים. לכן אפשר לדלג על השלב הזה.
צופים בנקודת הקצה של הגילוי באשכול ורושמים אותה.
כדי להתחבר לנקודת הקצה של הגילוי של המופע, מריצים את הפקודה הבאה:
redis-cli -h DISCOVERY_ENDPOINT_ADDRESS -p PORT_NUMBER -c --tls --cacert /tmp/server_ca.pem
כאשר:
- DISCOVERY_ENDPOINT_ADDRESS ו-PORT_NUMBER הם הערכים שרשמתם בשלב הקודם.
מריצים את הפקודה
CLUSTER SHARDSכדי לראות את טופולוגיית האשכול. רושמים את אחת מכתובות ה-IP ומספרי היציאות של הצומת.מתחברים לצומת הרצוי על ידי הרצת הפקודה הבאה:
redis-cli -h NODE_IP_ADDRESS -p NODE_PORT -c --tls --cacert /tmp/server_ca.pem
מחליפים את מה שכתוב בשדות הבאים:
- NODE_IP_ADDRESS היא כתובת ה-IP של הצומת שמצאתם בשלב הקודם.
- NODE_PORT הוא מספר היציאה של הצומת שמצאתם בשלב הקודם.
אחרי שמתחברים לצומת, מזינים כמה פקודות Redis:
צריך להזין את הפרטים הבאים:
PING
תוצאה:
PONG