שימוש ב-Google Cloud Armor, באיזון עומסים וב-Cloud CDN כדי לפרוס ממשקי קצה גלובליים שניתנים לתכנות

Last reviewed 2025-04-02 UTC

במסמך הזה מוצגת ארכיטקטורת עזר לאפליקציית אינטרנט שמארחת ב- Google Cloud. הארכיטקטורה משתמשת בממשק קצה גלובלי שמשלב שיטות מומלצות כדי לעזור לכם להרחיב, לאבטח ולהאיץ את המסירה של האפליקציות שפונות לאינטרנט. Google Cloud הארכיטקטורה כוללת תמיכה ב-Cloud Build, וגם באינטגרציה רציפה (CI) ובפיתוח רציף (CD) של צד שלישי, כמו Jenkins ו-GitLab. הארכיטקטורה הזו מיועדת למפתחים ולבעלי אפליקציות שרוצים להרחיב את האפליקציה שלהם באמצעות איזון עומסים, ולהגן על האפליקציות שלהם מפני מתקפות מניעת שירות מבוזרות (DDoS) ומתקפות מבוססות-אינטרנט באמצעות חומת אש לאפליקציות אינטרנט (WAF).

ארכיטקטורה

התרשים הבא מציג את הארכיטקטורה שמתוארת במסמך הזה.

ארכיטקטורה של אפליקציות אינטרנט.

באדריכלות הזו, העומס על האפליקציה מאוזן באמצעות מאזני עומסים גלובליים חיצוניים של אפליקציות (ALB), שמחלקים את תעבורת ה-HTTP וה-HTTPS בין כמה מופעי קצה עורפיים, בכמה אזורים. ‫Cloud CDN מאיץ אפליקציות שפונות לאינטרנט באמצעות נקודות קצה של נוכחות (PoP) של Google, ופועל עם מאזן העומסים הגלובלי החיצוני של אפליקציות (ALB) כדי להעביר תוכן למשתמשים. העורף מוגן על ידי מדיניות האבטחה של Google Cloud Armor, שמספקת סינון בשכבה 7 על ידי ניקוי בקשות נכנסות ממתקפות אינטרנט נפוצות או ממאפיינים אחרים בשכבה 7, ועוזרת לחסום תנועה לפני שהיא מגיעה לשירותי העורף עם איזון העומסים. ההגנה מפני מתקפות DDoS נפחיות מופעלת כברירת מחדל.

כשמשתמש מבקש תוכן מהשירות שלכם, הבקשה נשלחת אל ממשק הקצה הגלובלי לאפליקציות שפונות לאינטרנט, שמסופק על ידי Cross-Cloud Network. הבקשה מוערכת על ידי מדיניות האבטחה של Cloud Armor, החל ממדיניות האבטחה של Cloud Armor Edge. אם הבקשה מורשית ואפשר למלא אותה באמצעות Cloud CDN, התוכן מאוחזר ממטמון Cloud Armor ונשלח בחזרה למשתמש. אם הבקשה גורמת ל אי מציאה במטמון, היא נבדקת על ידי מדיניות ה-backend ואז, בהתאם לכללים של המדיניות, היא נדחית או מתבצעת על ידי שרת ה-backend.

רכיבי ארכיטקטורה

