Cloud CDN (Content Delivery Network) משתמש ב-Google's global edge network כדי להציג תוכן קרוב יותר למשתמשים, מה שמאיץ את האתרים והאפליקציות שלכם.
Cloud CDN פועל עם מאזן עומסים גלובלי חיצוני של אפליקציות (ALB) או עם מאזן עומסים קלאסי של אפליקציות כדי להציג תוכן למשתמשים. מאזן העומסים החיצוני של אפליקציות מספק את כתובות ה-IP והיציאות של הקצה הקדמי שמקבלות בקשות, ואת הבק-אנד שמגיב לבקשות.
התוכן ב-Cloud CDN יכול להגיע מסוגים שונים של שרתי קצה עורפיים.
ב-Cloud CDN, נקראים השרתים האלה גם שרתי מקור. איור 1 מראה איך תגובות משרתי מקור שפועלים במופעים של מכונות וירטואליות (VM) עוברות דרך מאזן עומסים של אפליקציות (ALB) חיצוני לפני שהן מועברות על ידי Cloud CDN. במצב הזה, ממשק הקצה של Google (GFE) כולל את Cloud CDN ואת מאזן העומסים החיצוני של האפליקציות.
איך Cloud CDN עובד
כשמשתמש מבקש תוכן ממאזן עומסים חיצוני של אפליקציות (ALB), הבקשה מגיעה לממשק קצה של Google (GFE) שנמצא בקצה של הרשת של Google, קרוב ככל האפשר למשתמש.
אם מפת ה-URL של מאזן העומסים מנתבת תנועה לשירות לקצה העורפי או לקטגוריית קצה עורפי שמוגדר בהם Cloud CDN, ה-GFE משתמש ב-Cloud CDN.
פגיעות במטמון ואי-פגיעות במטמון
מטמון הוא קבוצה של שרתים שמאחסנים ומנהלים תוכן, כדי שאפשר יהיה להציג אותו מהר יותר בבקשות עתידיות. התוכן שנשמר במטמון הוא עותק של תוכן שאפשר לשמור במטמון, והוא מאוחסן בשרתי המקור.
אם GFE מחפש במטמון של Cloud CDN ומוצא תגובה שנשמרה במטמון לבקשת המשתמש, הוא שולח את התגובה שנשמרה במטמון למשתמש. זה נקרא cache hit. כשמתרחש פגיעה במטמון, ממשק GFE מחפש את התוכן לפי מפתח המטמון ומגיב ישירות למשתמש, וכך מקצר את זמן הלוך ושוב וחוסך לשרת המקור את הצורך לעבד את הבקשה.
פגיעה חלקית במטמון מתרחשת כשבקשה מוגשת חלקית מהמטמון וחלקית מקצה עורפי. זה יכול לקרות אם רק חלק מהתוכן המבוקש מאוחסן במטמון של Cloud CDN, כמו שמתואר במאמר תמיכה בבקשות לטווח בייטים.
בפעם הראשונה שמתקבלת בקשה להצגת תוכן, GFE קובע שלא ניתן למלא את הבקשה מהמטמון. זה נקרא אי מציאה במטמון. כשמתרחש אי מציאה במטמון, ממשק קצה של Google (GFE) מעביר את הבקשה למאזן העומסים החיצוני של האפליקציות (ALB). לאחר מכן, מאזן העומסים מעביר את הבקשה לאחד משרתי המקור. כשהתוכן מגיע למטמון, GFE מעביר אותו למשתמש.
אם התשובה של שרת המקור לבקשה הזו היא ניתנת לשמירה במטמון, Cloud CDN שומר את התשובה במטמון של Cloud CDN לבקשות עתידיות. העברת נתונים ממטמון ללקוח נקראת תעבורת נתונים יוצאת מהמטמון. העברת נתונים למטמון נקראת מילוי מטמון.
באיור 2 מוצגים מציאה במטמון ואי מציאה במטמון:
- שרתי מקור שפועלים על מכונות וירטואליות שולחים תגובות HTTP(S).
- מאזן העומסים החיצוני של אפליקציות מחלק את התגובות ל-Cloud CDN.
- Cloud CDN מעביר את התשובות למשתמשי הקצה.
במאמר בנושא תמחור אפשר לקרוא על העלויות שקשורות לפגיעות במטמון ולפספוסים במטמון.
שיעור מציאות במטמון (cache hit)
שיעור הפגיעות במטמון הוא אחוז הפעמים שבהן אובייקט מבוקש מוצג מהמטמון. אם שיעור מציאות במטמון (cache hit) הוא 60%, המשמעות היא שהאובייקט המבוקש מוגש מהמטמון ב-60% מהמקרים, וצריך לאחזר אותו מהמקור ב-40% מהמקרים.
מידע על האופן שבו מפתחות מטמון יכולים להשפיע על יחס הפגיעה במטמון זמין במאמר בנושא שימוש במפתחות מטמון. מידע לפתרון בעיות מופיע במאמר שיעור מציאות במטמון (cache hit) נמוך.
הצגת שיעור המציאות במטמון (cache hit) לתקופה קצרה
כדי לראות את שיעור מציאות במטמון (cache hit) לתקופה קצרה (כמה דקות אחרונות):
נכנסים לדף Cloud CDN במסוף Google Cloud .
לכל מקור, בודקים את העמודה Cache hit ratio.
n/a מציין שהתוכן עם איזון העומסים לא נשמר במטמון או שלא הייתה בקשה לגביו לאחרונה.
הצגת שיעור מציאות במטמון (cache hit) לאורך תקופה ארוכה יותר
כדי לראות את שיעור מציאות במטמון (cache hit) לפרק זמן של שעה עד 30 יום:
- נכנסים לדף Cloud CDN במסוף Google Cloud .
- בעמודה שם המקור, לוחצים על שם המקור.
- לוחצים על הכרטיסייה Monitoring (מעקב).
- אופציונלי: בוחרים קצה עורפי ספציפי.
אחד מהתרשימים הזמינים למעקב הוא שיעור ההיטים ב-CDN. אם בגרף מוצג הערך n/a, המשמעות היא שהתוכן לא נשמר במטמון או שלא הייתה בקשה להצגת התוכן בטווח הזמן שמוצג.
אפשר לשנות את התקופה על ידי בחירת טווח זמן אחר. התמונה הבאה היא דוגמה לטווחים של שעות שאפשר לבחור:

