Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1
Questa pagina mostra come configurare le limitazioni della località delle risorse in modo che i dati archiviati da Cloud Composer vengano conservati nelle località specificate.
Come funzionano le limitazioni relative alla località
Le limitazioni della località per Cloud Composer sono determinate in base al criterio dell'organizzazione applicato al progetto in cui viene creato l'ambiente Cloud Composer. Questo criterio è assegnato all'interno del progetto o è ereditato dall'organizzazione.
Con le limitazioni della località abilitate, non è possibile creare un ambiente in una regione vietata dalle norme. 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 Cloud Composer in questa regione.
Cloud Composer controlla le limitazioni della località in:
- Creazione dell'ambiente.
- Upgrade dell'ambiente, se vengono create risorse aggiuntive durante l'operazione.
- Aggiornamento dell'ambiente, per gli ambienti precedenti che non applicano restrizioni di località alle dipendenze di Cloud Composer.
Oltre a verificare le limitazioni relative alla località, Cloud Composer 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
US
multiregionale è 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.
Installa una dipendenza Python in un ambiente IP privato con limitazioni di località delle risorse
Se imposti limitazioni alla località delle risorse per il tuo progetto, non puoi utilizzare Cloud Build per installare pacchetti Python. Di conseguenza, l'accesso diretto ai repository sulla rete internet pubblica è disabilitato.
Per installare le dipendenze Python in un ambiente con IP privato quando le limitazioni
di località non consentono la US
multiregionale, 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 su internet pubblico. Specifica l'indirizzo proxy nel file
/config/pip/pip.conf
nel bucket Cloud Storage.Se la tua norma di sicurezza consente l'accesso alla rete VPC da indirizzi IP esterni, puoi configurare Cloud NAT.
Archivia le dipendenze Python nella cartella
dags
nel bucket Cloud Storage per installarle come librerie locali. Questa potrebbe non essere una buona opzione se l'albero delle dipendenze è grande.
Limitare le località per i log di Cloud Composer
Se i log di Cloud Composer contengono dati sensibili, ti consigliamo di reindirizzarli 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=LOCATION
Sostituisci:
LOCATION
con la regione in cui si trova l'ambiente.BUCKET_NAME
con 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_NAME
con il nome dell'ambiente.BUCKET_NAME
con il nome del bucket.LOCATION
con la regione in cui si trova l'ambiente.
L'output del comando precedente contiene il numero del service account. Concedi il ruolo Storage Object Creator 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=None
Sostituisci:
PROJECT_ID
con l'ID progetto.SA_NUMBER
con il numero del account di servizio fornito dal comandogcloud logging sinks create
nel passaggio precedente.
Escludi i log per il 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_NAME
con il nome dell'ambiente.LOCATION
con la regione in cui si trova l'ambiente.