התרשים שלמעלה כולל את הרכיבים הבאים:

  • מאזן עומסים גלובלי חיצוני של אפליקציות (ALB): מאזן העומסים הזה של אפליקציות הוא מאזן עומסים מבוסס-proxy בשכבה 7, שמאפשר לכם להפעיל את השירותים שלכם ולשנות את קנה המידה שלהם. מאזן העומסים של האפליקציה מפזר תנועת HTTP ו-HTTPS אל שרתים עורפיים שמארחים מגוון פלטפורמות. Google Cloud מאזן העומסים של האפליקציות כולל את התכונות הבאות:

    • בק-אנד שניתן להגדרה: ארכיטקטורה זו משתמשת בשתי קבוצות מופעי מכונה מנוהלים (MIG) באזורים שונים, אך ניתן להגדיר כל בק-אנד שמאזן העומסים הגלובלי החיצוני של אפליקציות תומך בו. אפשר להשתמש באותו מאזן עומסים עבור GKE, ‏ Cloud Run, פונקציות Cloud Run ואפליקציות App Engine, וגם עבור אפליקציות שמתארחות בסביבה מקומית ובסביבות ענן אחרות, באמצעות הגדרת קצה עורפי שונה. מידע נוסף זמין במאמר סקירה כללית על מאזן עומסים של אפליקציות.
    • פיצול תנועה: אתם יכולים להשתמש ב-Application Load Balancer כדי לנהל את התנועה, כולל ניהול של גרסאות תוכנה על ידי שליחת משתמשים שונים לשרתי קצה עורפיים שונים. באדריכלות שמתוארת במסמך הזה, יש חלוקת התנועה פשוטה ביחס של 60/40. עם זאת, אפשר לשנות את החלוקה הזו כדי ליצור תוכניות מורכבות יותר לניהול תנועה. כדי לקבל מידע על אפשרויות הגדרה נוספות, אפשר לעיין במאמר בנושא זמני קצוב לתפוגה וניסיונות חוזרים שניתנים להגדרה, ולבחור את מצב האיזון המועדף.
  • Cloud CDN: פלטפורמת Cloud CDN פועלת כמטמון. הוא נפרס עם שרת המקור כדי לספק את חבילת התכונות המלאה של Cloud CDN, כולל QUIC ו-HTTP/2, וגם בקרות ניתוב וזיכרון מטמון. הגישה הזו מאפשרת להרחיב את האפליקציה באופן גלובלי בלי לפגוע בביצועים, וגם להפחית את רוחב הפס ואת עלויות החישוב של חזית האפליקציה. הגדרת ברירת המחדל שמשמשת את ממשק הקצה הגלובלי מבוססת על שיטות מומלצות למסירת תוכן ועל שיטות מומלצות לאבטחת אתרים ב-Cloud CDN.

  • Cloud Armor: הרכיב הזה כולל הגנה מפני DDoS וכללי WAF. הארכיטקטורה כוללת את ההגדרה הבסיסית הבאה של Cloud Armor, שעוזרת לצמצם את הסיכון לשימוש בווקטורים נפוצים של איומים:

המוצרים שהשתמשו בהם

ארכיטקטורת ההפניה הזו כוללת את המוצרים הבאים Google Cloud :

שיקולים בתכנון

הקטע הזה מספק הנחיות שיעזרו לכם להשתמש במסמך הזה כנקודת התחלה לפיתוח ארכיטקטורה שעונה על הדרישות הספציפיות שלכם בנוגע לאבטחה, לאמינות, ליעילות תפעולית, לעלות ולביצועים.

אבטחה, פרטיות ותאימות

בקטע הזה מתוארים גורמים נוספים שכדאי לקחת בחשבון כשמשתמשים בארכיטקטורת ההפניה הזו כדי לפרוס את אפליקציית האינטרנט.

הגדרת בסיס אבטחה

כדי לשפר עוד יותר את האבטחה, הארכיטקטורה שמתוארת במסמך הזה תואמת גם לתוכנית הבסיס של Enterprise. התוכנית עוזרת לארגונים שמשתמשים ב-Google Cloud ליצור בסיס מאובטח לכל עומסי העבודה העתידיים, כולל הגדרת ניהול זהויות והרשאות גישה (IAM),‏ Cloud Key Management Service ו-Security Command Center.

הגנה על נתוני משתמשים באמצעות Cloud CDN