הוספת תוכן למטמון
השמירה במטמון היא תגובתית, כלומר אובייקט נשמר במטמון מסוים אם בקשה עוברת דרך המטמון הזה והתשובה ניתנת לשמירה במטמון. אובייקט שנשמר במטמון אחד לא משוכפל אוטומטית למטמונים אחרים. מילוי המטמון מתבצע רק בתגובה לבקשה שהגיעה מלקוח. אי אפשר לטעון מראש מטמונים, אלא אם גורמים למטמונים הנפרדים להגיב לבקשות.
אם שרת המקור תומך בבקשות של טווח בייטים, Cloud CDN יכול ליזום כמה בקשות למילוי מטמון בתגובה לבקשת לקוח אחת.
הצגת תוכן ממטמון
אחרי שמפעילים את Cloud CDN, השמירה במטמון מתבצעת באופן אוטומטי לכל התוכן שאפשר לשמור במטמון. שרת המקור משתמש בכותרות HTTP כדי לציין אילו תגובות נשמרות במטמון. אפשר גם לשלוט באפשרות השמירה במטמון באמצעות מצבי מטמון.
כשמשתמשים בקטגוריית קצה עורפי, שרת המקור הוא Cloud Storage. כשמשתמשים במכונות וירטואליות, שרת המקור הוא תוכנת שרת האינטרנט שמריצים במכונות האלה.
Cloud CDN משתמש במטמונים במספר רב של מיקומים ברחבי העולם. בגלל האופי של מטמונים, אי אפשר לחזות אם בקשה מסוימת תטופל מתוך מטמון. עם זאת, אפשר לצפות שברוב המקרים בקשות פופולריות לתוכן שניתן לאחסון במטמון יטופלו מתוך המטמון, וכך יתקבלו ערכי חביון נמוכים משמעותית, עלות נמוכה ועומס מופחת על שרתי המקור.
מידע נוסף על מה נשמר במטמון של Cloud CDN ועל משך השמירה מופיע במאמר סקירה כללית על שמירה במטמון.
כדי לראות מה מוגש מ-Cloud CDN ממטמון, אפשר לצפות ביומנים.
הסרת תוכן מהמטמון
כדי להסיר פריט ממטמון, אפשר לבטל את התוקף של תוכן שנשמר במטמון. למידע נוסף:
מעקף מטמון
כדי לעקוף את Cloud CDN, אתם יכולים לבקש אובייקט ישירות מקטגוריה של Cloud Storage או ממכונה וירטואלית ב-Compute Engine. לדוגמה, כתובת URL של אובייקט בקטגוריה של Cloud Storage נראית כך:
https://storage.googleapis.com/STORAGE_BUCKET/FILENAME
מדיניות בנושא תפוגה ופינוי של מטמון
כדי שתוכן יוצג ממטמון, הוא צריך להיות מוכנס למטמון, לא להימחק ממנו ולא להיות מיושן.
הסרה ותפוגה הם שני מושגים שונים. שתיהן משפיעות על התוכן שמוצג, אבל הן לא משפיעות אחת על השנייה באופן ישיר.
פינוי
אם אתם בודקים שמירת תוכן במטמון עם מספר קטן של בקשות, יכול להיות שתשימו לב שהתוכן נמחק מהמטמון.
לכל מטמון יש מגבלה על כמות הנתונים שהוא יכול להכיל. עם זאת, Cloud CDN מוסיף תוכן למטמונים גם אחרי שהם מלאים. כדי להוסיף תוכן למטמון מלא, המטמון קודם מסיר משהו אחר כדי לפנות מקום. הפעולה הזו נקראת eviction (הוצאה). בדרך כלל המטמון מלא, ולכן התוכן מפונה ממנו כל הזמן. בדרך כלל הם מסירים תוכן שלא ניגשו אליו לאחרונה, ללא קשר למועד התפוגה של התוכן. יכול להיות שפג התוקף של התוכן שהוצא, ויכול להיות שלא. הגדרת זמן תפוגה לא משפיעה על ההוצאה מהזיכרון.
תוכן לא פופולרי הוא תוכן שלא הייתה אליו גישה במשך זמן מה. המונחים A while ו-unpopular הם יחסיים ביחס לרוב הפריטים במטמון. מספר פרויקטים חולקים מאגר משותף של שטח מטמון כי הם מוגשים מאותו סט של GFE. Google Cloud הפופולריות היחסית של התוכן מושווית בין כמה פרויקטים, ולא רק בתוך פרויקט אחד.
ככל שהתנועה במטמון גדולה יותר, כך יותר תוכן במטמון נמחק.
כמו בכל המטמונים הגדולים, יכול להיות שתוכן יסולק באופן בלתי צפוי, ולכן אין ערובה לכך שבקשה מסוימת תטופל מהמטמון.
תפוגה
לתוכן במטמון של HTTP(S) יכול להיות זמן תפוגה שניתן להגדרה. זמן התפוגה מודיע למטמון לא להציג תוכן ישן, גם אם התוכן לא הוצא מהמטמון.
לדוגמה, כתובת URL של תמונה של השעה. התשובות שלו צריכות להיות מוגדרות כך שהתוקף שלהן יפוג תוך פחות משעה. אחרת, יכול להיות שהתוכן שמוצג הוא תמונה ישנה ממטמון.
מידע על שינוי מדויק של זמני התפוגה מופיע במאמר שימוש בהגדרות TTL וביטול שלהן.
בקשות שהופעלו על ידי Cloud CDN
אם שרת המקור תומך בבקשות של טווח בייטים, Cloud CDN יכול לשלוח כמה בקשות לשרת המקור בתגובה לבקשה אחת של לקוח. כפי שמתואר במאמר בנושא תמיכה בבקשות לטווח בייטים, Cloud CDN יכול ליזום שני סוגים של בקשות: בקשות אימות ובקשות לטווח בייטים.
הגדרות מיקום הנתונים של שירותים אחרים ב-Cloud Platform
השימוש ב-Cloud CDN אומר שייתכן שהנתונים יאוחסנו במיקומי הגשה מחוץ לאזור או לאזור הזמינות של שרת המקור. זה מצב תקין שנובע מהאופן שבו שמירת נתונים במטמון של HTTP פועלת באינטרנט. במסגרת התנאים הספציפיים לשירות של התנאים וההגבלות של Google Cloud Platform, ההגדרה 'מיקום הנתונים' שזמינה לשירותים מסוימים של Cloud Platform לא חלה על נתוני ליבה של לקוחות בשירות Cloud Platform הרלוונטי, כשמשתמשים בו עם מוצרים ושירותים אחרים של Google (במקרה הזה, שירות Cloud CDN). אם לא רוצים שזה יקרה, לא משתמשים בשירות Cloud CDN.
תמיכה באישורי SSL בניהול Google
אפשר להשתמש באישורים שמנוהלים על ידי Google כש-Cloud CDN מופעל.
שילוב עם Google Cloud Armor
Google Cloud Armor עם Cloud CDN כולל שני סוגים של כללי מדיניות אבטחה:
- מדיניות אבטחה של Edge. אפשר להחיל את כללי המדיניות האלה על שרתי המקור שלכם שמופעל בהם Cloud CDN. הם חלים על כל התנועה, לפני חיפוש CDN.
- מדיניות אבטחה של קצה עורפי. כללי המדיניות האלה נאכפים רק לגבי בקשות לתוכן דינמי, החמצות מטמון או בקשות אחרות שמיועדות לשרת המקור.
מידע נוסף זמין במסמכי התיעוד של Cloud Armor.
שילוב עם Service Extensions
Cloud CDN מאפשר להוסיף קוד מותאם אישית לנתיב עיבוד הבקשות של מאזני עומסים חיצוניים גלובליים של אפליקציות באמצעות תוספים של Service Extensions. התוספים האלה עוזרים לכם להטמיע התאמות אישיות בנתיב הבקשה לפני השמירה במטמון, ומשפיעים על אופן השמירה של התוכן במטמון ב-Cloud CDN. בנוסף, אתם יכולים להפעיל את התוספים בנתיב הבקשה או בנתיב התגובה מהשרת.
מידע נוסף מופיע במאמר שימוש ב-Service Extensions למחשוב קצה.
המאמרים הבאים
- כדי להפעיל את Cloud CDN עבור מופעים עם איזון עומסים מסוג HTTP(S) וקטגוריות אחסון, אפשר לעיין במאמר בנושא שימוש ב-Cloud CDN.
- כדי להשתמש ב-Cloud CDN עם Google Kubernetes Engine, אפשר לעיין במאמר בנושא הגדרת Cloud CDN דרך Ingress.
- כדי לראות את נקודות הנוכחות של GFE, אפשר לעיין במאמר בנושא מיקומי מטמון.