הגדרת הגבלות על מיקום המשאבים

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

איך פועלות הגבלות על מיקום

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

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

כדי לאפשר יצירת סביבות, המדיניות צריכה לאפשר את כל האזור ולא אזור ספציפי בתוך האזור הזה. לדוגמה, כדי ליצור סביבות Managed Airflow באזור europe-west3, המדיניות צריכה לאפשר את האזור הזה.

‫Managed Airflow בודק את ההגבלות על המיקום ב:

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

בנוסף לבדיקת ההגבלות לפי מיקום, Managed Airflow מבצע את הפעולות הבאות:

  • מאחסן תמונות Airflow בהתאמה אישית של משתמשים במאגרי Artifact Registry אזוריים. לדוגמה, תמונות כאלה נוצרות כשמתקינים תמונות PyPI מותאמות אישית בסביבה שלכם.
  • אם המדיניות אוסרת באופן מפורש על שימוש בUS אזורים מרובים, השימוש ב-Cloud Build מושבת. במקרה כזה, תמונות Airflow בהתאמה אישית של המשתמש נוצרות באשכול של הסביבה.

התקנת תלות של Python בסביבת IP פרטי עם הגבלות על מיקום המשאבים

אם הגדרתם הגבלות על מיקום המשאבים בפרויקט, לא תוכלו להשתמש ב-Cloud Build כדי להתקין חבילות Python. כתוצאה מכך, הגישה הישירה למאגרים באינטרנט הציבורי מושבתת.

כדי להתקין תלות ב-Python בסביבת כתובת IP פרטית כשהגבלות המיקום לא מאפשרות את US אזורים מרובים, אפשר להשתמש באחת מהאפשרויות הבאות:

הגבלת המיקומים של יומני Managed Airflow

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

gcloud

  1. יוצרים קטגוריה חדשה של Cloud Storage.

    gcloud storage buckets create gs://BUCKET_NAME --location=LOCATION
    

    מחליפים את:

    • ‫LOCATION עם האזור שבו הסביבה ממוקמת.
    • ‫BUCKET_NAME בשם הקטגוריה. לדוגמה, composer-logs-us-central1-example-environment.
  2. יוצרים יעד חדש ליומן.

    gcloud logging sinks create \
    composer-log-sink-ENVIRONMENT_NAME \
    storage.googleapis.com/BUCKET_NAME \
    --log-filter "resource.type=cloud_composer_environment AND \
    resource.labels.environment_name=ENVIRONMENT_NAME AND \
    resource.labels.location=LOCATION"
    

    מחליפים את:

    • ‫ENVIRONMENT_NAME בשם הסביבה.
    • ‫BUCKET_NAME בשם הקטגוריה.
    • ‫LOCATION עם האזור שבו הסביבה ממוקמת.
  3. הפלט של הפקודה הקודמת מכיל את מספר חשבון השירות. מקצים לחשבון השירות הזה את התפקיד Storage Object Creator:

    gcloud projects add-iam-policy-binding PROJECT_ID \
    --member="serviceAccount:SA_NUMBER@gcp-sa-logging.s3ns-system.iam.gserviceaccount.com" \
    --role='roles/storage.objectCreator' \
    --condition=None
    

    מחליפים את:

    • ‫PROJECT_ID במזהה הפרויקט (Project ID).
    • ‫SA_NUMBER עם מספר חשבון השירות שסופק על ידי הפקודה gcloud logging sinks create בשלב הקודם.
  4. להחריג את היומנים של הסביבה מ-Logging.

    gcloud logging sinks update _Default \
    --add-exclusion name=ENVIRONMENT_NAME-exclusion,filter=\
    "resource.type=cloud_composer_environment AND \
    resource.labels.environment_name=ENVIRONMENT_NAME AND \
    resource.labels.location=LOCATION"
    

    מחליפים את:

    • ‫ENVIRONMENT_NAME בשם הסביבה.
    • ‫LOCATION עם האזור שבו הסביבה ממוקמת.

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