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 o ambiente Para os componentes do Airflow, consulte Altere o tipo de rede do ambiente (IP público ou privado).
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 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 anexo de rede para conectar sua para 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 anexo de rede atual, ele precisa estar no mesmo projeto que o 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 IPs internos de um ambiente se sobrepuser à sua VPC intervalos de rede, os endpoints da rede VPC com os endereços IP sobrepostos não são acessíveis a partir do 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, acesse a seção 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 já existente, faça o seguinte em Anexo de rede selecione um anexo.
Clique em Salvar.
gcloud
Os argumentos da Google Cloud CLI a seguir especificam a conexão de rede VPC parâmetros:
--network
: ID da rede VPC.--subnetwork
: ID da sub-rede VPC.--network-attachment
: use um anexo de rede existente.
Novo anexo de rede
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 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:
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 a rede VPC
parâmetros de conexão:
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
, especifiqueconfig.node_config.network,config.node_config.subnetwork
máscaraNo 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 público ou privado)
- Configurar o acesso à Internet ao instalar pacotes PyPI