התחברות למכונה של Memorystore for Redis Cluster

בדף הזה מוסבר איך להתחבר למכונה של 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.

עבור כל נקודות הקצה של Private Service Connect באשכול, צריך לאפשר את יציאת ה-TCP מספר 6379, וגם את יציאות ה-TCP מספר 11000 עד 13047. מידע נוסף זמין במאמר פתרון בעיות.

גישה בין אזורים

אפשר לגשת למופע של Memorystore for Redis Cluster מלקוח שנמצא באזור אחר מזה שבו נמצא מופע Memorystore.

הצגת נקודת הקצה של הגילוי באשכול

לכל אשכול יש נקודת קצה (endpoint) לגילוי שאליה הלקוח מתחבר. נקודת הקצה הזו היא שילוב של כתובת IP ומספר יציאה.

אפשר לראות את נקודת הקצה של הגילוי של אשכול ב-Memorystore for Redis Cluster באמצעות המסוף Google Cloud או ה-CLI של gcloud.

המסוף

  1. עוברים לדף Memorystore for Redis Cluster במסוף Google Cloud .

    ‫Memorystore for Redis Cluster

  2. לוחצים על מזהה האשכול.

  3. בקטע Connect to this instance (התחברות למופע הזה), רושמים את כתובת ה-IP ואת מספר היציאה שליד Discovery Endpoint (נקודת קצה של גילוי). שני הערכים האלה ביחד הם נקודת הקצה של הגילוי של האשכול.

gcloud

כדי לראות את נקודת הקצה של הגילוי של האשכול, מריצים את ה-describeCLI של 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.

כדי להתחבר למכונה:

  1. אם עדיין אין לכם מכונה וירטואלית ב-Compute Engine עם Linux שמשתמשת ברשת המורשית עבור מופע Memorystore for Redis Cluster, אתם יכולים ליצור מכונה וירטואלית כזו ולהתחבר אליה באמצעות המדריך להתחלה מהירה ליצירת מכונה וירטואלית עם Linux.

  2. מתקינים את redis-cli גרסה 6.0 ומעלה במכונה וירטואלית של Compute Engine לפי ההוראות במאמר התקנת Redis ב-Linux.

  3. צופים בנקודת הקצה של הגילוי באשכול ורושמים אותה.

  4. כדי להתחבר לנקודת הקצה של ה-Discovery של המופע, מריצים את הפקודה הבאה:

    redis-cli -h DISCOVERY_ENDPOINT_ADDRESS -p PORT_NUMBER -c
    

    כאשר:

    • ‫DISCOVERY_ENDPOINT_ADDRESS ו-PORT_NUMBER הם הערכים שרשמתם בשלב הקודם.
  5. מריצים את הפקודה CLUSTER SHARDS כדי לראות את הטופולוגיה של האשכול. רושמים את אחת מכתובות ה-IP ומספרי היציאות של הצומת.

  6. מתחברים לצומת הרצוי על ידי הרצת הפקודה הבאה:

    redis-cli -h NODE_IP_ADDRESS -p NODE_PORT -c
    

    מחליפים את מה שכתוב בשדות הבאים:

    • ‫NODE_IP_ADDRESS היא כתובת ה-IP של הצומת שמצאתם בשלב הקודם.
    • ‫NODE_PORT הוא מספר היציאה של הצומת שמצאתם בשלב הקודם.
  7. אחרי שמתחברים לצומת, מזינים כמה פקודות Redis:

    צריך להזין את הפרטים הבאים:

    PING
    

    תוצאה:

    PONG
    

    Enter

    SET HELLO WORLD
    

    תוצאה:

    OK
    

    צריך להזין את הפרטים הבאים:

    GET HELLO
    

    תוצאה:

    "WORLD"
    
  8. אחרי שמסיימים לבדוק את החיבור לצומת Redis, מומלץ למחוק את המכונה הווירטואלית ב-Compute Engine ששימשה לחיבור למופע Redis. כך תוכלו להימנע מחיובים בחשבון לחיוב ב-Cloud.

התחברות למכונה שמופעלת בה הצפנה במעבר

בקטע הזה מופיעה דוגמה לאופן ההתחברות למופע של Memorystore for Redis Cluster שבו ההצפנה במעבר מופעלת.

  1. אם עדיין אין לכם מכונה וירטואלית ב-Compute Engine שמשתמשת באותה רשת מורשית כמו מופע Redis מהשלב הקודם, אתם יכולים ליצור מכונה וירטואלית ולהתחבר אליה באמצעות המדריך להתחלה מהירה לשימוש במכונה וירטואלית של Linux.

    1. מתקינים את redis-cli גרסה 6.0 ואילך במכונה הווירטואלית של Compute Engine לפי ההוראות במאמר התקנת Redis ב-Linux.
  2. בודקים את מצב רשות האישורים (CA) שבו משתמשים עבור האשכול.

  3. צופים בנקודת הקצה של הגילוי באשכול ורושמים אותה.

  4. כדי להתחבר לנקודת הקצה של ה-Discovery של המופע, מריצים את הפקודה הבאה:

    redis-cli -h DISCOVERY_ENDPOINT_ADDRESS -p PORT_NUMBER -c --tls  --cacert /tmp/server_ca.pem
    

    כאשר:

    • ‫DISCOVERY_ENDPOINT_ADDRESS ו-PORT_NUMBER הם הערכים שרשמתם בשלב הקודם.
  5. מריצים את הפקודה CLUSTER SHARDS כדי לראות את הטופולוגיה של האשכול. רושמים את אחת מכתובות ה-IP ומספרי היציאות של הצומת.

  6. מתחברים לצומת הרצוי על ידי הרצת הפקודה הבאה:

    redis-cli -h NODE_IP_ADDRESS -p NODE_PORT -c --tls  --cacert /tmp/server_ca.pem
    

    מחליפים את מה שכתוב בשדות הבאים:

    • ‫NODE_IP_ADDRESS היא כתובת ה-IP של הצומת שמצאתם בשלב הקודם.
    • ‫NODE_PORT הוא מספר היציאה של הצומת שמצאתם בשלב הקודם.
  7. אחרי שמתחברים לצומת, מזינים כמה פקודות Redis:

    צריך להזין את הפרטים הבאים:

    PING
    

    תוצאה:

    PONG