באופן כללי, בארכיטקטורה הזו מומלץ לא לשמור במטמון תוכן שספציפי למשתמש. כדי לשמור במטמון סוגי תוכן של HTML ‏ (text/html) ו-JSON ‏ (application/json), צריך להגדיר כותרות מפורשות של cache-control בתגובה של Cloud CDN. חשוב לוודא שלא שומרים במטמון את הנתונים של משתמש אחד ומציגים אותם לכל המשתמשים.

שליטה בגישה לאפליקציה באמצעות IAP

הארכיטקטורה תואמת גם לשרת proxy לאימות זהויות (IAP). שרת ה-IAP מאמת את זהות המשתמש ואז קובע אם המשתמש צריך לקבל גישה לאפליקציה. כדי להפעיל את IAP במאזן העומסים של האפליקציות במצב גלובלי חיצוני או במצב קלאסי, צריך להפעיל אותו בשירותי ה-Backend של מאזן העומסים. בקשות HTTP/HTTPS נכנסות נבדקות על ידי Cloud Armor לפני שהן נשלחות לאיזון עומסים על ידי מאזן העומסים של האפליקציות. אם Cloud Armor חוסם בקשה, ‏ IAP לא בודק את הבקשה. אם Cloud Armor מאשר בקשה, ‏ IAP מעריך את הבקשה. הבקשה נחסמת אם IAP לא מאמת את הבקשה. מידע נוסף זמין במאמר שילוב של Cloud Armor עם מוצרים אחרים של Google.

הוזלת עלויות

ככלל, שימוש ב-Cloud CDN יחד עם Cloud Armor יכול לעזור לצמצם את ההשפעה של חיובים על העברת נתונים יוצאים.

Cloud CDN

אובייקטים סטטיים שמוצגים ללקוח מהמטמון לא עוברים דרך מאזן העומסים. אסטרטגיית שמירה במטמון יעילה יכולה לצמצם את כמות הנתונים היוצאים שמעובדים על ידי מאזן העומסים, וכך להפחית את העלויות.

Google Cloud Armor

‫Cloud Armor עוזר לצמצם עלויות על ידי מניעת חיובים בחשבון על תנועה לא רצויה. בקשות שנחסמות על ידי Cloud Armor לא יוצרות תגובה מהאפליקציה, וכך מצטמצמת כמות הנתונים היוצאים שעוברים עיבוד על ידי מאזן העומסים. ההשפעה על העלויות תלויה באחוז התנועה הלא רצויה שנחסמת על ידי מדיניות האבטחה של Cloud Armor שאתם מטמיעים.

העלויות הסופיות יכולות להשתנות גם בהתאם למספר השירותים או האפליקציות שרוצים להגן עליהם, למספר המדיניות והכללים של Cloud Armor שיש לכם, למילוי המטמון ולתעבורת הנתונים היוצאת (egress), ולנפח הנתונים. מידע נוסף זמין במאמרים הבאים:

פריסה

כדי לפרוס את הארכיטקטורה הזו, משתמשים בדוגמה ל-Terraform. מידע נוסף זמין בקובץ README. התיקייה web_app_protection_example כוללת את הקובץ (main.tf). הקוד בקובץ הזה יוצר את הארכיטקטורה שמתוארת במסמך הזה, ומספק תמיכה נוספת לפריסה אוטומטית.

מבנה התיקיות בתיקיית Terraform הוא כדלקמן:

כשמבצעים שינוי בענף כלשהו שהצינור מבוסס עליו, השינויים האלה מפעילים את הצינור והם משולבים בגרסה חדשה אחרי שהיא מסתיימת. כשמושכים את ערכת הכלים בפעם הראשונה, הפתרון נטען לפרויקט שבחרתם Google Cloud .

המאמרים הבאים

מידע נוסף על השיטות המומלצות לשימוש ב Google Cloud מוצרים שמופיעים בארכיטקטורה לדוגמה הזו:

שותפים ביצירת התוכן

מחברים:

תורמי תוכן אחרים: