Managed Airflow (Gen 3) | Managed Airflow (Gen 2) | Managed Airflow (Legacy Gen 1)
Questa pagina mostra come configurare le limitazioni relative alla località delle risorse in modo che i dati archiviati da Managed Airflow rimangano nelle località specificate.
Come funzionano le limitazioni relative alla località
Le limitazioni relative alla località per Managed Airflow sono determinate in base al criterio dell'organizzazione applicato al progetto in cui viene creato l'ambiente Managed Airflow. Questo criterio viene assegnato all'interno del progetto o ereditato dall'organizzazione.
Con le limitazioni relative alla località attivate, non è possibile creare un ambiente in una regione vietata dal criterio. Se una regione è elencata nell'elenco Nega o non è elencata nell'elenco Consenti, non puoi creare ambienti in questa regione.
Per consentire la creazione di ambienti, il criterio deve consentire l'intera regione e non una zona specifica all'interno di questa regione. Ad esempio, la regione europe-west3 deve essere consentita dal criterio per creare ambienti Managed Airflow in questa regione.
Managed Airflow verifica le limitazioni relative alla località in:
- Creazione dell'ambiente.
- Upgrade dell'ambiente, se durante l'operazione vengono create risorse aggiuntive.
- Aggiornamento dell'ambiente, per gli ambienti precedenti che non applicano limitazioni relative alla località alle dipendenze di Managed Airflow.
Oltre a verificare le limitazioni relative alla località, Managed Airflow esegue le seguenti operazioni:
- Archivia le immagini Airflow personalizzate dall'utente nei repository Artifact Registry regionali. Ad esempio, queste immagini vengono create quando installi immagini PyPI personalizzate nel tuo ambiente.
- Se la
USmulti-regione è esplicitamente vietata dal criterio, l'utilizzo di Cloud Build è disattivato. In questo caso, le immagini Airflow personalizzate dall'utente vengono create nel cluster dell'ambiente.
Installare una dipendenza Python in un ambiente IP privato con limitazioni relative alla località delle risorse
Se imposti limitazioni relative alla località delle risorse per il tuo progetto, non puoi utilizzare Cloud Build per installare i pacchetti Python. Di conseguenza, l'accesso diretto ai repository sulla rete internet pubblica è disattivato.
Per installare le dipendenze Python in un ambiente IP privato quando le
limitazioni relative alla località non consentono la US multi-regione, utilizza
una delle seguenti opzioni:
Utilizza un repository PyPI privato ospitato nella tua rete VPC.
Utilizza un server proxy nella tua rete VPC per connetterti a un repository PyPI sulla rete internet pubblica. Specifica l'indirizzo proxy nel file
/config/pip/pip.confnel bucket Cloud Storage.Se il tuo criterio di sicurezza consente l'accesso alla tua rete VPC da indirizzi IP esterni, puoi configurare Cloud NAT.
Archivia le dipendenze Python nella cartella
dagsnel bucket Cloud Storage per installarle come librerie locali. Questa potrebbe non essere una buona opzione se l'albero delle dipendenze è di grandi dimensioni.
Limitare le località per i log di Managed Airflow
Se i log di Managed Airflow contengono dati sensibili, potresti voler reindirizzare i log di Managed Airflow a un bucket Cloud Storage regionale. Per farlo, utilizza un sink di log. Dopo aver reindirizzato i log a un bucket Cloud Storage, i log non vengono inviati a Cloud Logging.
gcloud
Crea un nuovo bucket Cloud Storage.
gcloud storage buckets create gs://BUCKET_NAME --location=LOCATIONSostituisci:
LOCATIONcon la regione in cui si trova l'ambiente.BUCKET_NAMEcon il nome del bucket. Ad esempio,composer-logs-us-central1-example-environment.
Crea un nuovo sink di log.
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"Sostituisci:
ENVIRONMENT_NAMEcon il nome dell'ambiente.BUCKET_NAMEcon il nome del bucket.LOCATIONcon la regione in cui si trova l'ambiente.
L'output del comando precedente contiene il numero del service account. Concedi il ruolo Creatore oggetti Storage a questo account di servizio:
gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:SA_NUMBER@gcp-sa-logging.iam.gserviceaccount.com" \ --role='roles/storage.objectCreator' \ --condition=NoneSostituisci:
PROJECT_IDcon l' ID progetto.SA_NUMBERcon il numero del account di servizio fornito dal comandogcloud logging sinks createnel passaggio precedente.
Escludi i log del tuo ambiente da 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"Sostituisci:
ENVIRONMENT_NAMEcon il nome dell'ambiente.LOCATIONcon la regione in cui si trova l'ambiente.