Como configurar um ambiente de IP particular do Cloud Composer

Nesta página, você encontra informações sobre como configurar um ambiente de IP privado do Cloud Composer.

Quando você ativa o IP privado, o Cloud Composer atribui apenas endereços IP privados (RFC 1918) às VMs gerenciadas do Cloud SQL e Google Kubernetes Engine no ambiente.

Para mais informações sobre como se conectar a recursos no ambiente, consulte IP privado.

Antes de começar

Controle de acesso

Requisitos de rede

Verifique se a rede VPC do seu projeto atende aos requisitos a seguir:

  • Certifique-se de que não haja conflitos com blocos de IPs privados. Se a rede VPC e os pares estabelecidos dela tiverem blocos de IPs sobrepostos no projeto de locatário gerenciado pelo Google, o Cloud Composer não criará o ambiente. Consulte a coluna Intervalo de IP do servidor da Web na tabela abaixo para ver os padrões usados em cada região.
  • Tenha intervalos de IPs secundários suficientes nos pods e serviços do GKE para o Cloud Composer. O GKE pesquisa esses intervalos para realizar o alias de IP. Se nenhum intervalo for encontrado, o Cloud Composer não criará o ambiente.
  • Tenha até 25 conexões de peering VPC na rede VPC. Considere o seguinte:
    • Para cada ambiente de IP privado, o Cloud Composer cria uma conexão de peering na rede do projeto de locatário.
    • O cluster particular do GKE cria outra conexão de peering VPC na rede VPC.
    • O número máximo aceito de ambientes de IP privado do Cloud Composer é 12.
    • O número máximo de ambientes de IP privado do Cloud Composer que pode ser criado depende da quantidade de conexões de peering VPC usada na rede VPC.
  • Tenha até 30 intervalos secundários na sub-rede. Considere o seguinte:
    • O cluster do GKE no ambiente de IP privado do Cloud Composer cria dois intervalos secundários na sub-rede. É possível criar várias sub-redes na mesma região e na mesma rede VPC.
    • O número máximo aceito de intervalos secundários é 30. Como cada ambiente de IP particular do Cloud Composer requer dois intervalos secundários para os pods e serviços do GKE do Cloud Composer, todas as sub-redes aceitam até 15 desses ambientes.

Configuração do nativo de VPC

O Cloud Composer é compatível com clusters do GKE nativos de VPC no ambiente.

Durante a criação do ambiente, é possível ativar o nativo de VPC, usando o IP de alias, e configurar a rede, como a alocação de IP, sem ativar o IP particular.

Como um cluster nativo de VPC é necessário para que as tarefas do Airflow se comuniquem com outras VMs acessíveis por IPs particulares, ative também o nativo de VPC para configurar um ambiente de IP particular.

O exemplo de IP particular e a configuração do intervalo secundário são fornecidos na seção a seguir.

Como configurar um ambiente de IP particular do Composer e intervalos secundários

Console

  1. Abra a página Criar ambiente no Console do Google Cloud.

    Abrir a página "Criar ambiente"

  2. Configure o ambiente.
  3. Marque Ativar nativo de VPC (usando o IP do alias).
  4. Insira a configuração de rede do cluster do GKE do ambiente, incluindo os intervalos secundários de alias de IP, conforme necessário.
  5. Para ativar um ambiente de IP privado do Cloud Composer, marque Ambiente de IP privado.
  6. Em Intervalo de IP particular do mestre do cluster do GKE, digite um intervalo de IP para a VPC do mestre ou use o intervalo de IP padrão.
  7. Para ativar um endpoint público do cluster do GKE no ambiente, marque Acessar o mestre do GKE usando o endereço IP externo.

    O cluster é configurado como Acesso ao endpoint público desativado.

  8. Em IP particular do servidor da Web, insira um intervalo de IP para o servidor da Web do Airflow ou use o intervalo de IP padrão.
  9. Em IP particular do Cloud SQL, insira um intervalo de IP para a instância do Cloud SQL ou use o intervalo de IP padrão.
  10. Quando terminar de configurar o ambiente, clique em Criar.

gcloud

Configure o ambiente, incluindo os seguintes argumentos de um ambiente de IP privado do Cloud Composer, conforme necessário:

gcloud composer environments create ENVIRONMENT_NAME \
    --location LOCATION --enable-private-environment \
    OTHER_ARGUMENTS

