בדף הזה מוסבר איך לשנות את מצבי המטמון באמצעות 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) מסומנת.
- בקטע מצב מטמון, בוחרים באחת מהאפשרויות הבאות:
- שמירת תוכן סטטי במטמון (מומלץ): תוכן סטטי הוא נכסי אינטרנט שלא משתנים עבור כל משתמש. תוכן סטטי מבוסס על
Content-Typeבתשובה. מידע נוסף מופיע במאמר בנושא תוכן סטטי. - שימוש בהגדרות מקור על סמך כותרות Cache-Control: שמירת תגובות במטמון עם הוראות תקפות למטמון בכותרות התגובה. לפרטים על האופן שבו Cloud CDN מפרש את הכותרות האלה ואת סדר העדיפויות שלהן, ראו סדר העדיפויות של כותרות בקרת מטמון.
- שמירה של כל התוכן במטמון: שמירת כל התוכן שמוצג על ידי המקור במטמון, תוך התעלמות מההנחיות
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: נדרש שהמקור יגדיר כותרות תקפות של שמירת נתונים במטמון כדי לשמור תוכן במטמון. תגובות בלי הכותרות האלה לא נשמרות במטמון ב-edge של Google, ודורשות נסיעה מלאה למקור בכל בקשה. זה עלול להשפיע על הביצועים ולהגדיל את העומס על שרת המקור. פרטים על האופן שבו Cloud CDN מפרש את הכותרות האלה ועל סדר העדיפות שלהן מופיעים במאמר סדר העדיפות של כותרות בקרת המטמון.
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: נדרש שהמקור יגדיר כותרות תקפות של שמירת תוכן במטמון כדי לשמור תוכן במטמון. תגובות בלי הכותרות האלה לא נשמרות במטמון ב-edge של Google, ודורשות נסיעה מלאה למקור בכל בקשה. זה עלול להשפיע על הביצועים ולהגדיל את העומס על שרת המקור. לפרטים נוספים על האופן שבו Cloud CDN מפרש את הכותרות האלה ועל סדר העדיפות שלהן, אפשר לעיין במאמר סדר העדיפות של כותרות בקרת מטמון.
FORCE_CACHE_ALL: שומר במטמון את כל התוכן (כלומר, תגובות מוצלחות), תוך התעלמות מההנחיותprivateאוno-storeבכותרות התגובהCache-Control. הדבר עלול לגרום לשמירת תוכן פרטי במטמון, תוכן שמשתנה לפי המשתמש (ניתן לזיהוי). מומלץ להפעיל את התכונה הזו רק בשרתי קצה עורפיים שלא מציגים תוכן פרטי או דינמי, כמו קטגוריות של Cloud Storage.