הדף הזה מפרט את האפשרויות שבהן אפשר לשלוט באופן שבו האובייקטים של Cloud Storage נשמרים במטמון. הדף הזה מתמקד במטמון המובנה של Cloud Storage וב-Cloud CDN, אבל Cloud Storage תואם גם לרשתות להעברת תוכן (CDN) של צד שלישי.
סקירה כללית
אתם יכולים לשלוט בשמירת המטמון של האובייקטים ב-Cloud Storage כדי לשפר את הביצועים של האפליקציה ולשמור על עדכניות התוכן. שמירת נתוני אובייקט במטמון מאפשרת לשמור עותקים של הנתונים במטמון של Google או במטמון באינטרנט, וכך להאיץ בקשות עתידיות לקריאת נתונים. Cloud Storage מציע שמירה מובנית במטמון שמתנהגת כמו CDN. אתם יכולים לנהל את השמירה המובנית במטמון באמצעות המטא-נתונים של Cache-Control, שקובעים איך ולמשך כמה זמן המטמון ישמור את האובייקטים.
כדי לקבל שליטה מתקדמת יותר, אפשר להשתמש בשמירה במטמון ב-Cloud Storage עם Cloud CDN או להתנסות ב-Anywhere Cache.
שמירה במטמון באמצעות Anywhere Cache
Anywhere Cache הוא מטמון קריאה אזורי בניהול מלא, שתמיד עקבי ומגובה ב-SSD. אפשר ליצור אותו באותם אזורים שבהם נמצאים עומסי העבודה ב-Compute. הזיכרונות מטמון משמשים להאצת הצגת נתונים עבור עומסי עבודה גדולים שדורשים הרבה נתונים. על נתונים שנקראים ממטמון נגבים דמי העברת נתונים מופחתים בהשוואה לנתונים שנקראים ישירות מקטגוריות מרובות אזורים, וכך אפשר לבצע אופטימיזציה של העלויות.
מידע נוסף זמין במאמר בנושא Anywhere Cache.
שמירה מובנית במטמון ל-Cloud Storage
Cloud Storage יכול להתנהג כמו רשת להעברת תוכן (CDN) ללא כל עבודה מצידכם, כי הנתונים של אובייקט נשמרים במטמון ברשת של Cloud Storage אם המטא-נתונים Cache-Control שלו מוגדרים כך שניתן לשמור במטמון, ומתקיימים הקריטריונים הבאים:
- האובייקט נגיש באופן ציבורי.
- האובייקט לא מאוחסן בקטגוריה שבה מופעל Requester Pays, והוא לא נמצא בגבולות גזרה לשירות של ענן וירטואלי פרטי (VPC).
- האובייקט לא מוצפן באמצעות מפתחות הצפנה בניהול הלקוח או מפתחות הצפנה באספקת הלקוח (CSEK).
Cloud Storage מכבד ערכים סטנדרטיים של Cache-Control, כמו:
public: אפשר לשמור את האובייקט במטמון.
private: האובייקט לא יישמר במטמון של Cloud Storage, אבל אפשר לשמור אותו במטמון המקומי של מגיש הבקשה.
no-cache: אפשר לשמור את האובייקט במטמון, אבל אי אפשר להשתמש בו כדי למלא בקשות עתידיות, אלא אם הוא מאומת קודם על ידי Cloud Storage.
no-store: אי אפשר לשמור את האובייקט במטמון.
max-age=TIME_IN_SECONDS: משך הזמן שבו אובייקט יכול להישמר במטמון לפני שהוא נחשב ללא פעיל. אפשר להגדיר אתmax-ageלכל משך זמן שרוצים. אובייקטים לא פעילים מוצגים מהמטמון רק בנסיבות מיוחדות.
כדי להגדיר את המטא-נתונים של Cache-Control לאובייקט, ראו עריכת מטא-נתונים של אובייקט.
התנהגות מובנית של שמירה במטמון עם כללי מדיניות דחייה של IAM
אם יש מדיניות דחייה של IAM ברמת הארגון שמגבילה את גישת הקריאה לאובייקט ממזהה חשבון המשתמש allUsers, המערכת משביתה את השמירה במטמון המובנית של האובייקט, גם אם יש מדיניות IAM ברמת הקטגוריה שמעניקה גישת קריאה לאובייקט ל-allUsers.
עם זאת, אם מדיניות IAM Deny מגבילה רק משתמשים פרטיים, השמירה במטמון המובנית נשארת מופעלת לאובייקט.
שיקולי ביצועים
הביצועים יכולים להיות טובים יותר לאובייקטים שאפשר לשמור במטמון ציבורי. אם יש אובייקט שמשמש לשליטה בלקוחות רבים, ורוצים להשבית את השמירה במטמון כדי לספק את הנתונים העדכניים ביותר:
אפשר במקום זאת, להגדיר את המטא-נתונים של
Cache-Controlשל האובייקט כ-publicעםmax-ageשל 15-60 שניות. רוב האפליקציות יכולות להתמודד עם מצב לא עדכני של אובייקט למשך מספר שניות, תמורת שיפורים בביצועים.משתמשים ב-
Cache-Control: no-storeבאובייקט כדי לציין שאסור לשמור את האובייקט במטמון בשביל בקשות נוספות.
Cloud Storage עם Cloud CDN
כדי להשיג את הביצועים הטובים ביותר במסירת תוכן למשתמשים, מומלץ להשתמש ב-Cloud Storage עם Cloud CDN. בהשוואה ליכולות השמירה במטמון שמקבלים עם Cloud Storage בלבד, Cloud CDN מציע ביצועים משופרים, גדלים גדולים יותר של קבצים שניתנים לשמירה במטמון ותכונות כמו ביטול תוקף של מטמון.
כדי להשתמש ב-Cloud CDN, צריך להשתמש במאזן עומסים חיצוני של אפליקציות (ALB) עם הקטגוריות של Cloud Storage כקצה עורפי. למדריך על הגדרת מאזן עומסים מסוג HTTP(S) עם קטגוריה של Cloud Storage, עיינו במאמר אירוח אתרים סטטיים.
מצבי מטמון של Cloud CDN מאפשרים להחיל הגדרות אישיות מאוחדות של שמירה במטמון בכל האובייקטים. Cloud CDN משתמש במטא-נתונים של Cache-Control שמוגדר באובייקטים כדי לקבוע איך צריך לשמור אותם במטמון, אלא אם מבטלים את המטא-נתונים של Cache-Control באמצעות מצב מטמון או מגבלת TTL.
כשבוחרים בין שמירה מובנית במטמון ב-Cloud Storage לבין Cloud CDN, כדאי לשקול את ההבדלים ביכולות ואת ההשלכות על התמחור:
הבדלים ביכולות
| תכונה | Cloud Storage | Cloud CDN |
|---|---|---|
| גודל מקסימלי של קבצים שאפשר לשמור במטמון | 10 MiB | 100 GiB 1 |
| מועד תפוגת ברירת המחדל של המטמון | שעה אחת | שעה אחת (ניתן להגדרה) |
| תמיכה בדומיינים מותאמים אישית ב-HTTPS | לא | כן |
| ביטול תוקף של מטמון | לא | כן |
1הגודל המקסימלי של קובץ שאפשר לשמור במטמון ב-Cloud CDN הוא 100GiB אם שרת המקור תומך בבקשות לטווח בייטים. אם שרת המקור לא תומך בבקשות של טווח בייטים, גודל הקובץ המקסימלי שאפשר לשמור במטמון ב-Cloud CDN הוא 10MiB.
שיקולי תמחור
מבחינת התמחור, האפשרות לבחור בין שמירה מובנית במטמון של Cloud Storage לבין שמירה במטמון ב-Cloud CDN תלויה בכמות הנתונים למילוי בקשות בכל חודש, שקובעת את עלויות השימוש ברשת.
אם ממלאים בקשות מדי חודש בפחות מ-GiB בודדים של נתונים שאפשר לשמור במטמון, יכול להיות זול יותר להסתמך על השמירה המובנית במטמון של Cloud Storage. שמירה במטמון ב-Cloud Storage עלולה להיות כרוכה בעלויות רשת גבוהות יותר מאשר ב-Cloud CDN, כי החיוב על העברת נתונים יוצאת (egress) לאובייקטים שנשמרו במטמון ולאובייקטים שלא נשמרו זהה (כלומר, משלמים את המחיר המלא על מציאה במטמון (cache hit)). עם זאת, משלמים רק על עלויות אחסון הנתונים והעלויות שמשויכות ל-Cloud Storage, במקום על השילוב של Cloud Storage, Cloud CDN ו-Cloud Load Balancing.
אם ממלאים בקשות באופן קבוע של 100 GiB או יותר נתונים שניתן לשמור במטמון בכל חודש, או שצריך להשתמש ברישום ביומן לפי בקשה ובכותרות בהתאמה אישית, יכול להיות שיהיה זול יותר להסתמך על Cloud CDN. עלויות העברת נתונים יוצאת (egress) ב-Cloud Storage ועלויות המילוי במטמון של Cloud CDN חלות על המילוי של המטמון, והמחירים לרשתות של Cloud CDN חלים אחרי שהמטמון מלא. החיסכון בעלויות כתוצאה מהשימוש ב-Cloud CDN עשוי להיות שווה לעלויות התפעול הגבוהות יותר שמשויכות לתחזוקה של מאזן עומסים של אפליקציות (ALB) ושל Cloud CDN יחד עם Cloud Storage.
המאמרים הבאים
- מידע נוסף על מטא-נתונים של
Cache-Control. - מידע נוסף על הוראות
Cache-Controlשל RFC - קראו את הסקירה הכללית בנושא שמירה במטמון ב-Cloud CDN.
- איך יוצרים מאזן עומסים חיצוני מסוג HTTP(S) כדי למלא בקשות מקטגוריה של Cloud Storage
- קראו את פרטי התמחור של מאזני עומסים חיצוניים באפליקציות ושל Cloud CDN.