Os parâmetros a seguir são obrigatórios, a menos que especificados:

  • ENVIRONMENT_NAME é o nome do ambiente; Precisa corresponder ao padrão ^[a-z](?:[-0-9a-z]{0,62}[0-9a-z])?$.
  • LOCATION é a região do Compute Engine em que o ambiente está localizado.
  • --enable-private-environment para ativar um ambiente de IP particular do Cloud Composer;
  • --enable-ip-alias para ativar o Nativo da VPC usando endereços IP do alias. Esse parâmetro é obrigatório ao usar --enable-private-environment ou ao configurar intervalos secundários para pods e serviços:
    • --cluster-secondary-range-name ou --cluster-ipv4-cidr para configurar o intervalo secundário para pods.
    • --services-secondary-range-name ou --services-ipv4-cidr para configurar o intervalo secundário para serviços.
  • master-ipv4-cidr para especificar um intervalo RFC 1918 particular para a VPC do mestre.
  • (Opcional) enable-private-endpoint para ativar um endpoint público para o cluster do GKE no ambiente. O cluster é configurado como Acesso ao endpoint público desativado.

O exemplo a seguir cria um ambiente que executa a versão de imagem compatível mais recente do Cloud Composer na região us-central1 que usa a máquina n1-standard-2.

O IP particular é ativado no ambiente, e 192.168.2.0/28 é o intervalo de IPs da VPC do mestre do GKE.

gcloud composer environments create test-environment \
    --location us-central1 \
    --zone us-central1-f \
    --machine-type n1-standard-2 \
    --image-version composer-latest-airflow-x.y.z \
    --enable-ip-alias \
    --enable-private-environment \
    --enable-private-endpoint \
    --master-ipv4-cidr 192.168.2.0/28 

API

Para criar um novo ambiente do Cloud Composer com a API REST do Cloud Composer, faça uma solicitação de API environments.create, preenchendo o recurso Environment com as informações de configuração.

Por exemplo, essa solicitação de API cria um novo ambiente chamado privateip-test na zona us-central1-c:

POST https://composer.googleapis.com/v1/projects/test-project/locations/us-central1/environments{
  "config":{
    "nodeConfig":{
      "ipAllocationPolicy":{
        "useIpAliases":true,
        "clusterIpv4CidrBlock":"10.56.0.0/14",
        "servicesIpv4CidrBlock":"10.122.0.0/20"
      },
      "location":"projects/test-project/zones/us-central1-c",
      "network":"projects/test-project/global/networks/default",
      "oauthScopes":[

      ],
      "subnetwork":"projects/test-project/regions/us-central1/subnetworks/default",
      "tags":[

      ]
    },
    "nodeCount":3,
    "privateEnvironmentConfig":{
      "cloudSqlIpv4CidrBlock":"10.32.0.0/12",
      "webServerIpv4CidrBlock":"172.30.240.0/24",
      "enablePrivateEnvironment":true,
      "privateClusterConfig":{
        "enablePrivateEndpoint":false,
        "masterIpv4CidrBlock":"172.18.50.0/28"
      }
    },
    "softwareConfig":{
      "airflowConfigOverrides":{

      },
      "envVariables":{

      },
      "pythonVersion":"3",
      "pypiPackages":{

      }
    }
  },
  "labels":{
    "purpose":"test"
  },
  "name":"projects/test-project/locations/us-central1/environments/privateip-test"
}

Intervalos de IP padrão

Região Intervalo IP do mestre do GKE Intervalo de IP do servidor da Web Intervalo de IP do Cloud SQL
asia-east2 172.16.0.0/23 172.31.255.0/24 10.0.0.0/12
asia-northeast1 172.16.2.0/23 172.31.254.0/24 10.0.0.0/12
asia-northeast2 172.16.32.0/23 172.31.239.0/24 10.0.0.0/12
asia-northeast3 172.16.30.0/23 172.31.240.0/24 10.0.0.0/12
asia-south1 172.16.4.0/23 172.31.253.0/24 10.0.0.0/12
australia-southeast1 172.16.6.0/23 172.31.252.0/24 10.0.0.0/12
europe-west1 172.16.8.0/23 172.31.251.0/24 10.0.0.0/12
europe-west2 172.16.10.0/23 172.31.250.0/24 10.0.0.0/12
europe-west3 172.16.12.0/23 172.31.249.0/24 10.0.0.0/12
europe-west6 172.16.14.0/23 172.31.248.0/24 10.0.0.0/12
northamerica-northeast1 172.16.16.0/23 172.31.247.0/24 10.0.0.0/12
southamerica-east1 172.16.18.0/23 172.31.246.0/24 10.0.0.0/12
us-central1 172.16.20.0/23 172.31.245.0/24 10.0.0.0/12
us-east1 172.16.22.0/23 172.31.244.0/24 10.0.0.0/12
us-east4 172.16.24.0/23 172.31.243.0/24 10.0.0.0/12
us-west2 172.16.34.0/23 172.31.238.0/24 10.0.0.0/12
us-west3 172.16.26.0/23 172.31.242.0/24 10.0.0.0/12
us-west4 172.16.28.0/23 172.31.241.0/24 10.0.0.0/12