Configurazione delle restrizioni sulla località delle risorse

Cloud Composer 1 | Cloud Composer 2

Questa pagina mostra come configurare le limitazioni sulla località delle risorse per garantire che i dati archiviati da Cloud Composer vengano conservati nelle località specificate.

Come funzionano le limitazioni relative alla località

Le limitazioni di 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 viene assegnato all'interno del progetto o viene ereditato dall'organizzazione.

Se le limitazioni di località sono abilitate, non è possibile creare un ambiente in una regione vietata dal criterio. Se una regione è elencata nell'elenco di indirizzi bloccati o non è presente nell'elenco di elementi consentiti, non puoi creare ambienti in questa regione.

Per abilitare la creazione di ambienti, il criterio deve consentire l'intera regione e non una zona specifica all'interno di questa regione. Ad esempio, l'area geografica europe-west3 deve essere consentita dal criterio per creare ambienti Cloud Composer in questa regione.

Cloud Composer controlla le limitazioni relative alla località:

  • Creazione dell'ambiente.
  • Upgrade dell'ambiente, se vengono create risorse aggiuntive durante l'operazione.
  • Aggiornamento dell'ambiente per ambienti meno recenti che non applicano limitazioni di località alle dipendenze di Cloud Composer.

Oltre a controllare le limitazioni relative alle località, Cloud Composer effettua le seguenti operazioni:

  • Archivia le immagini Airflow personalizzate dall'utente nei repository Artifact Registry a livello di regione.
  • Se il criterio US (più regioni) è espressamente vietato dal criterio, l'utilizzo di Cloud Build viene disabilitato. In questo caso, nel cluster GKE vengono create immagini Airflow personalizzate dall'utente.

Installa una dipendenza Python in un ambiente IP privato con limitazioni sulla località delle risorse

Se imposti limitazioni sulla 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 è disabilitato.

Per installare le dipendenze Python in un ambiente con IP privato quando le limitazioni di località non consentono US, utilizza una delle seguenti opzioni:

  • Utilizza un repository PyPI privato ospitato nella tua rete VPC.

  • Utilizza un server proxy nella rete VPC per connetterti a un repository PyPI sulla rete internet pubblica. Specifica l'indirizzo proxy nel file /config/pip/pip.conf nel bucket Cloud Storage.

  • Se il criterio di sicurezza consente l'accesso alla rete VPC da indirizzi IP esterni, puoi configurare Cloud NAT.

  • Archivia le dipendenze Python nella cartella dags del bucket Cloud Storage, per installarle come librerie locali. Questa opzione potrebbe non essere una buona scelta se la struttura ad albero delle dipendenze è di grandi dimensioni.

Limita le località per i log di Cloud Composer

Se i tuoi log di Cloud Composer contengono dati sensibili, potrebbe essere opportuno reindirizzare i log di Cloud Composer a un bucket Cloud Storage regionale. A questo scopo, utilizza un sink di log. Dopo aver reindirizzato i log a un bucket Cloud Storage, i log non vengono inviati a Cloud Logging.

gcloud

  1. Creare un nuovo bucket Cloud Storage.

    gsutil mb -l LOCATION gs://BUCKET_NAME
    

    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.
  2. 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.
  3. L'output del comando precedente contiene il numero dell'account di servizio. 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=None
    

    Sostituisci:

    • PROJECT_ID con l'ID progetto.
    • SA_NUMBER con il numero dell'account di servizio fornito dal comando gcloud logging sinks create nel passaggio precedente.
  4. Escludi i log per il tuo ambiente da Monitoring.

    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.

Passaggi successivi