Configurare Private Service Connect in Cloud Composer

Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3

In questa pagina viene spiegato come creare un IP privato. che utilizza Private Service Connect anziché i peering VPC.

Per informazioni generali sulla creazione di ambienti IP privati, consulta Configurare un ambiente IP privato.

Informazioni su Private Service Connect in Cloud Composer

I componenti del tuo ambiente sono distribuiti tra il tenant e il progetto del cliente. Negli ambienti IP privato, i componenti di questi due progetti si connettono utilizzando i peering VPC. I peering VPC hanno alcune limitazioni, tra cui il limite al numero massimo di peering in una VPC. Questi limiti possono diventare più evidenti se utilizzi reti su larga scala con ambienti Cloud Composer.

Con il supporto di Private Service Connect in Cloud Composer, i tuoi ambienti IP privati comunicano internamente senza l'utilizzo di peering VPC. Questi ambienti utilizzano l'architettura IP privato con PSC.

Prima di iniziare

  • L'assistenza di Private Service Connect è disponibile solo in Cloud Composer 2.

  • Puoi abilitare Private Service Connect solo quando crei un nuovo ambiente. Non è possibile impostare un ambiente esistente per l'utilizzo di Private Service Connect.

  • Il tuo ambiente deve essere un IP privato completamente gestito di Google Cloud. Poiché i peering VPC non vengono utilizzati, non è necessario specificare gli intervalli CIDR per l'istanza Cloud SQL e sulla rete Cloud Composer.

  • Se l'opzione Disabilita Private Service Connect per i consumatori un vincolo dei criteri dell'organizzazione nega SERVICE_PRODUCER, non è possibile creare ambienti con Private Service Connect. Questo criterio non influisce degli ambienti Cloud Composer esistenti con Private Service Connect. Questi ambienti possono funzionare se questo criterio è attivato.

Abilita Private Service Connect quando crei un ambiente

Console

Per creare un ambiente con Private Service Connect, seleziona il tipo di connettività Private Service Connect quando crei un ambiente IP privato. Quindi, specifica la subnet per la connessione Private Service Connect.

Quando crei un ambiente IP privato:

  1. Nella sezione Configurazione di rete, espandi l'elemento Mostra configurazione di rete.

  2. Nella sezione Tipo di rete, seleziona Ambiente IP privato per creare un ambiente IP privato.

  3. Nella sezione Connettività di Composer, seleziona Private Service Connect.

  4. Nell'elenco a discesa Subnet connessione Composer, seleziona la per gli endpoint Private Service Connect.

    Puoi utilizzare la sottorete del tuo ambiente.

    In alternativa, puoi specificare una subnet diversa. In questo modo offre un maggiore controllo sull'intervallo CIDR da cui l'indirizzo IP è selezionato l'endpoint PSC.Questo intervallo può essere condiviso Ambienti Cloud Composer. Ogni ambiente richiede a un indirizzo IP.

  5. Specifica altri parametri per il tuo ambiente IP privato.

gcloud

Per creare un ambiente con Private Service Connect, utilizza l'argomento --connection-subnetwork quando crei un ambiente IP privato. Quindi specifica la subnet per la connessione Private Service Connect.

gcloud composer environments create ENVIRONMENT_NAME \
    --location LOCATION \
    --image-version composer-2.9.5-airflow-2.9.1 \
    --enable-private-environment \
    --web-server-allow-all \
    --connection-subnetwork ENVIRONMENT_PSC_SUBNETWORK

Sostituisci:

  • ENVIRONMENT_NAME con il nome dell'ambiente.
  • LOCATION con la regione in cui si trova l'ambiente individuarlo.
  • ENVIRONMENT_PSC_SUBNETWORK con l'URI della subnet per Endpoint Private Service Connect.

    Puoi utilizzare la subnet del tuo ambiente.

    In alternativa, puoi specificare una subnet diversa. In questo modo, hai un maggiore controllo sull'intervallo CIDR da cui viene selezionato l'indirizzo IP per l'endpoint PSC. Questo intervallo può essere condiviso da più ambienti Cloud Composer. Ogni ambiente richiede un indirizzo IP.

Esempio:

gcloud composer environments create example-environment \
    --location us-central1 \
    --image-version composer-2.9.5-airflow-2.9.1 \
    --enable-private-environment \
    --web-server-allow-all \
    --connection-subnetwork "projects/example-project/regions/us-central1/subnetworks/default"

API

Costruisci una richiesta API environments.create. Nella risorsa Ambiente, specifica i parametri di configurazione per la connessione Private Service Connect.

// POST https://composer.googleapis.com/v1/{parent=projects/*/locations/*}/environments

