ארכיטקטורה של סביבה

Managed Airflow (דור 3) | Managed Airflow (דור 2) | Managed Airflow (דור 1 מדור קודם)

בדף הזה מתואר הארכיטקטורה של סביבות Managed Airflow.

הגדרות של ארכיטקטורת הסביבה

סביבות Managed Airflow (דור קודם 1) יכולות להיות עם הגדרות ארכיטקטורה מהסוגים הבאים:

פרויקטים של לקוחות ופרויקטים של דיירים (tenants)

כשיוצרים סביבה, Managed Airflow מחלק את המשאבים של הסביבה בין דייר לבין פרויקט של לקוח:

  • פרויקט הלקוח הוא Google Cloud פרויקט שבו יוצרים את הסביבות. אפשר ליצור יותר מסביבה אחת בפרויקט של לקוח יחיד.

  • פרויקט דייר (tenant) הוא פרויקט דייר (tenant) שמנוהל על ידי Google ושייך לארגון Google.com. פרויקט הדייר מספק בקרת גישה מאוחדת ושכבת אבטחת מידע נוספת בסביבה שלכם. לכל סביבת Managed Airflow יש פרויקט דייר משלה.

רכיבי הסביבה

סביבת Managed Airflow מורכבת מרכיבי סביבה.

רכיב סביבה הוא אלמנט של תשתית Airflow מנוהלת שפועלת ב- Google Cloudכחלק מהסביבה שלכם. רכיבי הסביבה פועלים בדייר או בפרויקט הלקוח של הסביבה.

אשכול הסביבה

האשכול של הסביבה הוא אשכול סטנדרטי של Google Kubernetes Engine במצב VPC-native או Routes-based של הסביבה:

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

המאגר של הסביבה

הקטגוריה של הסביבה היא קטגוריה ב-Cloud Storage שבה מאוחסנים קובצי DAG, תוספים, תלות בנתונים ויומני Airflow. המאגר של הסביבה נמצא בפרויקט של הלקוח.

כשמעלים את קובצי ה-DAG לתיקייה /dags בדלי של הסביבה, Managed Airflow מסנכרן את ה-DAG עם רכיבי Airflow של הסביבה.

שרת האינטרנט של Airflow

שרת האינטרנט של Airflow מריץ את ממשק המשתמש של Airflow בסביבה שלכם.

ב-Managed Airflow (Legacy Gen 1), שרת האינטרנט של Airflow פועל בפרויקט הדייר של הסביבה.

שרת האינטרנט של Airflow משולב עם שרת proxy לאימות זהויות (IAP). ב-Managed Airflow, פרטי השילוב של IAP מוסתרים, והגישה לשרת האינטרנט מתבצעת על סמך זהויות המשתמשים והקשרים של מדיניות IAM שהוגדרו למשתמשים.

ב-Managed Airflow (Legacy Gen 1), שרת האינטרנט של Airflow פועל בחשבון שירות שונה מזה של העובדים והמתזמנים של Airflow. חשבון השירות של שרת האינטרנט נוצר אוטומטית במהלך יצירת הסביבה, והוא נגזר מדומיין שרת האינטרנט. לדוגמה, אם הדומיין הוא example.appspot.com, חשבון השירות הוא example@appspot.gserviceaccount.com.

מסד נתונים של Airflow

מסד הנתונים של Airflow הוא מופע Cloud SQL שפועל בפרויקט הדייר של הסביבה שלכם. הוא מארח את מסד הנתונים של המטא-נתונים של Airflow.

כדי להגן על מידע רגיש לגבי חיבורים ותהליכי עבודה, ב-Managed Airflow הגישה למסד הנתונים מותרת רק לחשבון השירות של הסביבה שלכם.

רכיבים אחרים של זרימת האוויר

רכיבי Airflow אחרים שפועלים בסביבה שלכם:

  • מתזמני Airflow מנתחים קבצים של הגדרות DAG, מתזמנים הפעלות של DAG על סמך מרווח התזמון ומכניסים משימות לתור לביצוע על ידי עובדי Airflow. ב-Managed Airflow (Legacy Gen 1) מעבדי Airflow DAG פועלים כחלק מרכיבי המתזמן.

  • תהליכי עבודה של Airflow מבצעים משימות שמתוזמנות על ידי מתזמני Airflow.

ארכיטקטורת סביבה של כתובת IP ציבורית

