Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3
Nesta página, explicamos como o ambiente pode acessar uma rede VPC em O Cloud Composer 3 fornece instruções para conectar um ambiente a uma VPC rede e descreve como desativar uma conexão configurada anteriormente.
Se você quiser ativar ou desativar o acesso à Internet para os componentes do seu ambiente no Airflow, consulte Mudar o tipo de rede do ambiente (IP particular ou público).
Se você quiser desativar ou ativar o acesso à Internet apenas ao instalar o PyPI pacotes, consulte Configure o acesso à Internet ao instalar pacotes PyPI.
Para configurar uma rede VPC compartilhada, consulte Configure a VPC compartilhada para informações sobre como configurar projetos e permissões.
Sobre o acesso à rede VPC
No Cloud Composer 3, é possível ativar o acesso de uma de nuvem.
Se você ativar o acesso a uma rede VPC para um ambiente:
Componentes do Airflow do seu ambiente pode acessar endpoints de rede privada na sua rede VPC. Por exemplo: o código DAG pode acessar recursos localizados na rede VPC por meio de uma configurou a conexão do Airflow.
Se o ambiente usar rede IP privada, todo o tráfego interno, exceto o tráfego para a API Google Services, é roteado para sua rede VPC.
Dependendo de como você configurar sua rede VPC, um IP privado pode ter acesso à Internet pela sua rede VPC.
Seja qual for o status de acesso à rede VPC, o acesso às APIs Google Services sempre é possível.
Zonas de DNS particular definidas na VPC ficam disponíveis automaticamente para as instâncias de Airflow componentes de solução.
O ambiente reserva dois endereços IP na sub-rede VPC.
O Cloud Composer usa um anexo de rede para conectar seu ambiente a uma rede VPC:
Se você especificar uma rede VPC e uma sub-rede, o Cloud Composer cria um novo anexo de rede no projeto. Este anexo foi excluído Depois que você excluir um ambiente, desativar a conexão a uma rede VPC ou substituir a VPC parâmetros de conexão.
Se você especificar um anexo de rede existente, ele precisa estar localizado no mesmo projeto do ambiente. Isso anexo não é excluído depois que você exclui um ambiente, desativa a conexão ou substitui os parâmetros de conexão da VPC.
Na rede VPC compartilhada:
Verifique se você configurou a rede VPC compartilhada para Cloud Composer Consulte Configure a VPC compartilhada para informações sobre como configurar projetos e permissões do Cloud Composer.
Depois de configurar a rede VPC compartilhada, é possível conectar para uma rede VPC do projeto host. Se você usa uma anexo de rede atual, ele precisa ser criado no projeto de serviço (onde o ambiente está localizado) e anexado a uma VPC compartilhada em uma rede VPC.
Sobre o intervalo de IP interno do ambiente
Os ambientes do Cloud Composer 3 exigem vários endereços IP para componentes executados no projeto de locatário, como os do seu ambiente de execução e o proxy do Cloud SQL. Esses endereços IP são retirados do intervalo de IPs internos do ambiente;
O intervalo de IP interno padrão é
100.64.128.0/20
.É possível especificar um intervalo de IP interno diferente ao criar um de nuvem. Esse intervalo precisa usar uma máscara
/20
.Não é possível alterar o intervalo de IPs internos de um ambiente atual.
O intervalo de IP interno interage com sua rede VPC das seguintes maneiras:
O intervalo de IP interno não pode entrar em conflito com a sub-rede VPC que o O ambiente do Cloud Composer está conectado. Não é possível para ativar uma conexão com uma sub-rede VPC que se sobreponha à do intervalo de IP interno.
Se o intervalo de IP interno de um ambiente se sobrepor aos intervalos de rede VPC, os endpoints da rede VPC com endereços IP sobrepostos não poderão ser acessados pelo ambiente.
Por exemplo, se o intervalo interno for
100.64.128.0/20
, todas as solicitações endpoint100.64.128.1
na rede VPC falha porque o não saia do projeto de locatário.O intervalo de IP interno não está reservado. É possível usar o mesmo IP interno para diversos ambientes sem precisar de configuração adicional, já que o as redes VPC internas usadas por ambientes diferentes são separadas.
Você pode usar os endereços IP do intervalo interno para outras finalidades, Os DAGs e tarefas no seu ambiente não fazem solicitações a eles.
Conectar-se a uma rede VPC
Console
No console do Google Cloud, acesse a página Ambientes.
Na lista de ambientes, clique no nome do ambiente. A página Detalhes do ambiente é aberta.
Acesse a guia Configuração do ambiente.
Na seção Configuração de rede, localize a Anexo de rede e clique em Editar.
Na caixa de diálogo Anexo de rede:
Para criar um novo anexo de rede, na lista Anexo de rede, selecione Criar um novo anexo de rede. No campo Rede e Sub-rede, selecione uma rede VPC e uma sub-rede.
Para usar um anexo de rede existente, selecione um na lista Anexo de rede.
Clique em Salvar.
gcloud
Os seguintes argumentos da CLI do Google Cloud especificam parâmetros de conexão de rede VPC:
--network
: ID da rede VPC.--subnetwork
: ID da sub-rede VPC.--network-attachment
: use um anexo de rede existente.
Novo anexo de rede
Para conectar seu ambiente a uma rede VPC usando uma nova vinculação de rede, execute o seguinte comando da CLI do Google Cloud:
gcloud beta composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--network NETWORK_ID \
--subnetwork SUBNETWORK_ID
Substitua:
ENVIRONMENT_NAME
: o nome do ambiente.LOCATION
: a região em que o ambiente está localizadoNETWORK_ID
: ID da rede VPCSUBNETWORK_ID
: ID da sub-rede VPC
Exemplo:
gcloud beta composer environments update example-environment \
--location us-central1 \
--network projects/example-project/global/networks/example-network \
--subnetwork projects/example-project/regions/us-central1/subnetworks/example-subnetwork
Anexo de rede existente
Conectar seu ambiente a uma rede VPC usando uma nova rede anexo, execute o seguinte comando da Google Cloud CLI:
gcloud beta composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--network-attachment NETWORK_ATTACHMENT_ID
Substitua:
ENVIRONMENT_NAME
: o nome do ambiente.LOCATION
: a região em que o ambiente está localizado.NETWORK_ATTACHMENT_ID
: o anexo de rede noprojects/{project}/regions/{region}/networkAttachments/{networkAttachment}
.
Exemplo:
gcloud beta composer environments update example-environment \
--location us-central1 \
--network-attachment projects/example-project/regions/us-central1/networkAttachments/example-network-attachment
API
Crie uma solicitação de API
environments.patch
.Nesta solicitação:
Para criar um novo anexo de rede:
No parâmetro
updateMask
, especifiqueconfig.node_config.network,config.node_config.subnetwork
máscaraNo corpo da solicitação, nos campos
network
esubnetwork
campos, especifique os IDs da rede VPC e da sub-rede.
Para usar um anexo de rede existente:
No parâmetro
updateMask
, especifiqueconfig.node_config.composer_network_attachment
máscaraNo corpo da solicitação, forneça um valor para a rede atual. na
projects/{project}/regions/{region}/networkAttachments/{networkAttachment}
.
Exemplo (novo anexo de rede):
// PATCH https://composer.googleapis.com/v1beta1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.node_config.network,config.node_config.subnetwork
"config": {
"nodeConfig": {
"network": "projects/example-project/global/networks/example-network",
"subnetwork": "projects/example-project/regions/us-central1/subnetworks/example-subnetwork"
}
}
Exemplo (anexo de rede existente):
// PATCH https://composer.googleapis.com/v1beta1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.node_config.composer_network_attachment
"config": {
"nodeConfig": {
"composerNetworkAttachment": "projects/example-project/regions/us-central1/networkAttachments/example-network-attachment"
}
}
Terraform
Os campos a seguir no bloco node_config
especificam parâmetros de conexão da rede VPC:
network
: ID da rede VPC.subnetwork
: ID da sub-rede VPC.composer_network_attachment
: use um anexo de rede existente.
Novo anexo de rede
resource "google_composer_environment" "example" {
provider = google-beta
name = "ENVIRONMENT_NAME"
region = "LOCATION"
config {
node_config {
network = NETWORK_ID
subnetwork = SUBNETWORK_ID
}
}
}
Substitua:
ENVIRONMENT_NAME
: o nome do ambiente;LOCATION
: a região em que o ambiente está localizado.NETWORK_ID
: ID da rede VPCSUBNETWORK_ID
: ID da sub-rede VPC
Exemplo (novo anexo de rede):
resource "google_composer_environment" "example" {
provider = google-beta
name = "example-environment"
region = "us-central1"
config {
node_config {
network = "projects/example-project/global/networks/example-network"
subnetwork = "projects/example-project/regions/us-central1/subnetworks/example-subnetwork"
}
... other configuration parameters
}
}
Anexo de rede existente
resource "google_composer_environment" "example" {
provider = google-beta
name = "ENVIRONMENT_NAME"
region = "LOCATION"
config {
node_config {
composer_network_attachment = NETWORK_ATTACHMENT_ID
}
}
}
Substitua:
ENVIRONMENT_NAME
: o nome do ambiente;LOCATION
: a região em que o ambiente está localizado.NETWORK_ATTACHMENT_ID
: o ID do anexo de rede.
Exemplo (anexo de rede existente):
resource "google_composer_environment" "example" {
provider = google-beta
name = "example-environment"
region = "us-central1"
config {
node_config {
composer_network_attachment = projects/example-project/regions/us-central1/networkAttachments/example-network-attachment
}
... other configuration parameters
}
}
Desativar conexão com uma rede VPC
Console
No console do Google Cloud, acesse a página Ambientes.
Na lista de ambientes, clique no nome do ambiente. A página Detalhes do ambiente é aberta.
Acesse a guia Configuração do ambiente.
Na seção Configuração de rede, localize a Anexo de rede e clique em Editar.
Na caixa de diálogo Anexo de rede, selecione Nenhum e clique em Salvar.
gcloud
Os argumentos --disable-vpc-connectivity
desativam a rede VPC
do seu ambiente:
gcloud beta composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--disable-vpc-connectivity
Substitua:
ENVIRONMENT_NAME
: o nome do ambiente.LOCATION
: a região em que o ambiente está localizado.
Exemplo:
gcloud beta composer environments update example-environment \
--location us-central1 \
--disable-vpc-connectivity
API
Crie uma solicitação de API
environments.patch
.Nesta solicitação:
No parâmetro
updateMask
, especifique a máscaraconfig.node_config.network,config.node_config.subnetwork
.No corpo da solicitação, nos campos
network
esubnetwork
, especifique valores vazios.
Exemplo:
// PATCH https://composer.googleapis.com/v1beta1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.node_config.network,config.node_config.subnetwork
"config": {
"nodeConfig": {
"network": "",
"subnetwork": ""
}
}
Terraform
Não é possível usar o Terraform para desanexar uma rede VPC. Em vez disso, você pode anexar outra rede VPC no lugar ou remover a rede usando outras ferramentas, como a Google Cloud CLI.
A seguir
- Mudar o tipo de rede do ambiente (IP particular ou público)
- Configurar o acesso à Internet ao instalar pacotes PyPI