הגדרת רשתות עם כתובות IP פרטיות

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

בדף הזה מוסבר איך להגדיר את הרשת של הפרויקט בסביבות עם כתובות IP פרטיות. Google Cloud

בסביבות עם כתובות IP פרטיות, Managed Airflow מקצה רק כתובות IP פרטיות (RFC 1918) למכונות וירטואליות מנוהלות של Google Kubernetes Engine ו-Cloud SQL בסביבה שלכם.

אפשרות נוספת היא להשתמש בכתובות IP ציבוריות לשימוש פרטי ובסוכן IP Masquerade כדי לחסוך במרחב כתובות ה-IP ולהשתמש בכתובות שאינן RFC 1918.

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

לפני שמתחילים

בדיקת דרישות הרשת

מוודאים שרשת ה-VPC של הפרויקט עומדת בדרישות הבאות:

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

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

  • מוודאים שמספר הטווחים המשניים ברשת המשנה לא עולה על 30. כמה נקודות שכדאי לחשוב עליהן:

    • אשכול ה-GKE בסביבת כתובות ה-IP הפרטיות יוצר שני טווחים משניים ברשת המשנה. אפשר ליצור כמה רשתות משנה באותו אזור עבור אותה רשת VPC.
    • המספר המקסימלי של טווחי משנה נתמכים הוא 30. כל סביבת IP פרטית דורשת שני טווחים משניים עבור הפודים והשירותים של Managed Airflow GKE.
  • מוודאים שהרשת של הפרויקט יכולה לעמוד במגבלה על המספר המקסימלי של חיבורים לרשת VPC אחת. המספר המקסימלי של סביבות עם כתובות IP פרטיות שאפשר ליצור תלוי במספר חיבורי ה-VPC Network Peering שכבר קיימים ברשת ה-VPC.

  • כל סביבת IP פרטית משתמשת ב-VPC אחד או שניים לכל סביבה. ב-Managed Airflow נוצר קישור אחד בין רשתות VPC שכנות (peering) עבור רשת ה-VPC של פרויקט הדייר (tenant). החיבור השני נוצר על ידי אשכול GKE של הסביבה, ואשכולות GKE יכולים לעשות שימוש חוזר בחיבור הזה.

בחירת רשת, רשת משנה וטווחים של רשתות

בוחרים את טווחי הרשת לסביבת ה-IP הפרטי (או משתמשים בברירות המחדל). משתמשים בטווחים האלה של הרשתות בהמשך כשיוצרים סביבת IP פרטית.

כדי ליצור סביבת IP פרטית, צריך את הפרטים הבאים:

  • מזהה רשת ה-VPC
  • מזהה רשת המשנה של ה-VPC
  • שני טווחי כתובות IP משניים ברשת המשנה של ה-VPC:
    • טווח IP משני ל-pods
    • טווח IP משני לשירותים
  • טווחי כתובות ה-IP של רכיבי הסביבה:

    • טווחי כתובות IP של מישור הבקרה של GKE טווח כתובות ה-IP של מישור הבקרה של GKE.
      • טווח כתובות ה-IP של שרת האינטרנט.
    • טווח כתובות ה-IP של שרת האינטרנט. טווח כתובות ה-IP של מופע שרת האינטרנט של Airflow.
    • טווח כתובות ה-IP של Cloud SQL. טווח כתובות ה-IP של מכונת Cloud SQL.

בטבלת ברירות המחדל של טווחי כתובות ה-IP אפשר לראות את ברירות המחדל שמשמשות בכל אזור.

טווחי IP שמוגדרים כברירת מחדל

