Configure a rede da VPC partilhada

Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1

Esta página descreve os requisitos da rede VPC partilhada e do projeto anfitrião para o Cloud Composer.

A VPC partilhada permite que as organizações estabeleçam limites de orçamento e controlo de acesso ao nível do projeto, ao mesmo tempo que permite uma comunicação segura e eficiente através de IPs privados nesses limites. Na configuração de VPC partilhada, o Cloud Composer pode invocar serviços alojados noutros Google Cloud projetos na mesma organização sem expor serviços à Internet pública.

Diretrizes para a VPC partilhada

Projetos de serviço e anfitrião para o Cloud Composer
Figura 1. Projetos de serviço e anfitrião para Cloud Composer
  • A VPC partilhada requer que designe um projeto anfitrião ao qual pertencem as redes e as sub-redes, e um projeto de serviço, que está anexado ao projeto anfitrião. Quando o Cloud Composer participa numa VPC partilhada, o ambiente do Cloud Composer está no projeto de serviço.

  • Para configurar a VPC partilhada, selecione os seguintes intervalos de IP no projeto anfitrião:

    • Intervalo de IP principal da sub-rede usada pelos nós do GKE que o Cloud Composer usa como a respetiva camada do Compute Engine.
    • Intervalo de IP secundário para serviços do GKE.
    • Intervalo de IPs secundário para pods do GKE.
  • Os intervalos de IPs secundários não podem sobrepor-se a outros intervalos secundários nesta VPC.

  • Certifique-se de que os intervalos secundários são suficientemente grandes para acomodar o tamanho do cluster e o dimensionamento do seu ambiente.

    Consulte o artigo Criar um cluster nativo da VPC para ver diretrizes sobre a configuração de intervalos secundários para pods e serviços.

  • O intervalo de endereços principal da sub-rede deve acomodar o crescimento previsto e ter em conta os endereços IP não utilizáveis.

  • Se usar o agente de ocultação de IP e a configuração de IP privado para os seus ambientes, adicione os intervalos de IP de nós e pods à secção nonMasqueradeCIDRs do ip-masq-agent ConfigMap. Para mais informações, consulte o artigo Configurar um agente de mascaramento de IP.

Preparação

  1. Encontre os seguintes IDs e números de projetos:

    • Projeto anfitrião: o projeto que contém a rede VPC partilhada.
    • Projeto de serviço: o projeto que contém o ambiente do Cloud Composer.
  2. Prepare a sua organização.

  3. Ative a API GKE nos projetos de anfitrião e de serviço.

  4. Se criar um ambiente no projeto de serviço através da Google Cloud consola, a sua conta tem de ter a autorização compute.subnetworks.use no projeto anfitrião. Caso contrário, a lista de sub-redes disponíveis não contém sub-redes do projeto anfitrião. Se criar um ambiente através da gcloudAPI ou do Terraform, a sua conta não precisa desta autorização adicional.

Configure o projeto de serviço

Se nunca foram criados ambientes do Cloud Composer no projeto de serviço, aprovisione a conta de agente de serviço do Composer no projeto de serviço:

gcloud beta services identity create --service=composer.googleapis.com

Configure o projeto anfitrião

Configure o projeto anfitrião conforme descrito mais adiante.

(IP privado) Ative o acesso privado à Google

Se planeia usar ambientes de IP privado, ative o acesso privado à Google para a sub-rede no projeto anfitrião. Pode fazê-lo no passo seguinte, quando configurar os recursos de rede para uma sub-rede nova ou já existente.

Se planeia usar ambientes de IP público, recomendamos que ative o acesso privado à Google para a sub-rede no projeto anfitrião. Se optar por não usar o Acesso privado do Google, certifique-se de que não está a bloquear tráfego que, de outra forma, a regra de firewall de saída de permissão de IPv4 implícita permitiria. Isto é necessário para alcançar com êxito *.googleapis.com pontos finais.

Configure recursos de rede

Escolha uma das seguintes opções para atribuir e configurar recursos de rede. Para cada opção, tem de atribuir um nome aos intervalos de IP secundários para pods e serviços.

