בדף הזה מוסבר איך לבטל את התוקף של תוכן שנשמר במטמון ב-Cloud CDN.
לדוגמה, אם קובץ שנמצא בכתובת /images/file.jpg נשמר במטמון וצריך לבטל את התוקף שלו, אפשר להשתמש בכמה שיטות כדי לבטל את התוקף שלו, בהתאם לשאלה אם רוצים להשפיע רק על הקובץ הזה או על היקף רחב יותר. בכל מקרה, אפשר לבטל את התוקף של כל שמות המארחים או רק של שם מארח אחד.
מידע נוסף על ניקוי המטמון זמין במאמר סקירה כללית על ניקוי המטמון.
לפני שמתחילים
אפשר להשתמש ב-Google Cloud CLI או במסוף Google Cloud כדי לבצע ביטולים.
יש שתי דרכים לגשת אל Google Cloud CLI:
מתקינים את Google Cloud CLI לפי ההוראות במאמר בנושא התקנה באמצעות
apt-get. אם לא השתמשתם ב-Google Cloud CLI בעבר, קודם מריצים אתgcloud initכדי לבצע אימות.להשתמש ב-Cloud Shell, שבו
gcloudכבר מותקן.
במאמר יצירה וניהול של תפקידים בהתאמה אישית מוסבר איך יוצרים תפקיד בהתאמה אישית עם ההרשאות הנדרשות.
כדי להוסיף תפקיד מוגדר מראש, אפשר להיעזר במדריך לתחילת העבודה עם IAM.
פסילת קובץ אחד בלבד
המסוף
נכנסים לדף Cloud CDN במסוף Google Cloud .
לוחצים על מקור.
לוחצים על הכרטיסייה ביטול תוקף של מטמון.
בקטע Associated load balancers (מאזני עומסים משויכים), בוחרים את מאזן העומסים.
בקטע Specify objects to invalidate (ציון אובייקטים לביטול תוקף), מבצעים את הפעולות הבאות:
- בשדה מארח, אלא אם רוצים לבטל את התוקף של הנתיב לכל שמות המארחים, צריך לציין שם מארח.
- בשדה Path (נתיב), מציינים את הנתיב ואת שם הקובץ. לדוגמה:
/images/file.jpg.
לוחצים על ביטול.
gcloud
משתמשים בפקודה gcloud compute url-maps invalidate-cdn-cache.
כדי לציין רק קובץ אחד לביטול התוקף, משתמשים בדגל --path עם שם הקובץ.
gcloud compute url-maps invalidate-cdn-cache URL_MAP_NAME \
--path "/images/file.jpg"
מחליפים את URL_MAP_NAME בשם של מיפוי ה-URL. כדי לראות את רשימת מיפויי כתובות ה-URL, משתמשים בפקודה gcloud compute url-maps list.
כדי לבטל את התוקף רק למארח אחד, מוסיפים את הדגל --host – לדוגמה, --host host1.com.
gcloud compute url-maps invalidate-cdn-cache URL_MAP_NAME \
--host host1.com \
--path "/images/file.jpg"
כברירת מחדל, Google Cloud CLI ממתין עד שהביטול יסתיים. כדי לבצע את הביטול ברקע, מוסיפים --async לשורת הפקודה.
API
משתמשים בשיטה urlMaps.invalidateCache.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/urlMaps/URL_MAP_NAME/invalidateCache
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט ב Google Cloud מסוף -
URL_MAP_NAME: השם של מפת URL
כדי לציין קובץ לביטול תוקף, משתמשים בגוף הבקשה הבא בפורמט JSON:
{
"path": "/images/file.jpg"
}
כדי לבטל את התוקף של הקובץ רק עבור מארח אחד, משתמשים בגוף הבקשה הבא בפורמט JSON:
{
"host": "host1.com",
"path": "/images/file.jpg"
}
ביטול התוקף של כל הספרייה
המסוף
נכנסים לדף Cloud CDN במסוף Google Cloud .
לוחצים על מקור.
לוחצים על הכרטיסייה ביטול תוקף של מטמון.
בקטע Associated load balancers (מאזני עומסים משויכים), בוחרים את מאזן העומסים.
בקטע Specify objects to invalidate (ציון אובייקטים לביטול תוקף), מבצעים את הפעולות הבאות:
- בשדה מארח, אלא אם רוצים לבטל את התוקף של הנתיב לכל שמות המארחים, מציינים שם מארח.
- בשדה Path, מציינים את הנתיב וכוכבית כתו כללי לחיפוש – לדוגמה,
/images/*.
לוחצים על ביטול.
gcloud
משתמשים בפקודה gcloud compute url-maps invalidate-cdn-cache.
gcloud compute url-maps invalidate-cdn-cache URL_MAP_NAME \
--path "/images/*"
מחליפים את URL_MAP_NAME בשם של מיפוי ה-URL.
כדי לבטל את התוקף רק למארח אחד, מוסיפים את הדגל --host – לדוגמה, --host host1.com.
gcloud compute url-maps invalidate-cdn-cache URL_MAP_NAME \
--host host1.com \
--path "/images/*"
API
משתמשים בשיטה urlMaps.invalidateCache.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/urlMaps/URL_MAP_NAME/invalidateCache
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט ב Google Cloud מסוף -
URL_MAP_NAME: השם של מפת URL
כדי לציין ספרייה לביטול תוקף, משתמשים בתוכן הבקשה הבא בפורמט JSON:
{
"path": "/images/*"
}
כדי לבטל תוקף של ספרייה רק עבור מארח אחד, משתמשים בתוכן הבא של בקשת JSON לדוגמה:
{
"host": "host1.com",
"path": "/images/*"
}
ביטול תוקף לפי תגי מטמון
המסוף
נכנסים לדף Cloud CDN במסוף Google Cloud .
לוחצים על מקור.
לוחצים על הכרטיסייה ביטול תוקף של מטמון.
בקטע Associated load balancers (מאזני עומסים משויכים), בוחרים את מאזן העומסים.
בקטע Specify objects to invalidate (ציון אובייקטים לביטול תוקף), בשדה Cache tags (תגי מטמון), מציינים תג אחד או יותר לביטול התוקף. כדי להפריד בין התגים, משתמשים ברווחים או בפסיקים.
לוחצים על ביטול.
gcloud
משתמשים בפקודה gcloud beta compute url-maps invalidate-cdn-cache.
gcloud beta compute url-maps invalidate-cdn-cache URL_MAP_NAME \
--tags=TAGS
מחליפים את מה שכתוב בשדות הבאים:
-
URL_MAP_NAME: השם של מפת URL -
TAGS: תג או רשימה מופרדת בפסיקים של תגים; אפשר גם לציין את הדגל הזה עד 10 פעמים
לדוגמה, אם התגובה של ה-backend כוללת כותרת Cache-Tag עם מזהה משתמש אטום, כמו UUID4 או סוג אחר של GUID, אפשר להשתמש בדגל tag כדי לבטל את התוקף של כל התוכן עבור משתמש ספציפי.
בנוסף, כדי לבטל תוכן רק עבור מארח אחד, למשל עבור סביבת הבדיקה, מוסיפים את הדגל --host.
gcloud beta compute url-maps invalidate-cdn-cache url_map_1 \
--tags="1115b8f4-f804-4861-9629-8cb9aecdeeb3" \
--host="host1.com"
API
משתמשים בשיטה urlMaps.invalidateCache.
POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/global/urlMaps/URL_MAP_NAME/invalidateCache
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט ב Google Cloud מסוף -
URL_MAP_NAME: השם של מפת URL
כדי לציין תגי מטמון לביטול תוקף, משתמשים בדוגמה הבאה של תוכן בקשת JSON:
{
"cacheTags": [
"tag1",
"tag2"
]
}
אפשר לציין תג אחד או רשימה מופרדת בפסיקים של תגים.
כדי לבטל תוקף לפי תגי מטמון רק עבור מארח אחד, משתמשים בתוכן הבא של בקשת JSON לדוגמה:
{
"host": "host1.com",
"path": "tag1,tag2"
}
ניקוי המטמון של הכול
אפשר לבטל את התוקף של הכול, אבל זה עלול להיות מסוכן. לפני שממשיכים, חשוב לבדוק היטב את הדרישות.
המסוף
נכנסים לדף Cloud CDN במסוף Google Cloud .
לוחצים על מקור.
לוחצים על הכרטיסייה ביטול תוקף של מטמון.
בקטע Associated load balancers (מאזני עומסים משויכים), בוחרים את מאזן העומסים.
בקטע Specify objects to invalidate (ציון אובייקטים לביטול תוקף), מבצעים את הפעולות הבאות:
- בשדה מארח, אלא אם רוצים לבטל את התוקף של הנתיב לכל שמות המארחים, מציינים שם מארח.
- בשדה Path, משתמשים בכוכבית – לדוגמה,
/*.
לוחצים על Invalidate (ביטול תוקף) ואז על Confirm (אישור) כדי לציין שרוצים ש-Cloud CDN יבטל את התוקף של כל התוכן.
gcloud
משתמשים בפקודה gcloud compute url-maps invalidate-cdn-cache.
gcloud compute url-maps invalidate-cdn-cache URL_MAP_NAME \
--path "/*"
מחליפים את מה שכתוב בשדות הבאים:
-
URL_MAP_NAME: השם של מפת URL -
/*: נתיב כתובת ה-URL שרוצים לבטל את התוקף שלו. לא כולל את שם המארח. הנתיב יכול להשתמש בשם קובץ מפורש או בכוכבית כתו כללי.
כדי לבטל את התוקף רק למארח אחד, מוסיפים את הדגל --host – לדוגמה, --host host1.com.
gcloud compute url-maps invalidate-cdn-cache URL_MAP_NAME \
--host host1.com \
--path "/*"
API
משתמשים בשיטה urlMaps.invalidateCache.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/urlMaps/URL_MAP_NAME/invalidateCache
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט ב Google Cloud מסוף -
URL_MAP_NAME: השם של מפת URL
כדי לציין נתיב כתובת ה-URL לביטול תוקף, משתמשים בגוף בקשת ה-JSON לדוגמה הבאה:
{
"path": "/*"
}
כדי לבטל את התוקף של נתיב כתובת ה-URL רק למארח אחד, משתמשים בתוכן הבקשה הבא בפורמט JSON:
{
"host": "host1.com",
"path": "/*"
}
איך בודקים את הסטטוס של בקשת הביטול
רשת Cloud CDN פולטת שתי שורות ביומן לכל פסילה: אחת כשהפסילה מתקבלת ואחת כשהיא מסתיימת. הראשון מכיל את פרטי המארח והנתיב.
כדי לראות את הסטטוס של בקשת הביטול או למצוא רשימה סופית של בקשות שנשלחו לאחרונה, אפשר להשתמש ב-Cloud Logging או ב-Cloud Monitoring.
המסוף
נכנסים לדף Cloud CDN במסוף Google Cloud .
לוחצים על מקור.
לוחצים על הכרטיסייה ביטול תוקף של מטמון.
כדי לראות את הסטטוס והתוצאות של בקשת הביטול, לוחצים על מעבר אל Cloud Logging.
gcloud
בדוגמה הבאה מוצגת פקודה שמשתמשת ב-Logging כדי לקרוא יומני ביקורת. הוראות להפעלה ולצפייה ביומני ביקורת מפורטות במאמר רישום ביומן ביקורת של Cloud CDN.
gcloud logging read 'protoPayload.methodName="v1.compute.urlMaps.invalidateCache"' \
--limit=10
הדוגמה הבאה היא של שאילתה שמשתמשת ב-Monitoring:
protoPayload.serviceName="compute.googleapis.com" protoPayload.methodName="v1.compute.urlMaps.invalidateCache"
המאמרים הבאים
- כדי לבדוק אם Cloud CDN מציג תגובות ממטמון, אפשר לעיין במאמר בנושא צפייה ביומנים.
- במאמר סקירה כללית על שמירה במטמון מוסבר איזה תוכן אפשר לשמור במטמון ואיזה תוכן אי אפשר לשמור במטמון.