Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3
Nesta página, você encontra os requisitos do projeto host e da rede VPC compartilhada do Cloud Composer.
Com a VPC compartilhada, as organizações estabelecem limites de controle de acesso e orçamento para envolvidos no projeto, além de possibilitar uma comunicação segura e eficiente usando IPs particulares nesses limites. Na configuração da VPC compartilhada, o Cloud Composer pode invocar serviços hospedados em outros projetos do Google Cloud na mesma organização sem expor serviços à Internet pública.
Diretrizes para VPC compartilhada
A VPC compartilhada exige que você determine um projeto host, que incluirá redes e sub-redes, e um projeto de serviço, que será anexado ao de host. Quando o Cloud Composer faz parte de uma VPC compartilhada, o ambiente dele fica no projeto de serviço.
Para configurar a VPC compartilhada, selecione os seguintes intervalos de IP no projeto host:
- O intervalo de IP principal da sub-rede usada pelos nós do GKE que o Cloud Composer usa como camada do Compute Engine.
- O intervalo de IP secundário de serviços do GKE.
- O intervalo de IP secundário de pods do GKE.
Os intervalos de IP secundários não podem se sobrepor a nenhum outro intervalo secundário nessa VPC.
Verifique se os intervalos secundários são grandes o suficiente para acomodar o tamanho do cluster e o escalonamento do ambiente.
Consulte Como criar um cluster nativo de VPC para ver diretrizes sobre como configurar intervalos secundários de pods e serviços.
O intervalo de endereços principal da sub-rede precisa acomodar o crescimento previsto e considerar os endereços IP inutilizáveis.
Se você usa o agente de mascaramento de IP e a configuração de IP privado dos ambientes; adicione os intervalos de IP de nós e pods à seção
nonMasqueradeCIDRs
do o ConfigMapip-masq-agent
. Para mais informações, consulte Como configurar um agente de mascaramento de IP.
Preparação
Encontre os IDs e números de projeto a seguir:
- Projeto host: contém a rede VPC compartilhada.
- Projeto de serviço: contém o ambiente do Cloud Composer.
Se você criar um ambiente no projeto de serviço usando console do Google Cloud, sua conta precisa ter a permissão
compute.subnetworks.use
no projeto host. Caso contrário, a lista de sub-redes disponíveis não contém sub-redes do projeto host. Se você criar um ambiente usando a APIgcloud
, ou Terraform, sua conta não precisará dessa permissão adicional.
Configurar o projeto de serviço
Se os ambientes do Cloud Composer nunca foram criados no serviço projeto e provisione a conta do agente de serviço do Composer No projeto de serviço:
gcloud beta services identity create --service=composer.googleapis.com`
Configurar o projeto host
Configure o projeto host conforme descrito.
(IP privado) Ativar o acesso privado do Google
Se você planeja usar Ambientes de IP privados, ative o Acesso privado do Google na sub-rede no projeto host. Você pode fazer isso na próxima etapa, ao configurar recursos de rede em uma sub-rede nova ou já existente.
Se você planeja usar ambientes de IP público, ainda recomendamos
Como ativar o Acesso privado do Google para a sub-rede no host
projeto. Se você optar por não usar o Acesso privado do Google, verifique se não está
bloqueando o tráfego que a
regra de firewall implícita de saída IPv4 que permite
permitiria. Isso é necessário para alcançar *.googleapis.com
endpoints.
Configurar recursos de rede
Escolha uma das opções a seguir para alocar e configurar os recursos de rede. Para cada opção, você precisa nomear os intervalos secundários de IPs dos pods e serviços.
Opção 1. Crie uma nova rede VPC, uma sub-rede e dois intervalos de IP secundários.
Ao criar a sub-rede, use o intervalo de IP principal seguindo as diretrizes.
Ao definir a sub-rede, defina dois intervalos de IP secundários para pods e serviços.
Opção 2. Crie uma sub-rede e dois intervalos de IP secundários em uma VPC existente.
Ao criar a sub-rede, use o intervalo de IP principal seguindo as diretrizes.
Ao definir a sub-rede, defina dois intervalos de IP secundários para pods e serviços.
Opção 3. Crie dois intervalos de IP secundários em uma sub-rede e rede VPC.
- Defina dois intervalos de IP secundários para pods e serviços seguindo as diretrizes. Evite conflitos de nome e intervalo de IP com intervalos secundários existentes.
Configurar a VPC compartilhada e anexar o projeto de serviço
Configure a VPC compartilhada caso ainda não tenha feito isso. Se você já configurou a VPC compartilhada, pule para a próxima etapa.
Anexe o projeto de serviço, que você usa para hospedar ambientes do Cloud Composer.
Ao anexar um projeto, deixe as permissões de rede VPC padrão em vigor.
Conceder permissões à conta do agente de serviço do Composer
No projeto host:
Editar permissões da conta do agente de serviço do Composer,
service-SERVICE_PROJECT_NUMBER@cloudcomposer-accounts.iam.gserviceaccount.com
)Para essa conta, adicione outro papel no nível do projeto:
Para ambientes de IP particular, adicione o papel
Composer Shared VPC Agent
.Para ambientes de IP público, adicione o papel
Compute Network User
.
Conceder permissões à conta do agente de serviço de API do Google
No projeto host:
Editar permissões da conta do agente de serviço da API do Google
SERVICE_PROJECT_NUMBER@cloudservices.gserviceaccount.com
:Adicione outro papel, Usuário da rede do Compute (
compute.networkUser
) no nível do projeto. Esta é uma requisito para grupos gerenciados de instâncias usados com a VPC compartilhada porque ela executa tarefas como instâncias criação.
Editar permissões para contas de serviço do GKE
No projeto host, edite as permissõ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 outro papel, compute.networkUser
, usando uma das
seguintes opções:
Conceda esse papel no nível da sub-rede para permitir que uma conta de serviço configure os peerings de VPC exigidos pelo Cloud Composer. Nesse caso, especifique explicitamente a sub-rede a ser usada pelo ambiente, porque o cluster do ambiente pode não ter permissões para encontrar a sub-rede na rede.
Conceda esse papel no nível do projeto para todo o projeto host. Neste caso de serviço, a conta de serviço do GKE permissões para usar qualquer sub-rede no projeto host.
Editar permissões da conta de serviço do GKE do projeto de serviço
No projeto host, edite as permissões da conta de serviço do GKE do projeto de serviço.
Para essa conta, adicione outro papel no nível do projeto,
Usuário do agente de serviço de host do Kubernetes Engine
(roles/container.hostServiceAgentUser
).
Isso permite que a conta de serviço do GKE do projeto de serviço use a conta de serviço do GKE do projeto host para configurar recursos de rede compartilhados.
(IP privado, opcional) Configurar regras de firewall e conectividade aos domínios do Google
Em uma configuração de VPC compartilhada com ambientes de IP privado, como opção,
convém rotear todo o tráfego para APIs e serviços do Google por meio
vários endereços IP que pertencem ao domínio private.googleapis.com
e
e configure as regras de firewall correspondentes. Nessa configuração, seu
acessa as APIs e os serviços do Google somente por meio de endereços IP
e roteável pelo Google Cloud. Se a configuração da VPC compartilhada usar o VPC Service Controls, roteie o tráfego por restricted.googleapis.com
.
Se a configuração da VPC compartilhada usa ambientes de IP particular:
- (Opcional) Configure a conectividade com as APIs e os serviços do Google.
- (Opcional) Configurar regras de firewall.
Se a configuração da VPC compartilhada usar o VPC Service Controls, use as instruções para ambientes com o VPC Service Controls:
Conclusão
Você terminou de configurar a rede VPC compartilhada para projetos de serviço e host.
Agora é possível criar novos ambientes no projeto de serviço que usam o host na rede VPC do seu projeto.
A seguir
- Crie um ambiente do Cloud Composer e forneça a rede e a sub-rede do projeto host como parâmetros de configuração.