בדף הזה נסביר על המטמון המובנה של Cloud Storage. Cloud Storage תואם גם לרשתות CDN של צד שלישי.
סקירה כללית
אתם יכולים לשלוט בשמירת המטמון של האובייקטים ב-Cloud Storage כדי לשפר את הביצועים של האפליקציה ולשמור על עדכניות התוכן. שמירת נתוני אובייקט במטמון מאפשרת לשמור עותקים של הנתונים במטמון של Google או במטמון באינטרנט, וכך להאיץ בקשות עתידיות לקריאת נתונים. Cloud Storage מציע שמירה מובנית במטמון שמתנהגת כמו CDN. אתם יכולים לנהל את השמירה המובנית במטמון באמצעות המטא-נתונים של Cache-Control, שקובעים איך ולמשך כמה זמן המטמון ישמור את האובייקטים.
כדי לקבל שליטה מתקדמת יותר, אפשר לעיין במידע על 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באובייקט כדי לציין שאסור לשמור את האובייקט במטמון בשביל בקשות נוספות.