Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1
Nesta página, explicamos como criar um ambiente de IP particular que usa o Private Service Connect em vez de peerings de VPC.
Para informações gerais sobre como criar ambientes de IP particular, consulte Configurar um ambiente de IP particular.
Sobre o Private Service Connect no Cloud Composer
Os componentes do ambiente são distribuídos entre o locatário e o projeto do cliente. Em ambientes de IP particular, os componentes localizados nesses dois projetos se conectam usando peerings VPC. Os peerings de VPC têm algumas limitações, incluindo o limite de número máximo de peerings em uma VPC. Esses limites podem se tornar mais evidentes se você usa redes de grande escala com ambientes do Cloud Composer.
Com o suporte do Private Service Connect no Cloud Composer, os ambientes de IP particular se comunicam internamente sem o uso de peerings de VPC. Esses ambientes usam o IP particular com arquitetura de PSC.
Antes de começar
O suporte do Private Service Connect está disponível apenas no Cloud Composer 2.
Só é possível ativar o Private Service Connect quando você cria um novo ambiente. Não é possível alternar um ambiente existente para usar o Private Service Connect.
Seu ambiente precisa ser um ambiente de IP particular. Como os peerings de VPC não são usados, não é necessário especificar os intervalos CIDR para a instância do Cloud SQL e a rede interna do Cloud Composer.
Se a Restrição de política da organização Desativar o Private Service Connect para consumidores negar endpoints SERVICE_PRODUCER, não será possível criar ambientes com o Private Service Connect. Esta política não afeta ambientes do Cloud Composer com o Private Service Connect. Esses ambientes podem operar quando essa política está ativada.
Ativar o Private Service Connect ao criar um ambiente
Console
Para criar um ambiente com o Private Service Connect, selecione o tipo de conectividade Private Service Connect ao criar um ambiente de IP particular. Em seguida, especifique a sub-rede para a conexão do Private Service Connect.
Ao criar um ambiente de IP particular:
Na seção Configuração de rede, expanda o item Mostrar configuração de rede.
Na seção Tipo de rede, selecione a opção Ambiente de IP particular para criar um ambiente de IP particular.
Na seção Conectividade do Composer, selecione Private Service Connect.
Na lista suspensa Sub-rede de conexão do Composer, selecione a sub-rede para endpoints do Private Service Connect.
É possível usar a sub-rede do ambiente.
Como alternativa, especifique uma sub-rede diferente. Dessa forma, você tem mais controle sobre o intervalo CIDR em que o endereço IP do endpoint do PSC é selecionado.Esse intervalo pode ser compartilhado por vários ambientes do Cloud Composer. Cada ambiente exige um endereço IP.
Especifique outros parâmetros para o ambiente de IP privado.
gcloud
Para criar um ambiente com o Private Service Connect, use
o argumento --connection-subnetwork
ao criar um ambiente de
IP particular. Em seguida, especifique a sub-rede para a conexão do Private Service Connect.
gcloud composer environments create ENVIRONMENT_NAME \
--location LOCATION \
--image-version composer-2.11.1-airflow-2.10.2 \
--enable-private-environment \
--web-server-allow-all \
--connection-subnetwork ENVIRONMENT_PSC_SUBNETWORK
Substitua:
ENVIRONMENT_NAME
pelo nome do ambiente;LOCATION
pela região em que o ambiente está localizado;ENVIRONMENT_PSC_SUBNETWORK
com o URI da sub-rede para endpoints do Private Service Connect.É possível usar a sub-rede do ambiente.
Como alternativa, especifique uma sub-rede diferente. Dessa forma, você tem mais controle sobre o intervalo CIDR em que o endereço IP do endpoint do PSC é selecionado. Esse intervalo pode ser compartilhado por vários ambientes do Cloud Composer. Cada ambiente exige um endereço IP.
Exemplo:
gcloud composer environments create example-environment \
--location us-central1 \
--image-version composer-2.11.1-airflow-2.10.2 \
--enable-private-environment \
--web-server-allow-all \
--connection-subnetwork "projects/example-project/regions/us-central1/subnetworks/default"
API
Crie
uma solicitação de API environments.create
. No
recurso Ambiente, especifique os
parâmetros de configuração da conexão do Private Service Connect.
// POST https://composer.googleapis.com/v1/{parent=projects/*/locations/*}/environments
{
"name": "ENVIRONMENT_NAME",
"config": {
"softwareConfig": {
"imageVersion": "composer-2.11.1-airflow-2.10.2"
},
"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"
}
]
}
}
}
Substitua:
ENVIRONMENT_NAME
pelo nome do ambiente;ENVIRONMENT_NETWORK
pelo URI da rede do ambiente.ENVIRONMENT_SUBNETWORK
pelo URI da sub-rede do ambiente;ENVIRONMENT_PSC_SUBNETWORK
pelo URI da sub-rede para endpoints de PSC;É possível usar a sub-rede do ambiente.
Como alternativa, especifique uma sub-rede diferente. Dessa forma, você tem mais controle sobre o intervalo CIDR em que o endereço IP do endpoint do PSC é selecionado. Esse intervalo pode ser compartilhado 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.11.1-airflow-2.10.2"
},
"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
Ao criar 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.11.1-airflow-2.10.2"
}
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"
}
}
}
}
Substitua:
ENVIRONMENT_NAME
pelo nome do ambiente;ENVIRONMENT_NETWORK
pelo URI da rede do ambiente.ENVIRONMENT_SUBNETWORK
pelo URI da sub-rede do ambiente;ENVIRONMENT_PSC_SUBNETWORK
pelo URI da sub-rede para endpoints de PSC;É possível usar a sub-rede do ambiente.
Como alternativa, especifique uma sub-rede diferente. Dessa forma, você tem mais controle sobre o intervalo CIDR em que o endereço IP do endpoint do PSC é selecionado. Esse intervalo pode ser compartilhado 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.11.1-airflow-2.10.2"
}
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"
}
}
}
}
A seguir
- Como configurar ambientes de IP particular
- Como criar ambientes
- Arquitetura de ambiente
- Sobre ambientes de IP particular