Ative o agente de ocultação de IP em ambientes do Cloud Composer

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:

  1. Usa o intervalo 10.0.0.0/8 para VMs e apenas este intervalo é permitido pelas suas regras de firewall.

  2. Para guardar intervalos de rede, use um intervalo diferente (por exemplo, 192.168.0.0/16) para os pods no cluster do seu ambiente.

  3. 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 de 10.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.

O que se segue?