משאבים של סביבת Managed Airflow עם כתובת IP ציבורית בפרויקט הדייר ובפרויקט הלקוח
איור 1. ארכיטקטורה של סביבת כתובת IP ציבורית (לחצו כדי להגדיל)

בארכיטקטורת סביבת IP ציבורי עבור Managed Airflow (דור קודם 1):

  • פרויקט הדייר מארח מופע של Cloud SQL, אחסון ב-Cloud SQL ומופע של App Engine Flex שמריץ את שרת האינטרנט של Airflow.
  • פרויקט הלקוח מארח את כל הרכיבים האחרים של הסביבה.
  • מתזמני Airflow ועובדי Airflow בפרויקט הלקוח מתקשרים עם מסד הנתונים של Airflow באמצעות מכונות proxy של Cloud SQL שנמצאות בפרויקט הלקוח.
  • שרת האינטרנט של Airflow בפרויקט הדייר מתקשר עם מסד הנתונים של Airflow באמצעות מופע של שרת proxy ל-Cloud SQL שנמצא בפרויקט הדייר.

ארכיטקטורת סביבת IP פרטית

משאבים של סביבת Managed Airflow עם כתובת IP פרטית בפרויקט הדייר ובפרויקט הלקוח
איור 2. ארכיטקטורה של סביבת כתובות IP פרטיות (לחצו כדי להגדיל)

בארכיטקטורה של סביבת IP פרטית:

  • פרויקט הדייר מארח מופע Cloud SQL, אחסון Cloud SQL ושני מופעי App Engine שמריצים את שרת האינטרנט של Airflow.
  • פרויקט הלקוח מארח את כל הרכיבים האחרים של הסביבה.
  • מתזמנים ועובדים של Airflow מתחברים למסד הנתונים של Airflow דרך התהליך HAProxy באשכול של הסביבה.
  • תהליך HAProxy מאזן את עומס התנועה למכונת Cloud SQL בין שתי מכונות Cloud SQL Proxy שנמצאות בפרויקט הדייר. בסביבות עם כתובות IP פרטיות נעשה שימוש בשתי מכונות Cloud SQL Proxy כי לפרויקט של הלקוח אין גישה ישירה למסד הנתונים בגלל מגבלות ברשת. צריך שני מקרים כדי להבטיח שלרכיבים בסביבה שלכם תהיה גישה למסד הנתונים בכל שלב.

כתובת IP פרטית עם DRS

IP פרטי עם משאבי סביבת Managed Airflow של DRS בפרויקט הדייר ובפרויקט הלקוח (לחיצה להגדלה)
איור 3. ארכיטקטורה של סביבת כתובות IP פרטיות (לחצו כדי להגדיל)

אם מדיניות הארגון Domain Restricted Sharing (DRS) מופעלת בפרויקט, אז Managed Airflow משתמש ב-IP פרטי עם ארכיטקטורת סביבה של DRS.

בארכיטקטורת סביבת ה-IP הפרטי עם DRS:

  • פרויקט הדייר מארח מופע Cloud SQL, אחסון Cloud SQL ושני מופעי App Engine שמריצים את שרת האינטרנט של Airflow.

  • פרויקט הדייר מארח קטגוריה של סביבה נוספת. שרת האינטרנט של Airflow ניגש ישירות לדלי הזה.

  • פרויקט הלקוח מארח את כל הרכיבים האחרים של הסביבה.

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

  • המתזמנים והעובדים של Airflow מתחברים למסד הנתונים של Airflow דרך תהליך HAProxy באשכול של הסביבה.

  • תהליך HAProxy מאזן את עומס התנועה למכונת Cloud SQL בין שתי מכונות Cloud SQL Proxy שנמצאות בפרויקט הדייר. בסביבות עם כתובות IP פרטיות נעשה שימוש בשתי מכונות Cloud SQL Proxy כי לפרויקט של הלקוח אין גישה ישירה למסד הנתונים בגלל מגבלות ברשת. צריך שני מקרים כדי לוודא שלרכיבים בסביבה שלכם תהיה גישה למסד הנתונים בכל זמן.

שילוב עם Cloud Logging ו-Cloud Monitoring

‫Managed Airflow משתלב עם Cloud Logging ו-Cloud Monitoring של פרויקט Google Cloud , כך שיש לכם מקום מרכזי להצגת יומנים של Airflow ו-DAG.

מערכת Cloud Monitoring אוספת ומטמיעה מדדים, אירועים ומטא-נתונים מ-Managed Airflow כדי ליצור תובנות באמצעות לוחות בקרה ותרשימים.

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

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

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