Modificare il tipo di networking dell'ambiente (IP privato o pubblico)

Airflow gestito (Gen 3) | Airflow gestito (Gen 2) | Airflow gestito (Gen 1 precedente)

Questa pagina spiega la differenza tra i tipi di networking degli ambienti IP privato e IP pubblico in Managed Airflow (Gen 3) e fornisce istruzioni per cambiare il tipo di networking del tuo ambiente.

Se vuoi disattivare o attivare l'accesso a internet solo durante l'installazione dei pacchetti PyPI, vedi Configurare l'accesso a internet durante l'installazione dei pacchetti PyPI.

Se vuoi abilitare l'accesso alla tua rete VPC dal tuo ambiente, consulta Connettere un ambiente a una rete VPC.

Informazioni sui tipi di networking degli ambienti

Managed Airflow (Gen 3) utilizza due tipi di rete dell'ambiente:

  • Networking IP pubblico:

    • I componenti Airflow dell'ambiente possono accedere a internet. Questo è il tipo di rete predefinito.

    • Negli ambienti IP pubblico, tutto il traffico in uscita verso intervalli IP pubblici viene instradato tramite il gateway internet predefinito. Questa limitazione include gli IP pubblici utilizzati privatamente (PUPI) utilizzati in GKE, poiché si sovrappongono agli intervalli IP pubblici. Di conseguenza, il traffico destinato al tuo indirizzo PUPI non raggiunge il tuo indirizzo GKE privato, ma viene indirizzato alla rete internet pubblica. Per abilitare le connessioni agli intervalli PUPI, ti consigliamo di passare al networking IP privato e connetterlo a una rete VPC.

    • I componenti di Airflow negli ambienti con IP pubblico stabiliscono connessioni in uscita da porte e indirizzi IP pubblici allocati automaticamente. Se vuoi che i tuoi ambienti con IP pubblico utilizzino indirizzi IP e porte predeterminati, puoi farlo collegando una rete VPC al tuo ambiente e passando all'IP privato. In questo caso, Managed Airflow instrada tutto il traffico, tranne quello verso i servizi Google, attraverso questa rete.

  • Networking IP privato:

    • Il networking IP privato è un'opzione più sicura rispetto al networking IP pubblico.

    • I componenti Airflow dell'ambiente non hanno accesso a internet. Per gli ambienti collegati a una rete VPC, la configurazione di rete controlla l'accesso a internet.

    • Gli ambienti IP privati configurano l'accesso privato Google tramite l'intervallo private.googleapis.com, che consente l'accesso alle API, ai servizi e ai domini Google supportati da questo intervallo.

      Per ulteriori informazioni e l'elenco dei servizi e dei domini disponibili tramite private.googleapis.com, consulta Configurazione di rete nella documentazione di Virtual Private Cloud.

    • Gli ambienti IP privati con i Controlli di servizio VPC configurano l'accesso privato Google tramite l'intervallo restricted.googleapis.com, che consente l'accesso alle API di Google, ai servizi e ai domini supportati da questo intervallo.

      Per ulteriori informazioni e l'elenco dei servizi e dei domini disponibili tramite restricted.googleapis.com, consulta Configurazione di rete nella documentazione di Virtual Private Cloud.

    • Se un ambiente con IP privato è collegato a una rete VPC personalizzata, tutto il traffico viene indirizzato alla rete VPC, ad eccezione del traffico verso API, servizi e domini Google disponibili per gli ambienti con IP privato tramite l'accesso privato Google. Questo approccio consente ai componenti Airflow di connettersi a IP pubblici utilizzati privatamente (PUPI) in GKE, in quanto il traffico verrà instradato tramite la rete VPC anziché essere inviato a internet pubblico.

Networking di Managed Airflow (Gen 2) rispetto a Managed Airflow (Gen 3)

In Managed Airflow (Gen 3), gli ambienti con IP privato non richiedono alcuna configurazione.

Le seguenti funzionalità di networking di Managed Airflow (2ª gen.) non sono più pertinenti in Managed Airflow (3ª gen.):

