Airflow gerenciado (terceira geração) | Airflow gerenciado (segunda geração) | Airflow gerenciado (primeira geração legada)
Esta página explica a diferença entre os tipos de rede de ambiente de IP particular e IP público no Airflow gerenciado (terceira geração) e fornece instruções para mudar o tipo de rede do seu ambiente.
Se você quiser desativar ou ativar o acesso à Internet apenas ao instalar pacotes PyPI, consulte Configurar o acesso à Internet ao instalar pacotes PyPI.
Se você quiser ativar o acesso à rede VPC do seu ambiente, consulte Conectar um ambiente a uma rede VPC.
Sobre os tipos de rede de ambiente
O Airflow gerenciado (terceira geração) usa dois tipos de rede de ambiente:
Rede de IP público:
Os componentes do Airflow do ambiente podem acessar a Internet. Esse é o tipo de rede padrão.
Em ambientes de IP público, todo o tráfego de saída para intervalos de IP público é roteado pelo gateway de Internet padrão. Essa limitação inclui IPs públicos de uso particular (PUPIs) usados no GKE, porque eles se sobrepõem aos intervalos de IP público. Como resultado, o tráfego destinado ao endereço PUPI não chega ao endereço GKE particular, mas é roteado para a Internet pública. Para ativar conexões com intervalos de PUPI, recomendamos que você mude o ambiente para a rede de IP particular e o conecte a uma rede VPC.
-
Os componentes do Airflow em ambientes de IP público estabelecem conexões de saída de endereços IP públicos e portas alocados automaticamente. Se você quiser que os ambientes de IP público usem endereços IP e portas predeterminados, você pode fazer isso por meio da conexão de uma rede VPC ao seu ambiente e mudando para IP particular. Nesse caso, o Airflow gerenciado roteia todo o tráfego, exceto o tráfego para serviços do Google, por essa rede.
Rede de IP particular:
A rede de IP particular é uma opção mais segura em comparação com a rede de IP público.
Os componentes do Airflow do ambiente não têm acesso à Internet. Para ambientes anexados a uma rede VPC, a configuração de rede controla o acesso à Internet.
Os ambientes de IP particular configuram o Acesso privado do Google pelo intervalo
private.googleapis.com, que permite o acesso a APIs, serviços e domínios do Google compatíveis com esse intervalo.Para mais informações e a lista de serviços e domínios disponíveis em
private.googleapis.com, consulte Configuração de rede na documentação da nuvem privada virtual.Os ambientes de IP particular com o VPC Service Controls configuram o Acesso privado do Google pelo
restricted.googleapis.comintervalo, que permite o acesso a APIs, serviços e domínios do Google compatíveis com esse intervalo.Para mais informações e a lista de serviços e domínios disponíveis em
restricted.googleapis.com, consulte Configuração de rede na documentação da nuvem privada virtual.Se um ambiente de IP particular estiver anexado a uma rede VPC personalizada, todo o tráfego será roteado para a rede VPC, exceto o tráfego para APIs, serviços e domínios do Google que estão disponíveis para ambientes de IP particular pelo Acesso privado do Google. Essa abordagem permite que os componentes do Airflow se conectem a IPs públicos de uso particular (PUPI) no GKE, já que o tráfego será roteado pela rede VPC em vez de ser enviado para a Internet pública.
Rede do Airflow gerenciado (segunda geração) em comparação com o Airflow gerenciado (terceira geração)
No Airflow gerenciado (terceira geração), os ambientes de IP particular não exigem configuração.
Os seguintes recursos de rede do Airflow gerenciado (segunda geração) não são mais relevantes no Airflow gerenciado (terceira geração):
Como configurar a rede de IP particular. Não é necessário especificar intervalos de IP, redes ou configurar regras de conectividade e firewall.
Como configurar o Private Service Connect. Não é necessário definir intervalos para o Private Service Connect no Airflow gerenciado (terceira geração).
Como usar intervalos de IP públicos de uso particular. Esse recurso ofereceu uma opção para estender os intervalos de IP disponíveis, que não são necessários no Airflow gerenciado (terceira geração).
Como usar o agente de mascaramento de IP. Não é necessário configurar a conectividade do cluster no Airflow gerenciado (terceira geração).
Como configurar redes autorizadas. Não é possível acessar o cluster do ambiente no Airflow gerenciado (terceira geração).
A configuração de DNS a seguir não é compatível com o Airflow gerenciado (terceira geração):
- O Airflow Gerenciado (terceira geração) não oferece suporte a uma zona de DNS
.internaldefinida pelo usuário. Se você criar uma zona de DNS para.internal, não será possível acessá-la.
Mudar o tipo de rede do ambiente
Console
No Google Cloud console, acesse a página Ambientes.
Na lista de ambientes, clique no nome do seu ambiente. A página Detalhes do ambiente é aberta.
Acesse a guia Configuração do ambiente.
Na seção Configuração de rede, encontre o item Tipo de rede e clique em Editar.
Na caixa de diálogo Tipo de rede, selecione:
- Ambiente de IP público (padrão) para rede de IP público.
- Ambiente de IP particular para rede de IP particular.
Clique em Salvar.
gcloud
Os seguintes argumentos da CLI do Google Cloud mudam o tipo de rede do ambiente:
--enable-private-environment: muda para a rede de IP particular.--disable-private-environment: muda para a rede de IP público (padrão).
Mudar para a rede de IP particular:
gcloud beta composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--enable-private-environment
Mudar para a rede de IP público:
gcloud beta composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--disable-private-environment
Substitua:
ENVIRONMENT_NAME: o nome do ambiente.LOCATION: a região em que o ambiente está localizado.
Exemplo (IP particular):
gcloud beta composer environments update example-environment \
--location us-central1 \
--enable-private-environment
Exemplo (IP público):
gcloud beta composer environments update example-environment \
--location us-central1 \
--disable-private-environment
API
Crie uma solicitação de API
environments.patch.Nesta solicitação:
No parâmetro
updateMask, especifique a máscaraconfig.private_environment_config.enable_private_environment.No corpo da solicitação, no campo
enablePrivateEnvironment:- Especifique
truepara mudar para a rede de IP particular. - Especifique
falsepara mudar para a rede de IP público (padrão).
- Especifique
Exemplo (IP particular):
// PATCH https://composer.googleapis.com/v1beta1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.private_environment_config.enable_private_environment
"config": {
"privateEnvironmentConfig": {
"enablePrivateEnvironment": true
}
}
Terraform
O campo enable_private_environment no bloco config especifica o tipo de rede do ambiente:
true: rede de IP particular.falseou omitido: rede de IP público (padrão).
resource "google_composer_environment" "example" {
provider = google-beta
name = "ENVIRONMENT_NAME"
region = "LOCATION"
config {
enable_private_environment = PRIVATE_IP_STATUS
}
}
Substitua:
ENVIRONMENT_NAME: o nome do ambiente.LOCATION: a região em que o ambiente está localizado.PRIVATE_IP_STATUS:truepara IP particular,falsepara IP público
Exemplo (IP particular):
resource "google_composer_environment" "example" {
provider = google-beta
name = "example-environment"
region = "us-central1"
config {
enable_private_environment = true
... other configuration parameters
}
}
Configurar variáveis do servidor proxy
É possível definir http_proxy e https_proxy variáveis de ambiente
no ambiente. Essas variáveis padrão do Linux são usadas por clientes da Web que são executados em contêineres do cluster do ambiente para rotear o tráfego pelos proxies especificados.
A variável NO_PROXY é definida por padrão como uma lista de domínios do Google, o endereço IP do servidor de metadados do Compute Engine do cluster do ambiente e localhost para que eles sejam excluídos do proxy:
.google.com,.googleapis.com,metadata.google.internal,169.254.169.254,localhost
Essa configuração permite criar um ambiente com variáveis de ambiente http_proxy e https_proxy definidas nos casos em que o proxy não está configurado para processar o tráfego para serviços do Google.