Configure a VPC partilhada e anexe o projeto de serviço

  1. Se ainda não o fez, configure a VPC partilhada. Se já tiver configurado a VPC partilhada, avance para o passo seguinte.

  2. Anexe o projeto de serviço que usa para alojar ambientes do Cloud Composer.

    Quando anexar um projeto, mantenha as autorizações da rede VPC predefinidas.

Conceda autorizações à conta do agente do serviço Composer

No projeto anfitrião:

  1. Edite as autorizações da conta do agente do serviço Composer, service-SERVICE_PROJECT_NUMBER@cloudcomposer-accounts.iam.gserviceaccount.com)

  2. Para esta conta, adicione outra função ao nível do projeto:

    • Para ambientes de IP privado, adicione a função Composer Shared VPC Agent.

    • Para ambientes de IP público, adicione a função Compute Network User.

Conceda autorizações à conta do agente do serviço da API Google

No projeto anfitrião:

  1. Edite as autorizações da conta do agente do serviço de APIs Google, SERVICE_PROJECT_NUMBER@cloudservices.gserviceaccount.com.

  2. Adicione outra função, Utilizador da rede de computação (compute.networkUser) ao nível do projeto. Este é um requisito para grupos de instâncias geridos usados com a VPC partilhada porque este tipo de conta de serviço executa tarefas como a criação de instâncias.

Edite autorizações para contas de serviço do GKE

No projeto anfitrião, edite as autorizações das contas de serviço do GKE service-SERVICE_PROJECT_NUMBER@container-engine-robot.iam.gserviceaccount.com.

Para cada conta de serviço, adicione outra função compute.networkUser através de uma das seguintes opções:

  • Conceda esta função ao nível da sub-rede para permitir que uma conta de serviço configure as interligações de VPC necessárias pelo Cloud Composer. Neste caso, especifique explicitamente a sub-rede a ser usada pelo ambiente, porque o cluster do ambiente pode não ter autorizações para encontrar a sub-rede na rede.

  • Conceda esta função ao nível do projeto para todo o projeto anfitrião. Neste caso, a conta de serviço do GKE do projeto de serviço tem autorizações para usar qualquer sub-rede no projeto anfitrião.

Edite as autorizações da conta de serviço do GKE do projeto de serviço

No projeto anfitrião, edite as autorizações da conta de serviço do GKE do projeto de serviço.

Para esta conta, adicione outra função ao nível do projeto: Utilizador do agente do serviço anfitrião do Kubernetes Engine (roles/container.hostServiceAgentUser).

Isto permite que a conta de serviço do GKE do projeto de serviço use a conta de serviço do GKE do projeto anfitrião para configurar recursos de rede partilhados.

(IP privado, opcional) Configure as regras de firewall e a conetividade com os domínios Google

Numa configuração de VPC partilhada com ambientes de IP privado, em alternativa, pode querer encaminhar todo o tráfego para APIs e serviços Google através de vários endereços IP pertencentes ao domínio private.googleapis.com e configurar as regras de firewall correspondentes. Nesta configuração, o seu ambiente acede às APIs Google e aos serviços apenas através de endereços IP encaminháveis a partir de Google Cloud. Se a sua configuração de VPC partilhada usar os VPC Service Controls, encaminhe o tráfego através de restricted.googleapis.com.

Se a configuração da VPC partilhada usar ambientes de IP privado:

  1. (Opcional) Configure a conetividade às APIs e aos serviços Google.
  2. (Opcional) Configure regras de firewall.

Se a sua configuração da VPC partilhada usar os VPC Service Controls, use as instruções para ambientes com os VPC Service Controls:

  1. Configure a conetividade às APIs e aos serviços Google.
  2. Configure regras de firewall

Conclusão

Concluiu a configuração da rede de VPC partilhada para os projetos de serviço e anfitrião.

Agora, pode criar novos ambientes no projeto de serviço que usam a rede VPC do projeto anfitrião.

O que se segue?