התחברות למכונה של 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 מלקוח שנמצא באזור אחר מזה שבו נמצא מופע Memorystore.

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

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

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

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

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

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

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

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

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

    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