הדף הזה מפרט את האפשרויות שבהן אפשר לשלוט באופן שבו האובייקטים של Cloud Storage נשמרים במטמון. הדף הזה מתמקד במטמון המובנה של Cloud Storage וב-Cloud CDN, אבל Cloud Storage תואם גם לרשתות להעברת תוכן (CDN) של צד שלישי.
סקירה כללית
כדי לשפר את ביצועי האפליקציה ולשמור על תוכן עדכני, אתם יכולים לשלוט בשמירה במטמון של האובייקטים ב-Cloud Storage. כששומרים נתוני אובייקטים במטמון, עותקים של הנתונים נשמרים במטמון של Google או במטמון באינטרנט, וכך בקשות עתידיות לקריאת נתונים מתבצעות מהר יותר. ב-Cloud Storage יש שמירה מובנית במטמון שפועלת כמו CDN. אתם יכולים לנהל את השמירה המובנית במטמון באמצעות המטא-נתונים של Cache-Control, שמגדירים איך ולמשך כמה זמן האובייקטים יישמרו במטמון.
כדי לקבל שליטה מתקדמת יותר, השתמשו בשמירה במטמון של Cloud Storage עם Cloud CDN או הכירו את Rapid Cache.
שמירה במטמון באמצעות Rapid Cache
Rapid Cache הוא מטמון קריאה אזורי מנוהל לחלוטין, עקבי תמיד ומגובה ב-SSD, שאפשר ליצור באותם אזורים שבהם נמצאים עומסי העבודה שלכם ב-Compute. המטמונים משמשים להאצת הצגת הנתונים לעומסי עבודה גדולים ועתירי נתונים. על נתונים שנקראים ממטמון מחויבות עמלות מופחתות על העברת נתונים בהשוואה לנתונים שנקראים ישירות מקטגוריות בכמה אזורים, וכך אפשר לבצע אופטימיזציה של העלויות.
מידע נוסף זמין במאמר Rapid Cache.
שמירה מובנית במטמון ל-Cloud Storage
Cloud Storage יכול להתנהג כמו רשת להעברת תוכן (CDN) בלי שתצטרכו לעשות שום דבר, כי נתוני האובייקט נשמרים במטמון ברשת של Cloud Storage אם המטא-נתונים של Cache-Control מוגדרים כך שיתאפשר לשמור אותם במטמון, ואם מתקיימים הקריטריונים הבאים:
- האובייקט נגיש באופן ציבורי.
- האובייקט לא מאוחסן בקטגוריה שבה מופעל "מגיש הבקשה משלם", והוא לא נמצא בגבולות גזרה לשירות של ענן וירטואלי פרטי (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 מגבילה רק משתמשים ספציפיים, השמירה המובנית במטמון נשארת פעילה לאובייקט.
שיקולי ביצועים
הביצועים יכולים להיות טובים יותר לאובייקטים שאפשר לשמור במטמון ציבורי. אם יש אובייקט שמשמש לשליטה בלקוחות רבים, ורוצים להשבית את השמירה במטמון כדי לספק את הנתונים העדכניים ביותר:
אפשר במקום זאת, להגדיר את המטא-נתונים של
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 | 100GiB 1 |
| מועד תפוגת ברירת המחדל של המטמון | שעה אחת | שעה אחת (ניתן להגדרה) |
| תמיכה בדומיינים מותאמים אישית ב-HTTPS | לא | כן |
| ביטול תוקף של מטמון | לא | כן |
1 הגודל המקסימלי של קובץ שניתן לשמור במטמון ב-Cloud CDN הוא 100GiB, אם שרת המקור תומך בבקשות של טווח בייטים. אם שרת המקור לא תומך בבקשות של טווח בייטים, גודל הקובץ המקסימלי שאפשר לשמור במטמון ב-Cloud CDN הוא 10MiB.
שיקולי תמחור
מבחינת התמחור, האפשרות לבחור בין שמירה מובנית במטמון של Cloud Storage לבין שמירה במטמון ב-Cloud CDN תלויה בכמות הנתונים למילוי בקשות בכל חודש, שקובעת את עלויות השימוש ברשת.
אם ממלאים בקשות מדי חודש בפחות מ-GiB בודדים של נתונים שאפשר לשמור במטמון, יכול להיות זול יותר להסתמך על השמירה המובנית במטמון של Cloud Storage. שמירה במטמון ב-Cloud Storage עלולה להיות כרוכה בעלויות רשת גבוהות יותר מאשר ב-Cloud CDN, כי החיוב על העברת נתונים יוצאת לאובייקטים שנשמרו במטמון ולאובייקטים שלא נשמרו זהה (כלומר, משלמים את המחיר המלא על מציאה במטמון (cache hit)). עם זאת, משלמים רק על עלויות אחסון הנתונים והעלויות שמשויכות ל-Cloud Storage, במקום על השילוב של Cloud Storage, Cloud CDN ו-Cloud Load Balancing.
אם ממלאים בקשות באופן קבוע של 100GiB או יותר נתונים שניתן לשמור במטמון בכל חודש, או שצריך להשתמש ברישום ביומן לפי בקשה ובכותרות בהתאמה אישית, יכול להיות שיהיה זול יותר להסתמך על Cloud CDN. עלויות עיבוד של העברת הנתונים היוצאת ב-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.