אזור טווח כתובות ה-IP של מישור הבקרה של GKE טווח כתובות IP של שרת אינטרנט טווח ה-IP של Cloud SQL
africa-south1 172.16.64.0/23 172.31.223.0/24 10.0.0.0/12
asia-east1 172.16.42.0/23 172.31.255.0/24 10.0.0.0/12
‫asia-east2 172.16.0.0/23 172.31.255.0/24 10.0.0.0/12
‫asia-northeast1 172.16.2.0/23 172.31.254.0/24 10.0.0.0/12
‫asia-northeast2 172.16.32.0/23 172.31.239.0/24 10.0.0.0/12
‫asia-northeast3 172.16.30.0/23 172.31.240.0/24 10.0.0.0/12
‫asia-south1 172.16.4.0/23 172.31.253.0/24 10.0.0.0/12
‫asia-south2 172.16.50.0/23 172.31.230.0/24 10.0.0.0/12
asia-southeast1 172.16.40.0/23 172.31.235.0/24 10.0.0.0/12
‫asia-southeast2 172.16.44.0/23 172.31.233.0/24 10.0.0.0/12
‫australia-southeast1 172.16.6.0/23 172.31.252.0/24 10.0.0.0/12
‫australia-southeast2 172.16.56.0/23 172.31.227.0/24 10.0.0.0/12
europe-central2 172.16.36.0/23 172.31.237.0/24 10.0.0.0/12
europe-north1 172.16.48.0/23 172.31.231.0/24 10.0.0.0/12
europe-southwest1 172.16.58.0/23 172.31.226.0/24 10.0.0.0/12
europe-west1 172.16.8.0/23 172.31.251.0/24 10.0.0.0/12
europe-west10 172.16.62.0/23 172.31.224.0/24 10.0.0.0/12
europe-west12 172.16.62.0/23 172.31.224.0/24 10.0.0.0/12
‫europe-west2 172.16.10.0/23 172.31.250.0/24 10.0.0.0/12
europe-west3 172.16.12.0/23 172.31.249.0/24 10.0.0.0/12
europe-west4 172.16.42.0/23 172.31.234.0/24 10.0.0.0/12
europe-west6 172.16.14.0/23 172.31.248.0/24 10.0.0.0/12
europe-west8 172.16.60.0/23 172.31.225.0/24 10.0.0.0/12
europe-west9 172.16.46.0/23 172.31.232.0/24 10.0.0.0/12
me-central1 172.16.58.0/23 172.31.226.0/24 10.0.0.0/12
me-central2 172.16.64.0/23 172.31.223.0/24 10.0.0.0/12
me-west1 172.16.54.0/23 172.31.228.0/24 10.0.0.0/12
northamerica-northeast1 172.16.16.0/23 172.31.247.0/24 10.0.0.0/12
northamerica-northeast2 172.16.46.0/23 172.31.232.0/24 10.0.0.0/12
northamerica-south1 172.16.68.0/23 172.31.221.0/24 10.0.0.0/12
southamerica-east1 172.16.18.0/23 172.31.246.0/24 10.0.0.0/12
southamerica-west1 172.16.58.0/23 172.31.226.0/24 10.0.0.0/12
us-central1 172.16.20.0/23 172.31.245.0/24 10.0.0.0/12
us-east1 172.16.22.0/23 172.31.244.0/24 10.0.0.0/12
us-east4 172.16.24.0/23 172.31.243.0/24 10.0.0.0/12
us-east5 172.16.52.0/23 172.31.229.0/24 10.0.0.0/12
us-south1 172.16.56.0/23 172.31.227.0/24 10.0.0.0/12
us-west1 172.16.38.0/23 172.31.236.0/24 10.0.0.0/12
us-west2 172.16.34.0/23 172.31.238.0/24 10.0.0.0/12
us-west3 172.16.26.0/23 172.31.242.0/24 10.0.0.0/12
us-west4 172.16.28.0/23 172.31.241.0/24 10.0.0.0/12

(אופציונלי) הגדרת קישוריות לממשקי API ולשירותים של Google

אפשרות נוספת היא להפנות את כל התנועה אל ממשקי ה-API והשירותים של Google דרך כמה כתובות IP ששייכות לדומיין private.googleapis.com. בהגדרה הזו, הסביבה שלכם ניגשת לשירותים ולממשקי Google API דרך כתובות IP שניתן לנתב רק מתוך Google Cloud.

אם בסביבת כתובות ה-IP הפרטיות שלכם נעשה שימוש גם ב-VPC Service Controls, עליכם לפעול לפי ההוראות לסביבות עם VPC Service Controls.

סביבות Managed Airflow משתמשות בדומיינים הבאים:

  • משתמשים ב-*.googleapis.com כדי לגשת לשירותי Google אחרים.

  • *.pkg.dev משמש לקבלת תמונות של סביבות, למשל כשיוצרים או מעדכנים סביבה.

  • *.gcr.io ב-GKE נדרשת קישוריות לדומיין של Container Registry, ללא קשר לגרסה של Managed Airflow.

מגדירים קישוריות לנקודת הקצה private.googleapis.com:

דומיין שם DNS רשומת CNAME רשומת A
*.googleapis.com googleapis.com. שם DNS: ‏ *.googleapis.com.
סוג רשומת משאבים: ‏ CNAME
שם קנוני: ‏ googleapis.com.
סוג רשומת המשאב: A
כתובות IPv4: ‏ 199.36.153.8, 199.36.153.9, 199.36.153.10, 199.36.153.11
*.pkg.dev pkg.dev. שם DNS: ‏ *.pkg.dev.
סוג רשומת משאבים: ‏ CNAME
שם קנוני: ‏ pkg.dev.
סוג רשומת המשאב: A
כתובות IPv4: ‏ 199.36.153.8, 199.36.153.9, 199.36.153.10, 199.36.153.11
*.gcr.io gcr.io. שם DNS: ‏ *.gcr.io.
סוג רשומת משאבים: ‏ CNAME
שם קנוני: ‏ gcr.io.
סוג רשומת המשאב: A
כתובות IPv4: ‏ 199.36.153.8, 199.36.153.9, 199.36.153.10, 199.36.153.11

