בדף הזה מוסבר איך לשנות את מצבי המטמון באמצעות Cloud CDN. מצבי מטמון מאפשרים לכם להגדיר איך Cloud CDN שומר את התוכן שלכם במטמון.
לפני שמתחילים
מוודאים ש-Cloud CDN מופעל. הוראות מפורטות זמינות במאמר שימוש ב-Cloud CDN.
אם צריך, מעדכנים לגרסה האחרונה של Google Cloud CLI:
gcloud components update
הגדרת מצב המטמון
כדי להגדיר מצבי מטמון עבור קצה עורפי שמופעל בו Cloud CDN:
המסוף
- נכנסים לדף Load Balancing במסוף Google Cloud .
- לוחצים על השם של מאזן העומסים החיצוני של האפליקציות.
- לוחצים על Edit .
- בקטע Backend configuration, בוחרים קצה עורפי ולוחצים על Edit (עריכה) .
- מוודאים שהאפשרות Enable Cloud CDN (הפעלת Cloud CDN) מסומנת.
- בקטע Cache mode (מצב מטמון), בוחרים באחת מהאפשרויות הבאות:
- שמירת תוכן סטטי במטמון (מומלץ): תוכן סטטי הוא נכסי אינטרנט שלא משתנים עבור כל משתמש. תוכן סטטי מבוסס על
Content-Typeבתשובה. מידע נוסף מופיע במאמר בנושא תוכן סטטי. - שימוש בהגדרות מקור על סמך כותרות Cache-Control: שמירת תגובות במטמון עם הנחיות מטמון תקפות בכותרות התגובה.
- שמירה של כל התוכן במטמון: שמירה במטמון של כל התוכן שמוצג בהצלחה על ידי המקור, תוך התעלמות מההנחיות
privateאוno-store.
- שמירת תוכן סטטי במטמון (מומלץ): תוכן סטטי הוא נכסי אינטרנט שלא משתנים עבור כל משתמש. תוכן סטטי מבוסס על
- לוחצים על Save.
gcloud
בשירותי קצה עורפי, משתמשים בפקודה gcloud compute backend-services
create או gcloud compute backend-services
update עם הדגל --cache-mode.
למאגרי מידע עורפיים, משתמשים בפקודה gcloud compute backend-buckets
create או gcloud compute backend-buckets
update עם הדגל --cache-mode.
gcloud compute backend-services (create | update) BACKEND_SERVICE_NAME
--cache-mode=CACHE_MODE
gcloud compute backend-buckets (create | update) BACKEND_BUCKET_NAME
--cache-mode=CACHE_MODE
מחליפים את CACHE_MODE באחד מהערכים הבאים:
CACHE_ALL_STATIC(ברירת מחדל): שמירה אוטומטית במטמון של תוכן סטטי. תגובות שמסומנות ככאלה שלא ניתן לשמור במטמון (הוראותprivateאוno-storeבכותרות התגובהCache-Control) לא נשמרות במטמון. כדי לשמור תוכן דינמי במטמון, התוכן צריך לכלול כותרות מטמון תקינות.
USE_ORIGIN_HEADERS: נדרש שהמקור יגדיר כותרות תקפות של שמירה במטמון כדי לשמור תוכן במטמון. תגובות בלי הכותרות האלה לא נשמרות במטמון ב-Google Edge, וכל בקשה מחייבת מעבר מלא למקור. זה עלול להשפיע על הביצועים ולהגדיל את העומס על שרת המקור.
FORCE_CACHE_ALL: שומר במטמון את כל התוכן (כלומר, תגובות מוצלחות), תוך התעלמות מההוראותprivateאוno-storeבכותרות התגובהCache-Control. הדבר עלול לגרום לשמירת תוכן פרטי במטמון, תוכן שמשתנה לפי המשתמש (אפשר לזהות את המשתמש). הפעולה הזו מומלצת רק לשרתי קצה עורפיים שלא מציגים תוכן פרטי או דינמי, כמו קטגוריות של Cloud Storage. לא מפעילים את האפשרות הזו בקצוות עורפיים שמציגים תוכן פרטי או דינמי.
API
לקטגוריות של קצה עורפי, משתמשים בקריאה ל-API Method: backendBuckets.insert או Method: backendBuckets.update.
בשירותי קצה עורפי, משתמשים בקריאה ל-API Method: backendServices.insert או Method: backendServices.update.
משתמשים באחת מהקריאות הבאות ל-API:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendBuckets PUT https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendBuckets/BACKEND_BUCKET POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendServices PUT https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendServices/BACKEND_SERVICE
מוסיפים את הקטע הבא לגוף בקשת ה-JSON:
"cdnPolicy": {
"cacheMode": (CACHE_ALL_STATIC | USE_ORIGIN_HEADERS | FORCE_CACHE_ALL)
מחליפים את CACHE_MODE באחד מהערכים הבאים:
CACHE_ALL_STATIC(ברירת מחדל): המערכת שומרת במטמון באופן אוטומטי תוכן סטטי אם המקור לא מגדיר כותרות תקפות של שמירה במטמון. תגובות שמסומנות ככאלה שלא ניתן לשמור במטמון (הוראותprivateאוno-storeבכותרות התגובהCache-Control) לא נשמרות במטמון. כדי לשמור תוכן דינמי במטמון, התוכן צריך לכלול כותרות תקינות של שמירה במטמון.
USE_ORIGIN_HEADERS: נדרש שהמקור יגדיר כותרות תקפות של שמירה במטמון כדי לשמור תוכן במטמון. תגובות בלי הכותרות האלה לא נשמרות במטמון ב-Google Edge, וכל בקשה מחייבת מעבר מלא למקור. זה עלול להשפיע על הביצועים ולהגדיל את העומס על שרת המקור.
FORCE_CACHE_ALL: שומר במטמון את כל התוכן (כלומר, תגובות מוצלחות), תוך התעלמות מההנחיותprivateאוno-storeבכותרות התגובהCache-Control. התוצאה יכולה להיות שמירה במטמון של תוכן פרטי שספציפי למשתמש (תוכן שאפשר לזהות את המשתמש דרכו). מומלץ להפעיל את התכונה הזו רק בשרתי קצה עורפיים שלא מציגים תוכן פרטי או דינמי, כמו קטגוריות של Cloud Storage.