{
  "name": "ENVIRONMENT_NAME",

  "config": {
    "softwareConfig": {
      "imageVersion": "composer-2.9.5-airflow-2.9.1"
    },
    "nodeConfig": {
      "network": "ENVIRONMENT_NETWORK",
      "subnetwork": "ENVIRONMENT_SUBNETWORK"
    },
    "privateEnvironmentConfig": {
      "enablePrivateEnvironment": true,
      "privateClusterConfig": {
        "enablePrivateEndpoint": false
      },
      "cloudComposerConnectionSubnetwork": "ENVIRONMENT_PSC_SUBNETWORK"
    }
    "webServerNetworkAccessControl": {
      "allowedIpRanges": [
        {
          "value": "0.0.0.0/0",
          "description": "Allows access from all IPv4 addresses"
        },
        {
          "value": "::0/0",
          "description": "Allows access from all IPv6 addresses"
        }
      ]
    }
  }
}

Sostituisci:

  • ENVIRONMENT_NAME con il nome dell'ambiente.
  • ENVIRONMENT_NETWORK con l'URI della rete del tuo ambiente.
  • ENVIRONMENT_SUBNETWORK con l'URI della subnet del tuo ambiente.
  • ENVIRONMENT_PSC_SUBNETWORK con l'URI della subnet per gli endpoint PSC.

    Puoi utilizzare la subnet del tuo ambiente.

    In alternativa, puoi specificare una subnet diversa. In questo modo offre un maggiore controllo sull'intervallo CIDR da cui l'indirizzo IP è selezionato l'endpoint PSC. Questo intervallo può essere condiviso da più ambienti Cloud Composer. Ogni ambiente richiede .

Esempio:

// POST https://composer.googleapis.com/v1/{parent=projects/*/locations/*}/environments

{
  "name": "example-environment",
  "config": {

    "softwareConfig": {
      "imageVersion": "composer-2.9.5-airflow-2.9.1"
    },
    "nodeConfig": {
      "network": "projects/example-project/global/networks/default",
      "subnetwork": "projects/example-project/regions/us-central1/subnetworks/default"
    },
    "privateEnvironmentConfig": {
      "enablePrivateEnvironment": true,
      "privateClusterConfig": {
        "enablePrivateEndpoint": false
      },
      "cloudComposerConnectionSubnetwork": "projects/example-project/regions/us-central1/subnetworks/default"
    }
    "webServerNetworkAccessControl": {
      "allowedIpRanges": [
        {
          "value": "0.0.0.0/0",
          "description": "Allows access from all IPv4 addresses"
        },
        {
          "value": "::0/0",
          "description": "Allows access from all IPv6 addresses"
        }
      ]
    }
  }
}

Terraform

Quando crei un ambiente, il cloud_composer_connection_subnetwork nel blocco private_environment_config abilita Private Service Connect.

resource "google_composer_environment" "example_environment" {
  provider = google-beta
  name = "ENVIRONMENT_NAME"
  region = "LOCATION"

  config {

    software_config {
      image_version = "composer-2.9.5-airflow-2.9.1"
    }

    node_config {
      network = "ENVIRONMENT_NETWORK"
      subnetwork = "ENVIRONMENT_SUBNETWORK"

    }

    private_environment_config {
      // Other private IP environment parameters
      cloud_composer_connection_subnetwork = "ENVIRONMENT_PSC_SUBNETWORK"
    }

    web_server_network_access_control  {
      allowed_ip_range {
        value = "0.0.0.0/0"
        description = "Allows access from all IPv4 addresses"
      }

      allowed_ip_range {
        value = "::0/0"
        description = "Allows access from all IPv6 addresses"
      }
    }
  }
}

Sostituisci:

  • ENVIRONMENT_NAME con il nome dell'ambiente.
  • ENVIRONMENT_NETWORK con l'URI della rete del tuo ambiente.
  • ENVIRONMENT_SUBNETWORK con l'URI della subnet del tuo ambiente.
  • ENVIRONMENT_PSC_SUBNETWORK con l'URI della subnet per PSC endpoint.

    Puoi utilizzare la modalità la subnet del tuo ambiente.

    In alternativa, puoi specificare una subnet diversa. In questo modo, hai un maggiore controllo sull'intervallo CIDR da cui viene selezionato l'indirizzo IP per l'endpoint PSC. Questo intervallo può essere condiviso da più Ambienti Cloud Composer. Ogni ambiente richiede un indirizzo IP.

Esempio:

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

  config {
    environment_size = "ENVIRONMENT_SIZE_SMALL"

    software_config {
      image_version = "composer-2.9.5-airflow-2.9.1"
    }

    node_config {
      network = "projects/example-project/global/networks/default"
      subnetwork = "projects/example-project/regions/us-central1/subnetworks/default"
    }

    private_environment_config {
      // Other private IP environment parameters
      enable_private_endpoint = "true"
      cloud_composer_connection_subnetwork = "projects/example-project/regions/us-central1/subnetworks/default"
    }

    web_server_network_access_control  {
      allowed_ip_range {
        value = "0.0.0.0/0"
        description = "Allows access from all IPv4 addresses"
      }

      allowed_ip_range {
        value = "::0/0"
        description = "Allows access from all IPv6 addresses"
      }
    }
 }
}

Passaggi successivi