אתם יכולים להתחבר למופע Redis מ-Cloud Run באמצעות Direct VPC egress.
הגדרה
אם כבר התקנתם את Google Cloud CLI ויצרתם מופע Redis, אתם יכולים לדלג על השלבים האלה.
מתקינים את ה-CLI של gcloud ומפעילים אותו:
gcloud initפועלים לפי המדריך למתחילים כדי ליצור מכונת Redis. חשוב לשים לב לאזור, לכתובת ה-IP ולפורט של מכונת Redis.
הכנה של יציאת נתונים מרשת VPC להגדרה
כדי להתחבר למופע Redis, לשירות Cloud Run צריך להיות גישה לרשת ה-VPC המורשית של מופע Redis.
כדי למצוא את השם של הרשת הזו, מריצים את הפקודה הבאה:
gcloud redis instances describe INSTANCE_ID --region REGION --format "value(authorizedNetwork)"
רושמים את שם הרשת.
אפליקציה לדוגמה
אפליקציית שרת ה-HTTP לדוגמה הזו יוצרת חיבור למופע Redis משירות Cloud Run.
משכפלים את המאגר לשפת התכנות שבחרתם ועוברים לתיקייה שמכילה את קוד הדוגמה:
המשך
git clone https://github.com/GoogleCloudPlatform/golang-samples
cd golang-samples/memorystore/redis
Java
git clone https://github.com/GoogleCloudPlatform/java-docs-samples
cd java-docs-samples/memorystore/redis
Node.js
git clone https://github.com/GoogleCloudPlatform/nodejs-docs-samples
cd nodejs-docs-samples/memorystore/redis
Python
git clone https://github.com/GoogleCloudPlatform/python-docs-samples
cd python-docs-samples/memorystore/redis
באפליקציה לדוגמה הזו, מוסיפים 1 למונה Redis בכל פעם שניגשים לנקודת הקצה /.
המשך
האפליקציה הזו משתמשת בלקוח github.com/gomodule/redigo/redis. מריצים את הפקודה הבאה כדי להתקין אותו:
go get github.com/gomodule/redigo/redis@latest
אפליקציה לדוגמה:
Java
האפליקציה הזו מבוססת על Jetty 3.1 servlet.
הוא משתמש בספרייה Jedis:
המחלקות AppServletContextListener משמשות ליצירת מאגר חיבורים ל-Redis לטווח ארוך:
המחלקות VisitCounterServlet הן סרוולט אינטרנטי שמגדיל מונה Redis:
Node.js
האפליקציה הזו משתמשת במודול redis. זהו קובץ package.json לדוגמה:
קוד אפליקציה לדוגמה:
Python
האפליקציה הזו משתמשת ב-Flask לאירוח אתרים ובחבילת redis-py כדי לתקשר עם מופע Redis.
קוד אפליקציה לדוגמה:
פריסת האפליקציה ב-Cloud Run
כדי לפרוס את האפליקציה:
מעתיקים את
Dockerfileלספריית קובצי המקור:cp cloud_run_deployment/Dockerfile .כדי ליצור קובץ אימג' של קונטיינר באמצעות Cloud Build, מריצים את הפקודה הבאה:
gcloud artifacts repositories create --location REPO_REGION --repository-format=docker REPO_ID gcloud builds submit --pack image=REPO_REGION-docker.pkg.dev/PROJECT_ID/REPO_ID/visit-counter:v1
כדי לפרוס את הקונטיינר ב-Cloud Run, מריצים את הפקודה הבאה:
gcloud run deploy \ --image REPO_REGION-docker.pkg.dev/PROJECT_ID/REPO_ID/visit-counter:v1 \ --allow-unauthenticated \ --region REGION \ --network NETWORK \ --subnet SUBNET \ --set-env-vars REDISHOST=REDIS_IP,REDISPORT=REDIS_PORT
where:
-
REPO_REGIONהוא האזור של המאגר. -
REPO_IDהוא שם המאגר שמכיל את תמונת האפליקציה. -
PROJECT_IDהוא מזהה הפרויקט. Google Cloud -
REGIONהוא האזור שבו נמצאת מכונת ה-Redis. -
NETWORKהוא השם של רשת ה-VPC המורשית שאליה מחובר מופע Redis. -
SUBNETהוא שם תת-הרשת. תת-הרשת צריכה להיות/26או גדולה יותר. תעבורת נתונים יוצאת ישירה מ-VPC תומכת בטווחים של IPv4 RFC 1918, RFC 6598 ו-Class E. -
REDIS_IPו-REDIS_PORTהן כתובת ה-IP ומספר היציאה של מופע Redis.
-
אחרי שהפריסה מסתיימת בהצלחה, כתובת ה-URL של שירות Cloud Run מוצגת בשורת הפקודה. נכנסים לכתובת ה-URL הזו בדפדפן אינטרנט (או משתמשים בכלי כמו curl) ורואים את המספר במופע Redis עולה בכל פעם שנכנסים לשירות.