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 של מישור הבקרה של GKE טווח כתובות ה-IP של מישור הבקרה של GKE.
בטבלת ברירות המחדל של טווחי כתובות ה-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:
יוצרים תחום DNS חדש ומשתמשים בשם DNS כשם ה-DNS של התחום הזה.
לדוגמה:
pkg.dev.מוסיפים קבוצת רשומות לרשומת CNAME.
דוגמה:
- שם DNS:
*.pkg.dev. - סוג רשומת המשאבים:
CNAME - שם קנוני:
pkg.dev.
- שם DNS:
מוסיפים קבוצת רשומות עם רשומת כתובת קבועה:
דוגמה:
- סוג רשומת המשאבים:
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 (אשכולות) של האשכול בסביבה שלכם:
במסוף Google Cloud , עוברים לדף Environments.
ברשימת הסביבות, לוחצים על שם הסביבה. הדף Environment details ייפתח.
עוברים לכרטיסייה Environment configuration (הגדרת הסביבה).
לוחצים על הקישור הצגת פרטי האשכול.
אפשר לראות את טווח כתובות ה-IP של שרת האינטרנט של הסביבה בכרטיסייה Environment configuration.
אפשר לראות את מזהה הרשת של הסביבה בכרטיסייה Environment configuration. כדי לראות את טווחי כתובות ה-IP של רשת משנה, עוברים לדף 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.
המאמרים הבאים
- חיבור סביבה לרשת VPC
- [הגדרת גישה לאינטרנט בזמן התקנת חבילות PyPI][cc-packages-internet-access]