Managed Airflow (דור 3) | Managed Airflow (דור 2) | Managed Airflow (דור 1 מדור קודם)
בדף הזה מוסבר איך ליצור סביבת כתובות IP פרטיות שמשתמשת ב-Private Service Connect במקום בחיבורי VPC.
מידע כללי על יצירת סביבות עם כתובת IP פרטית זמין במאמר הגדרת סביבה עם כתובת IP פרטית.
מידע על Private Service Connect ב-Managed Airflow
הרכיבים של הסביבה שלכם מחולקים בין הדייר לבין פרויקט הלקוח. בסביבות עם כתובות IP פרטיות, הרכיבים שנמצאים בשני הפרויקטים האלה מתחברים באמצעות קישור בין רשתות VPC שכנות. יש כמה מגבלות על חיבורי VPC, כולל המגבלה על מספר החיבורים המקסימלי ב-VPC. ההגבלות האלה בולטות יותר אם משתמשים ברשתות גדולות עם סביבות Managed Airflow.
עם תמיכה ב-Private Service Connect ב-Managed Airflow, סביבות עם כתובות IP פרטיות מתקשרות באופן פנימי בלי להשתמש בקישור בין רשתות VPC. בסביבות כאלה נעשה שימוש בכתובת IP פרטית עם ארכיטקטורת PSC.
לפני שמתחילים
התמיכה ב-Private Service Connect זמינה רק ב-Managed Airflow (דור 2).
אפשר להפעיל את Private Service Connect רק כשיוצרים סביבה חדשה. אי אפשר להעביר סביבה קיימת לשימוש ב-Private Service Connect.
הסביבה שלכם צריכה להיות סביבת IP פרטי. מכיוון שלא נעשה שימוש בחיבורי VPC, אין צורך לציין את טווחי ה-CIDR של מופע Cloud SQL ושל הרשת הפנימית המנוהלת של Airflow.
אם האילוץ של מדיניות הארגון בנושא השבתת Private Service Connect לצרכנים דוחה נקודות קצה של SERVICE_PRODUCER, אי אפשר ליצור סביבות עם Private Service Connect. המדיניות הזו לא משפיעה על סביבות קיימות של Managed Airflow עם Private Service Connect. סביבות כאלה יכולות לפעול כשהמדיניות הזו מופעלת.
הפעלת Private Service Connect כשיוצרים סביבה
המסוף
כדי ליצור סביבה עם Private Service Connect, צריך לבחור את סוג הקישוריות Private Service Connect כשיוצרים סביבת IP פרטית. לאחר מכן מציינים את רשת המשנה לחיבור Private Service Connect.
כשיוצרים סביבת כתובות IP פרטיות:
בקטע Network configuration, מרחיבים את הפריט Show network configuration.
בקטע Networking type, בוחרים באפשרות Private IP environment כדי ליצור סביבת IP פרטית.
בקטע Composer connectivity (קישוריות ל-Composer), בוחרים באפשרות Private Service Connect (חיבור לשירות פרטי).
ברשימה הנפתחת Composer connection subnetwork, בוחרים את רשת המשנה של נקודות הקצה של Private Service Connect.
אתם יכולים להשתמש ברשת המשנה של הסביבה.
אפשר גם לציין רשת משנה אחרת. כך תוכלו לשלוט יותר בטווח ה-CIDR שממנו נבחרת כתובת ה-IP של נקודת הקצה של ה-PSC.אפשר לשתף את הטווח הזה בין כמה סביבות Managed Airflow. כל סביבה דורשת כתובת IP אחת.
מציינים פרמטרים אחרים לסביבת ה-IP הפרטי.
gcloud
כדי ליצור סביבה עם Private Service Connect, משתמשים בארגומנט --connection-subnetwork כשיוצרים סביבה עם כתובת IP פרטית. לאחר מכן מציינים את רשת המשנה לחיבור Private Service Connect.
gcloud composer environments create ENVIRONMENT_NAME \
--location LOCATION \
--image-version composer-2.17.16-airflow-2.11.1 \
--enable-private-environment \
--web-server-allow-all \
--connection-subnetwork ENVIRONMENT_PSC_SUBNETWORK
מחליפים את:
-
ENVIRONMENT_NAMEבשם הסביבה. -
LOCATIONבאזור שבו הסביבה נמצאת.
ENVIRONMENT_PSC_SUBNETWORKעם ה-URI של רשת המשנה עבור נקודות קצה של Private Service Connect.אפשר להשתמש ברשת המשנה של הסביבה.
אפשר גם לציין רשת משנה אחרת. כך תוכלו לשלוט יותר בטווח ה-CIDR שממנו נבחרת כתובת ה-IP של נקודת הקצה של PSC. טווח כתובות ה-IP הזה יכול להיות משותף לכמה סביבות Managed Airflow. כל סביבה דורשת כתובת IP אחת.
דוגמה:
gcloud composer environments create example-environment \
--location us-central1 \
--image-version composer-2.17.16-airflow-2.11.1 \
--enable-private-environment \
--web-server-allow-all \
--connection-subnetwork "projects/example-project/regions/us-central1/subnetworks/default"
API
יוצרים בקשת API של environments.create. במשאב Environment, מציינים את פרמטרי ההגדרה של חיבור Private Service Connect.
// POST https://composer.googleapis.com/v1/{parent=projects/*/locations/*}/environments
{
"name": "ENVIRONMENT_NAME",
"config": {
"softwareConfig": {
"imageVersion": "composer-2.17.16-airflow-2.11.1"
},
"nodeConfig": {
"network": "ENVIRONMENT_NETWORK",
"subnetwork": "ENVIRONMENT_SUBNETWORK"
},
"privateEnvironmentConfig": {
"enablePrivateEnvironment": true,
"privateClusterConfig": {
"enablePrivateEndpoint": false
},
"cloudComposerConnectionSubnetwork": "ENVIRONMENT_PSC_SUBNETWORK"
}
"webServerNetworkAccessControl": {
"allowedIpRanges": [
{
"value": "0.0.0.0/0",
"description": "Allows access from all IPv4 addresses"
},
{
"value": "::0/0",
"description": "Allows access from all IPv6 addresses"
}
]
}
}
}
מחליפים את:
-
ENVIRONMENT_NAMEבשם הסביבה. -
ENVIRONMENT_NETWORKעם ה-URI של הרשת בסביבה שלכם. -
ENVIRONMENT_SUBNETWORKמחליפים ב-URI של רשת המשנה בסביבה שלכם.
ENVIRONMENT_PSC_SUBNETWORKעם ה-URI של רשת המשנה לנקודות קצה של PSC.אפשר להשתמש ברשת המשנה של הסביבה.
אפשר גם לציין רשת משנה אחרת. כך תוכלו לשלוט יותר בטווח ה-CIDR שממנו נבחרת כתובת ה-IP של נקודת הקצה של PSC. טווח כתובות ה-IP הזה יכול להיות משותף לכמה סביבות Managed Airflow. לכל סביבה נדרשת כתובת IP אחת.
דוגמה:
// POST https://composer.googleapis.com/v1/{parent=projects/*/locations/*}/environments
{
"name": "example-environment",
"config": {
"softwareConfig": {
"imageVersion": "composer-2.17.16-airflow-2.11.1"
},
"nodeConfig": {
"network": "projects/example-project/global/networks/default",
"subnetwork": "projects/example-project/regions/us-central1/subnetworks/default"
},
"privateEnvironmentConfig": {
"enablePrivateEnvironment": true,
"privateClusterConfig": {
"enablePrivateEndpoint": false
},
"cloudComposerConnectionSubnetwork": "projects/example-project/regions/us-central1/subnetworks/default"
}
"webServerNetworkAccessControl": {
"allowedIpRanges": [
{
"value": "0.0.0.0/0",
"description": "Allows access from all IPv4 addresses"
},
{
"value": "::0/0",
"description": "Allows access from all IPv6 addresses"
}
]
}
}
}
Terraform
כשיוצרים סביבה, השדה cloud_composer_connection_subnetwork
בבלוק private_environment_config מאפשר Private Service Connect.
resource "google_composer_environment" "example_environment" {
provider = google-beta
name = "ENVIRONMENT_NAME"
region = "LOCATION"
config {
software_config {
image_version = "composer-2.17.16-airflow-2.11.1"
}
node_config {
network = "ENVIRONMENT_NETWORK"
subnetwork = "ENVIRONMENT_SUBNETWORK"
}
private_environment_config {
// Other private IP environment parameters
cloud_composer_connection_subnetwork = "ENVIRONMENT_PSC_SUBNETWORK"
}
web_server_network_access_control {
allowed_ip_range {
value = "0.0.0.0/0"
description = "Allows access from all IPv4 addresses"
}
allowed_ip_range {
value = "::0/0"
description = "Allows access from all IPv6 addresses"
}
}
}
}
מחליפים את:
-
ENVIRONMENT_NAMEבשם הסביבה. -
ENVIRONMENT_NETWORKעם ה-URI של הרשת בסביבה שלכם. -
ENVIRONMENT_SUBNETWORKמחליפים ב-URI של רשת המשנה בסביבה שלכם.
ENVIRONMENT_PSC_SUBNETWORKעם ה-URI של רשת המשנה לנקודות קצה של PSC.אפשר להשתמש ברשת המשנה של הסביבה.
אפשר גם לציין רשת משנה אחרת. כך תוכלו לשלוט יותר בטווח ה-CIDR שממנו נבחרת כתובת ה-IP של נקודת הקצה של PSC. טווח כתובות ה-IP הזה יכול להיות משותף לכמה סביבות Managed Airflow. לכל סביבה נדרשת כתובת IP אחת.
דוגמה:
resource "google_composer_environment" "example" {
provider = google-beta
name = "example-environment"
region = "us-central1"
config {
environment_size = "ENVIRONMENT_SIZE_SMALL"
software_config {
image_version = "composer-2.17.16-airflow-2.11.1"
}
node_config {
network = "projects/example-project/global/networks/default"
subnetwork = "projects/example-project/regions/us-central1/subnetworks/default"
}
private_environment_config {
// Other private IP environment parameters
enable_private_endpoint = "true"
cloud_composer_connection_subnetwork = "projects/example-project/regions/us-central1/subnetworks/default"
}
web_server_network_access_control {
allowed_ip_range {
value = "0.0.0.0/0"
description = "Allows access from all IPv4 addresses"
}
allowed_ip_range {
value = "::0/0"
description = "Allows access from all IPv6 addresses"
}
}
}
}