מיקומי פונקציות Cloud Run (דור ראשון)
פונקציות Cloud Run הן אזוריות, כלומר התשתית שמריצה פונקציית Cloud Run ממוקמת באזור ספציפי ומנוהלת על ידי Google כך שתהיה זמינה באופן יתירתי בכל התחומים באותו אזור.
כשבוחרים אזור להפעלת פונקציות Cloud Run, השיקולים העיקריים צריכים להיות זמן האחזור והזמינות. בדרך כלל אפשר לבחור את האזור הקרוב ביותר למשתמשים של פונקציית Cloud Run, אבל כדאי גם לקחת בחשבון את המיקום של מוצרים ושירותים אחרים Google Cloud שבהם האפליקציה משתמשת. שימוש בשירותים בכמה מיקומים יכול להשפיע על זמן האחזור של האפליקציה וגם על התמחור.
בהמשך מפורטים האזורים שבהם אפשר להשתמש בפונקציות Cloud Run. הגרסאות השונות של פונקציות Cloud Run זמינות באזורים שונים.
תמחור ברמה 1
פונקציות Cloud Run זמינות באזורים הבאים עם תמחור ברמה 1:
| אזור | מיקום | פליטות CO2 |
|---|---|---|
asia-east1 |
טייוואן | |
asia-east2 |
הונג קונג | |
asia-northeast1 |
טוקיו | |
asia-northeast2 |
אוסקה | |
europe-west1 |
בלגיה |
|
europe-west2 |
לונדון | |
us-central1 |
איווה |
|
us-east1 |
דרום קרוליינה | |
us-east4 |
צפון וירג'יניה | |
us-west1 |
אורגון |
|
תמחור ברמה 2
פונקציות Cloud Run זמינות באזורים הבאים עם תמחור ברמה 2:
| אזור | מיקום | פליטות CO2 |
|---|---|---|
asia-northeast3 |
סיאול | |
asia-southeast1 |
סינגפור | |
asia-southeast2 |
ג'קארטה | |
asia-south1 |
מומבאי | |
australia-southeast1 |
סידני | |
europe-central2 |
ורשה | |
europe-west3 |
פרנקפורט | |
europe-west6 |
ציריך |
|
northamerica-northeast1 |
אמריקה/מונטריאול |
|
southamerica-east1 |
סאו פאולו |
|
us-west2 |
לוס-אנג׳לס | |
us-west3 |
סולט לייק סיטי | |
us-west4 |
לאס וגאס |
בחירת האזור
אפשר לבחור אזור לפונקציה במהלך הפריסה.
gcloud
אם אתם משתמשים ב-Google Cloud CLI, אתם יכולים לציין את האזור באמצעות הדגל --region:
gcloud functions deploy --no-gen2 FUNCTION_NAME --region=REGION ...
כאשר REGION הוא אחד מהאזורים שמפורטים למעלה.
המסוף
אם אתם משתמשים במסוף Google Cloud , אתם יכולים לבחור את האזור כשאתם יוצרים ופורסים פונקציה.
במסוף Google Cloud , נכנסים לדף סקירה כללית של פונקציות Cloud Run.
כניסה לדף הסקירה הכללית של פונקציות Cloud Run
מוודאים שהפרויקט שבו הפעלתם את פונקציות Cloud Run נבחר.
לוחצים על יצירת פונקציה.
בשדה אזור, בוחרים אזור.
אפשר לפרוס פונקציות באזורים שונים בתוך פרויקט, אבל אחרי שבוחרים אזור לפונקציה, אי אפשר לשנות אותו.
לפונקציות באזור מסוים בפרויקט מסוים צריכים להיות שמות ייחודיים (תלויי-רישיות), אבל פונקציות באזורים שונים או בפרויקטים שונים יכולות לחלוק את אותו שם.
הגדרת אזור ברירת מחדל
אפשר להגדיר אזור ברירת מחדל באמצעות Google Cloud CLI באופן הבא:
gcloud config set functions/region REGION
לדוגמה:
gcloud config set functions/region europe-west1
המיקום של נתונים
פונקציות Cloud Run מספקות הבטחה למיקום נתונים בהיקף הביצוע של הפונקציה (תאימות להיקף א' – ביצוע הפונקציה), שבה פונקציה נתונה מספקת מיקום נתונים להפעלת הפונקציה או לביצוע שלה.
התאימות הזו רלוונטית גם לפונקציות HTTP וגם לפונקציות מבוססות-אירועים. בפונקציות מבוססות-אירועים, פונקציות Cloud Run תואמות לדרישות של שמירת נתונים במדינה מסוימת מהרגע שבו המוצר במעלה הזרם (המוצר שמפעיל את הטריגר) מעביר את האירוע לפונקציות Cloud Run. לכן, חשוב לוודא שהמוצר במעלה הזרם (כמו Cloud Storage או Pub/Sub) עומד בדרישות של שמירת נתונים.
שיטות מומלצות לשינוי האזור
אם אתם צריכים לשנות אזור שבו פונקציה נפרסה, אתם יכולים לפעול לפי ההמלצות שבהמשך.
פונקציות HTTP
לגבי פונקציות HTTP, מומלץ קודם לפרוס מחדש את פונקציית ה-HTTP לאזור היעד (יכול להיות לה שם זהה), ואז לשנות את הפונקציה המקורית כדי להפנות את בקשת ה-HTTP שלה לפונקציה החדשה. אם לקוחות הפונקציה שלכם ב-HTTP תומכים בהפניות אוטומטיות, אתם יכולים פשוט לשנות את הפונקציה המקורית כך שתחזיר סטטוס של הפניה אוטומטית ב-HTTP (301) יחד עם כתובת ה-URL של הפונקציה החדשה. אם הלקוחות שלכם לא מטפלים בהפניות אוטומטיות בצורה טובה, אתם יכולים להשתמש בשרת proxy כדי להפנות את הבקשה מהפונקציה המקורית לפונקציה החדשה על ידי הפעלת בקשה חדשה מהפונקציה המקורית לפונקציה החדשה. השלב האחרון הוא לוודא שכל הלקוחות קוראים לפונקציה החדשה.
פונקציות מבוססות-אירועים
פונקציות מבוססות-אירועים פועלות לפי סמנטיקה של מסירת אירועים לפחות פעם אחת, כלומר בנסיבות מסוימות הן יכולות לקבל אירועים כפולים, ולכן תמיד צריך להטמיע אותן כך שיהיו אידמפוטנטיות. אם הפונקציה כבר אידמפוטנטית, אפשר פשוט לפרוס מחדש את הפונקציה באזור החדש עם אותו טריגר לאירוע, ולהסיר את הפונקציה הישנה אחרי שמוודאים שהפונקציה החדשה מקבלת תנועה בצורה תקינה. במהלך המעבר, שתי הפונקציות יקבלו אירועים.
אם הפונקציה שלכם לא אידמפוטנטית כרגע, או שהאידמפוטנטיות שלה לא חלה על כל האזור, מומלץ להטמיע אידמפוטנטיות לפני שמזיזים את הפונקציה.