כדי ליצור כלל DNS:

  1. יוצרים תחום DNS חדש ומשתמשים בשם DNS כשם ה-DNS של התחום הזה.

    לדוגמה: pkg.dev.

  2. מוסיפים קבוצת רשומות לרשומת CNAME.

    דוגמה:

    • שם DNS: ‏ *.pkg.dev.
    • סוג רשומת המשאבים: CNAME
    • שם קנוני: pkg.dev.
  3. מוסיפים קבוצת רשומות עם רשומת כתובת קבועה:

    דוגמה:

    • סוג רשומת המשאבים: A
    • כתובות IPv4: ‏ 199.36.153.8, ‏ 199.36.153.9, ‏ 199.36.153.10, ‏ 199.36.153.11

מידע נוסף זמין במאמר בנושא הגדרת קישוריות פרטית לממשקי API ולשירותים של Google.

(אופציונלי) הגדרת כללים לחומת האש

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

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

מגדירים את רשת ה-VPC כך שתאפשר תעבורת נתונים מהסביבה שלכם:

  • במאמר שימוש בכללים של חומת אש מוסבר איך לבדוק, להוסיף ולעדכן כללים ברשת ה-VPC.
  • אפשר להשתמש בכלי הקישוריות כדי לאמת את הקישוריות בין טווחי כתובות IP.
  • אפשר להשתמש בתגי רשת כדי להגביל עוד יותר את הגישה. אפשר להגדיר את התגים האלה כשיוצרים סביבה.
תיאור כיוון פעולה מקור או יעד פרוטוקולים יציאות
DNS תעבורת נתונים יוצאת (egress) אישור כל יעד (0.0.0.0/0) או כתובות IP של שרת DNS TCP, ‏ UDP 53
ממשקי API ושירותים של Google תעבורת נתונים יוצאת (egress) אישור טווח כתובות ה-IP של הדומיין שבחרתם עבור ממשקי ה-API והשירותים של Google. אם אתם משתמשים בברירות מחדל, תוכלו לעיין במאמר בנושא כתובות IP לדומיינים שמוגדרים כברירת מחדל. TCP 443
צמתים של אשכול בסביבה תעבורת נתונים יוצאת (egress) אישור טווח כתובות ה-IP הראשי של רשת המשנה של הסביבה TCP, ‏ UDP all
‫Pods באשכול של הסביבה תעבורת נתונים יוצאת (egress) אישור טווח כתובות IP משני עבור Pods בתת-הרשת של הסביבה TCP, ‏ UDP all
מישור הבקרה של אשכול הסביבה תעבורת נתונים יוצאת (egress) אישור טווח כתובות ה-IP של מישור הבקרה של GKE TCP, ‏ UDP all
שרת אינטרנט תעבורת נתונים יוצאת (egress) אישור טווח כתובות IP ברשת של שרת אינטרנט TCP ‫3306, 3307

כדי לקבל את טווחי כתובות ה-IP של אשכול הסביבה:

  • אפשר לראות את טווחי הכתובות של ה-Pod, השירות ומישור הבקרה בדף Clusters (אשכולות) של האשכול בסביבה שלכם:

    1. במסוף Google Cloud , עוברים לדף Environments.

      מעבר אל Environments

    2. ברשימת הסביבות, לוחצים על שם הסביבה. הדף Environment details ייפתח.

    3. עוברים לכרטיסייה Environment configuration (הגדרת הסביבה).

    4. לוחצים על הקישור הצגת פרטי האשכול.

  • אפשר לראות את טווח כתובות ה-IP של שרת האינטרנט של הסביבה בכרטיסייה Environment configuration.

  • אפשר לראות את מזהה הרשת של הסביבה בכרטיסייה Environment configuration. כדי לראות את טווחי כתובות ה-IP של רשת משנה, עוברים לדף VPC Networks ולוחצים על שם הרשת כדי לראות את הפרטים:

    כניסה אל VPC Networks

הגדרת אשכול המותאם ל-VPC

‫Managed Airflow תומך באשכולות GKE מקוריים של VPC בסביבה שלכם.

במהלך יצירת הסביבה, אפשר להפעיל את VPC Native (באמצעות כתובת IP של כינוי) ולהגדיר את הרשת, כמו הקצאת כתובות IP, בלי להפעיל כתובת IP פרטית.

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

הגדרת משתני שרת proxy

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

כברירת מחדל, המשתנה NO_PROXY מוגדר לרשימה של דומיינים של Google, לכתובת ה-IP של שרת המטא-נתונים של Compute Engine באשכול של הסביבה ול-localhost, כדי שהם לא ייכללו בהעברת הנתונים דרך השרת.

.google.com,.googleapis.com,metadata.google.internal,169.254.169.254,localhost

ההגדרה הזו מאפשרת ליצור סביבה עם משתני הסביבה http_proxy ו-https_proxy במקרים שבהם ה-proxy לא מוגדר לטיפול בתעבורה לשירותי Google.

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