אפשר להתחבר למופע Redis מסביבת App Engine רגילה באמצעות חיבור לרשת (VPC) מאפליקציית serverless.
הגדרה
אם כבר התקנתם את Google Cloud CLI ויצרתם מופע Redis, אתם יכולים לדלג על השלבים האלה.
מתקינים את ה-CLI של gcloud ומפעילים אותו:
gcloud initפועלים לפי המדריך למתחילים כדי ליצור מכונת Redis. חשוב לשים לב לאזור, לכתובת ה-IP ולפורט של מכונת Redis.
הגדרת חיבור לרשת (VPC) מאפליקציית serverless
כדי להתחבר מאפליקציית App Engine לרשת ה-VPC המורשית של מופע Redis, צריך להגדיר חיבור לרשת (VPC) מאפליקציית serverless.
כדי למצוא את הרשת המורשית של מופע Redis, מריצים את הפקודה:
gcloud redis instances describe [INSTANCE_ID] --region [REGION]פועלים לפי ההוראות במאמר יצירת מחבר כדי ליצור מחבר של Serverless VPC Access. חשוב ליצור את המחבר באותו אזור שבו נמצאת האפליקציה, ולוודא שהמחבר מצורף לרשת ה-VPC המורשית של מופע Redis. כדאי לזכור את שם המחבר.
אפליקציה לדוגמה
אפליקציית שרת ה-HTTP לדוגמה הזו יוצרת חיבור למופע Redis מאפליקציה בסביבה הרגילה של App Engine.
משכפלים את המאגר לשפת התכנות שבחרתם ועוברים לתיקייה שמכילה את קוד הדוגמה:
המשך
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.
קוד אפליקציה לדוגמה:
הכנת האפליקציה לפריסה
כדי לגשת למופע Redis, צריך להגדיר את אפליקציית App Engine כך שתשתמש במחבר Serverless VPC Access, ולספק את פרטי החיבור של מופע Redis.
אם עדיין אין לכם אפליקציה, אתם צריכים ליצור אפליקציית App Engine.
מעדכנים את ההגדרה של האפליקציה כדי לציין את המחבר של הגישה ל-VPC ללא שרת, את כתובת ה-IP ואת היציאה של מופע Redis:
המשך
מעדכנים את הקובץ
gae_standard_deployment/app.yaml:פרטים נוספים זמינים במאמר קובץ ההגדרות app.yaml.
Java
מעדכנים את הקובץ
gae_standard_deployment/appengine-web.xmlכדי לציין את המחבר שלכם לחיבור לרשת (VPC) מאפליקציית serverless:מעדכנים את הקובץ
src/main/resources/application.propertiesעם כתובת ה-IP והיציאה של מופע Redis:מידע נוסף על הגדרת האפליקציה זמין במאמר appengine-web.xml Reference.
Node.js
מעדכנים את הקובץ
gae_standard_deployment/app.yaml:פרטים נוספים זמינים במאמר קובץ ההגדרות app.yaml.
Python
מעדכנים את הקובץ
gae_standard_deployment/app.yaml:פרטים נוספים זמינים במאמר קובץ ההגדרות app.yaml.
פריסת האפליקציה בסביבה הרגילה של App Engine
כדי לפרוס את האפליקציה:
מעתיקים את קובצי ההגדרות הנדרשים לספריית קובצי המקור:
המשך
מעתיקים את הקבצים
app.yamlו-go.modלספריית קובצי המקור:cp gae_standard_deployment/{app.yaml,go.mod} .Java
מעתיקים את הקובץ
appengine-web.xmlלספריית קובצי המקור:mkdir -p src/main/webapp/WEB-INF cp gae_standard_deployment/appengine-web.xml src/main/webapp/WEB-INF/Node.js
מעתיקים את הקובץ
app.yamlלספריית קובצי המקור:cp gae_standard_deployment/app.yaml .Python
מעתיקים את הקובץ
app.yamlלספריית קובצי המקור:cp gae_standard_deployment/app.yaml .מריצים את פקודת הפריסה:
המשך
gcloud app deployJava
mvn package appengine:stage gcloud app deploy target/appengine-staging/app.yamlNode.js
gcloud app deployPython
gcloud app deploy
אחרי שהפריסה תסתיים, הפקודה תציג את כתובת ה-URL שבה אפשר לבקר באפליקציה. אם תבקרו בכתובת ה-URL הזו, תראו שהספירה במופע Redis תגדל בכל פעם שהדף ייטען.