La seguente configurazione DNS non è supportata in Managed Airflow (Gen 3):

  • Managed Airflow (Gen 3) non supporta una .internalzona DNS definita dall'utente. Se crei una zona DNS per .internal, non sarà possibile raggiungerla.

Modificare il tipo di networking dell'ambiente

Console

  1. Nella console Google Cloud , vai alla pagina Ambienti.

    Vai ad Ambienti

  2. Nell'elenco degli ambienti, fai clic sul nome del tuo ambiente. Viene visualizzata la pagina Dettagli ambiente.

  3. Vai alla scheda Configurazione ambiente.

  4. Nella sezione Configurazione di rete, trova l'elemento Tipo di rete e fai clic su Modifica.

  5. Nella finestra di dialogo Tipo di networking, seleziona:

    • Ambiente IP pubblico (predefinito) per il networking IP pubblico.
    • Ambiente IP privato per il networking IP privato.
  6. Fai clic su Salva.

gcloud

I seguenti argomenti di Google Cloud CLI modificano il tipo di networking dell'ambiente:

  • --enable-private-environment: modifiche al networking IP privato.
  • --disable-private-environment: modifiche al networking IP pubblico (impostazione predefinita).

Passa al networking IP privato:

gcloud beta composer environments update ENVIRONMENT_NAME \
  --location LOCATION \
  --enable-private-environment

Passa al networking IP pubblico:

gcloud beta composer environments update ENVIRONMENT_NAME \
  --location LOCATION \
  --disable-private-environment

Sostituisci quanto segue:

  • ENVIRONMENT_NAME: il nome dell'ambiente.
  • LOCATION: la regione in cui si trova l'ambiente.

Esempio (IP privato):

gcloud beta composer environments update example-environment \
  --location us-central1 \
  --enable-private-environment

Esempio (IP pubblico):

gcloud beta composer environments update example-environment \
  --location us-central1 \
  --disable-private-environment

API

  1. Crea una richiesta API environments.patch.

  2. In questa richiesta:

    1. Nel parametro updateMask, specifica la maschera config.private_environment_config.enable_private_environment.

    2. Nel corpo della richiesta, nel campo enablePrivateEnvironment:

      • Specifica true per passare alla rete IP privata.
      • Specifica false per passare al networking con IP pubblico (impostazione predefinita).

Esempio (IP privato):

// PATCH https://composer.googleapis.com/v1beta1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.private_environment_config.enable_private_environment

"config": {
  "privateEnvironmentConfig": {
    "enablePrivateEnvironment": true
  }
}

Terraform

Il campo enable_private_environment nel blocco config specifica il tipo di rete dell'ambiente:

  • true: networking IP privato.
  • false o omesso: networking IP pubblico (impostazione predefinita).
resource "google_composer_environment" "example" {
  provider = google-beta
  name = "ENVIRONMENT_NAME"
  region = "LOCATION"

  config {

    enable_private_environment = PRIVATE_IP_STATUS

  }
}

Sostituisci quanto segue:

  • ENVIRONMENT_NAME: il nome del tuo ambiente.
  • LOCATION: la regione in cui si trova l'ambiente.
  • PRIVATE_IP_STATUS: true per IP privato, false per IP pubblico

Esempio (IP privato):

resource "google_composer_environment" "example" {
  provider = google-beta
  name = "example-environment"
  region = "us-central1"

  config {

    enable_private_environment = true

    ... other configuration parameters
  }
}

Configurare le variabili del server proxy

Puoi impostare le variabili di ambiente http_proxy e https_proxy nel tuo ambiente. Queste variabili Linux standard vengono utilizzate dai client web che vengono eseguiti nei container del cluster del tuo ambiente per instradare il traffico attraverso i proxy specificati.

La variabile NO_PROXY è impostata per impostazione predefinita su un elenco di domini Google, sull'indirizzo IP del server di metadati di Compute Engine del cluster dell'ambiente e su localhost, in modo che vengano esclusi dal proxy:

.google.com,.googleapis.com,metadata.google.internal,169.254.169.254,localhost

Questa configurazione consente di creare un ambiente con variabili di ambiente http_proxy e https_proxy impostate nei casi in cui il proxy non è configurato per gestire il traffico verso i servizi Google.

Passaggi successivi