Configure o Private Service Connect no Cloud Composer

Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1

Esta página explica como criar um ambiente de IP privado que usa o Private Service Connect em vez das interligações de VPC.

Para ver informações gerais sobre a criação de ambientes de IP privado, consulte o artigo Configure um ambiente de IP privado.

Acerca do Private Service Connect no Cloud Composer

Os componentes do seu ambiente são distribuídos entre o inquilino e o projeto do cliente. Em ambientes de IP privado, os componentes localizados nestes dois projetos estabelecem ligação através de intercâmbios de VPC. As interligações de VPC têm algumas limitações, incluindo o limite do número máximo de interligações numa VPC. Estes limites podem tornar-se mais evidentes se usar redes de grande escala com ambientes do Cloud Composer.

Com o suporte do Private Service Connect no Cloud Composer, os seus ambientes de IP privado comunicam internamente sem usar as interligações de VPC. Estes ambientes usam a arquitetura de IP privado com PSC.

Antes de começar

  • O suporte do Private Service Connect está disponível apenas no Cloud Composer 2.

  • Só pode ativar o Private Service Connect quando cria um novo ambiente. Não é possível mudar um ambiente existente para usar o Private Service Connect.

  • O seu ambiente tem de ser um ambiente de IP privado. Como não são usadas interligações de VPCs, não tem de especificar os intervalos de CIDR para a instância do Cloud SQL e a rede interna do Cloud Composer.

  • Se a restrição da política da organização Disable Private Service Connect for Consumers negar os pontos finais SERVICE_PRODUCER, não é possível criar ambientes com o Private Service Connect. Esta política não afeta os ambientes do Cloud Composer existentes com o Private Service Connect. Estes ambientes podem funcionar quando esta política está ativada.

Ative o Private Service Connect quando criar um ambiente

Consola

Para criar um ambiente com o Private Service Connect, selecione o tipo de conetividade Private Service Connect quando criar um ambiente de IP privado. Em seguida, especifique a sub-rede para a ligação do Private Service Connect.

Quando cria um ambiente de IP privado:

  1. Na secção Configuração da rede, expanda o item Mostrar configuração da rede.

  2. Na secção Tipo de rede, selecione a opção Ambiente de IP privado para criar um ambiente de IP privado.

  3. Na secção Conetividade do Composer, selecione Private Service Connect.

  4. Na lista pendente Sub-rede de ligação do Composer, selecione a sub-rede para pontos finais do Private Service Connect.

    Pode usar a sub-rede do seu ambiente.

    Em alternativa, pode especificar uma sub-rede diferente. Ao fazê-lo, tem mais controlo sobre o intervalo CIDR a partir do qual o endereço IP do ponto final do PSC é selecionado.Este intervalo pode ser partilhado por vários ambientes do Cloud Composer. Cada ambiente requer um endereço IP.

  5. Especifique outros parâmetros para o seu ambiente de IP privado.

gcloud

Para criar um ambiente com o Private Service Connect, use o argumento --connection-subnetwork quando criar um ambiente de IP privado. Em seguida, especifique a sub-rede para a ligação do Private Service Connect.

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

Substituir:

  • ENVIRONMENT_NAME com o nome do ambiente.
  • LOCATION com a região onde o ambiente está localizado.
  • ENVIRONMENT_PSC_SUBNETWORK com o URI da sub-rede para pontos finais do Private Service Connect.

    Pode usar a sub-rede do seu ambiente.

    Em alternativa, pode especificar uma sub-rede diferente. Ao fazê-lo, tem mais controlo sobre o intervalo CIDR a partir do qual o endereço IP do ponto final da PSC é selecionado. Este intervalo pode ser partilhado por vários ambientes do Cloud Composer. Cada ambiente requer um endereço IP.

Exemplo:

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

API

Construa um pedido de API environments.create. No recurso Environment, especifique os parâmetros de configuração para a ligação do Private Service Connect.

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

{
  "name": "ENVIRONMENT_NAME",

  "config": {
    "softwareConfig": {
      "imageVersion": "composer-2.13.9-airflow-2.10.5"
    },
    "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"
        }
      ]
    }
  }
}

Substituir:

  • ENVIRONMENT_NAME com o nome do ambiente.
  • ENVIRONMENT_NETWORK com o URI da rede do seu ambiente.
  • ENVIRONMENT_SUBNETWORK com o URI da sub-rede do seu ambiente.
  • ENVIRONMENT_PSC_SUBNETWORK com o URI da sub-rede para pontos finais do PSC.

    Pode usar a sub-rede do seu ambiente.

    Em alternativa, pode especificar uma sub-rede diferente. Ao fazê-lo, tem mais controlo sobre o intervalo CIDR a partir do qual o endereço IP do ponto final do PSC é selecionado. Este intervalo pode ser partilhado por vários ambientes do Cloud Composer. Cada ambiente requer um endereço IP.

Exemplo:

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

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

    "softwareConfig": {
      "imageVersion": "composer-2.13.9-airflow-2.10.5"
    },
    "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 cria um ambiente, o campo cloud_composer_connection_subnetwork no bloco private_environment_config ativa o Private Service Connect.

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

  config {

    software_config {
      image_version = "composer-2.13.9-airflow-2.10.5"
    }

    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"
      }
    }
  }
}

Substituir:

  • ENVIRONMENT_NAME com o nome do ambiente.
  • ENVIRONMENT_NETWORK com o URI da rede do seu ambiente.
  • ENVIRONMENT_SUBNETWORK com o URI da sub-rede do seu ambiente.
  • ENVIRONMENT_PSC_SUBNETWORK com o URI da sub-rede para pontos finais do PSC.

    Pode usar a sub-rede do seu ambiente.

    Em alternativa, pode especificar uma sub-rede diferente. Ao fazê-lo, tem mais controlo sobre o intervalo CIDR a partir do qual o endereço IP do ponto final do PSC é selecionado. Este intervalo pode ser partilhado por vários ambientes do Cloud Composer. Cada ambiente requer um endereço IP.

Exemplo:

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.13.9-airflow-2.10.5"
    }

    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"
      }
    }
 }
}

O que se segue?