Configurazione delle restrizioni sulla località delle risorse

Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3

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

Come funzionano le limitazioni di località

Le limitazioni di località per Cloud Composer vengono determinate in base ai criteri dell'organizzazione applicati al progetto in cui viene creato l'ambiente Cloud Composer. Questo criterio viene assegnato all'interno del progetto o viene ereditato dall'organizzazione.

Con le limitazioni di località attivate, non è possibile creare di un ambiente in una regione vietato dai criteri. Se una regione è elencata nell'elenco di rifiuto o non è elencata nell'elenco di autorizzazione, non puoi creare ambienti in questa regione.

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

Cloud Composer controlla le limitazioni di località all'indirizzo:

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

Oltre a verificare le limitazioni relative alla località, Cloud Composer svolge le seguenti operazioni:

  • Archivia immagini Airflow personalizzate dall'utente in Artifact Registry regionale repository.
  • Se la US (più regioni) è espressamente vietata dal l'utilizzo di Cloud Build è disabilitato. In questo caso, le creatività personalizzate Le immagini Airflow vengono create nel tuo cluster GKE.

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

Se imposti limitazioni alla posizione delle risorse per il tuo progetto, Cloud Build non può essere utilizzato 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 IP privato quando le limitazioni di località non consentono la regione multipla US, 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 sull'internet pubblico. 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.

  • Memorizza 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 è di grandi dimensioni.

Limita 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 tuoi log non vengono inviati a Cloud Logging.

gcloud

  1. Creare 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.
  2. Crea un nuovo sink dei 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 archiviazione 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 ID progetto.
    • SA_NUMBER con il numero dell'account di servizio fornito dal comando gcloud logging sinks create nel passaggio precedente.
  4. Escludere 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