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

Last reviewed 2025-04-02 UTC

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

ארכיטקטורה

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

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

בארכיטקטורה הזו, האפליקציה מאוזנת עומסים באמצעות מאזני עומסים גלובליים חיצוניים של אפליקציות, שמחלקים את תעבורת ה-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 Functions ו-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 :

שיקולים לגבי העיצוב

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

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

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

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

כדי לשפר עוד יותר את האבטחה, הארכיטקטורה שמתוארת במסמך הזה תואמת גם לתוכנית הבסיסית לארגונים. התוכנית הזו עוזרת לארגונים שמשתמשים ב-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, מילוי המטמון והתעבורה היוצאת, ונפח הנתונים. למידע נוסף, אפשר לעיין במאמרים הבאים:

פריסה

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

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

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

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

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

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

מחברים:

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