Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1
Esta página descreve como ativar o agente de ocultação de IP para o seu ambiente.
Acerca do agente de máscara de IP no Cloud Composer
O Cloud Composer suporta o agente de ocultação de IP para os seus ambientes.
A máscara de IP é uma forma de tradução de endereços de rede (NAT) usada para fazer traduções de endereços IP de muitos para um. Isto permite que vários clientes acedam a um destino a partir de um único endereço IP.
O Cloud Composer executa as suas cargas de trabalho no GKE. Para funcionar corretamente, requer intervalos de IP para nós (VMs), bem como pods e serviços do GKE. Quando as tarefas e os DAGs do Airflow comunicam com outros serviços, usam IPs de pods, e estes intervalos de IPs de pods têm de ser encaminháveis para e a partir de quaisquer destinos com os quais as tarefas interagem.
Com o agente de ocultação de IP, tem a opção de traduzir endereços IP de pods em endereços IP de nós, para que os destinos e os serviços segmentados a partir de DAGs e tarefas do Airflow apenas recebam pacotes de endereços IP de nós em vez de endereços IP de pods. Isto é útil em ambientes que esperam receber apenas pacotes de endereços IP de nós ou onde os intervalos de IP de pods não são encaminháveis fora do cluster.
Além disso, pode usar o agente de ocultação de IP para guardar intervalos de rede na configuração de rede. Por exemplo, pode usar um intervalo de rede separado para os pods no cluster do seu ambiente e mascarar este tráfego como proveniente do intervalo de endereços IP do nó. Desta forma, poupa espaço de endereços IP num intervalo usando endereços IP de um intervalo diferente para os pods no cluster do seu ambiente.
Por exemplo:
Usa o intervalo
10.0.0.0/8
para VMs e apenas este intervalo é permitido pelas suas regras de firewall.Para guardar intervalos de rede, use um intervalo diferente (por exemplo,
192.168.0.0/16
) para os pods no cluster do seu ambiente.Para poder estabelecer ligação a qualquer serviço a partir de um pod (trabalhador do Airflow), é necessário o mascaramento de IP. Caso contrário, o serviço recebe tráfego de
192.168.0.0/16
e rejeita-o devido a uma regra de firewall. Com o agente IP Masquerade ativado e configurado, o serviço recebe pedidos de10.0.0.0/8
, que são aceites.
Antes de começar
Não é possível ativar o agente de ocultação de IP na Google Cloud consola.
Ative o agente de ocultação de IP para um ambiente existente
Não é possível ativar o agente de ocultação de IP para um ambiente existente.
Ative o agente de ocultação de IP ao criar um ambiente
Pode ativar o agente de ocultação de IP quando cria um ambiente.
Para mais informações sobre a criação de ambientes do Cloud Composer, consulte o artigo Crie um ambiente.
Consola
Não é possível ativar o agente de ocultação de IP na Google Cloud consola.
gcloud
Quando cria um ambiente, o argumento --enable-ip-masq-agent
ativa o agente de mascaramento de IP.
Também tem de ativar o alias de IP com o argumento --enable-ip-alias
.
gcloud composer environments create ENVIRONMENT_NAME \
--location LOCATION \
--image-version composer-1.20.12-airflow-1.10.15 \
--enable-ip-alias \
--enable-ip-masq-agent
Substituir:
ENVIRONMENT_NAME
com o nome do ambiente.LOCATION
com a região onde o ambiente está localizado.
Exemplo:
gcloud composer environments create example-environment \
--location us-central1 \
--image-version composer-1.20.12-airflow-1.10.15 \
--enable-ip-alias \
--enable-ip-masq-agent
API
Construa um pedido de API environments.create
.
Especifique a configuração no recurso Environment
.
{
"name": "projects/PROJECT_ID/locations/LOCATION/environments/ENVIRONMENT_NAME",
"config": {
"softwareConfig": {
"imageVersion": "composer-1.20.12-airflow-1.10.15"
},
"nodeConfig": {
"ipAllocationPolicy": {
"useIpAliases": true,
},
"enableIpMasqAgent": true
}
}
}
Substituir:
PROJECT_ID
com o ID do projeto.LOCATION
com a região onde o ambiente está localizado.ENVIRONMENT_NAME
com o nome do ambiente.
Exemplo:
// POST https://composer.googleapis.com/v1/{parent=projects/*/locations/*}/environments
{
"name": "projects/example-project/locations/us-central1/environments/example-environment",
"config": {
"softwareConfig": {
"imageVersion": "composer-1.20.12-airflow-1.10.15"
},
"nodeConfig": {
"ipAllocationPolicy": {
"useIpAliases": true,
},
"enableIpMasqAgent": true
}
}
}
Terraform
Quando cria um ambiente, o campo enable_ip_masq_agent
no bloco node_config
ativa o agente de ocultação de IP.
Também tem de ativar o alias de IP com o campo use_ip_aliases
no bloco ip_allocation_policy
.
resource "google_composer_environment" "example_environment" {
provider = google-beta
name = "ENVIRONMENT_NAME"
region = "LOCATION"
config {
software_config {
image_version = "composer-1.20.12-airflow-1.10.15"
}
node_config {
ip_allocation_policy = [{
use_ip_aliases = true
// Other networking configuration
}]
enable_ip_masq_agent = true
}
}
Substituir:
ENVIRONMENT_NAME
com o nome do ambiente.LOCATION
com a região onde o ambiente está localizado.
Exemplo:
resource "google_composer_environment" "example_environment" {
provider = google-beta
name = "example-environment"
region = "us-central1"
config {
software_config {
image_version = "composer-1.20.12-airflow-1.10.15"
}
node_config {
ip_allocation_policy = [{
use_ip_aliases = true
// Other networking configuration
}]
enable_ip_masq_agent = true
}
}
}
Configure o agente de ocultação de IP
Para mais informações sobre como usar e configurar o agente de ocultação de IP no Cloud Composer 1, consulte o artigo Configurar um agente de ocultação de IP em clusters padrão.