As instâncias do Google Cloud Managed Lustre são provisionadas em uma rede gerenciada pelo Google que se conecta à nuvem privada virtual (VPC) usando o acesso a serviços particulares.
É possível conectar a instância do Managed Lustre a VMs do Compute Engine ou clusters do Google Kubernetes Engine usando uma das seguintes configurações de rede:
Mesma rede VPC: conecte os recursos do cliente e a instância do Managed Lustre à mesma rede VPC.
Redes VPC separadas: implante os recursos do cliente em uma rede VPC separada e conecte as duas redes usando o Network Connectivity Center. Para instruções sobre como configurar o NCC, consulte a documentação do Network Connectivity Center.
Para ambas as configurações, siga as instruções desta página para configurar a rede VPC em que a instância do Managed Lustre será provisionada. Se você estiver usando redes VPC separadas, as instruções incluirão um destaque com as etapas necessárias para a rede VPC do cliente.
Permissões necessárias
Você precisa ter as seguintes permissões do IAM:
serviceusage.services.enablecompute.networks.createcompute.addresses.createcompute.addresses.getcompute.firewalls.createservicenetworking.services.addPeering
Essas permissões podem ser concedidas adicionando todos os seguintes papéis predefinidos:
- Administrador do Service Usage (
roles/serviceusage.serviceUsageAdmin) - Administrador de rede do Compute (
roles/compute.networkAdmin) - Administrador de segurança do Compute (
roles/compute.securityAdmin)
Ou crie um papel personalizado que contenha as permissões específicas.
Para conceder um papel a um usuário:
Google Cloud Console do
No Google Cloud console, acesse a página IAM.
Clique em Conceder acesso.
No campo Novos principais, insira o endereço de e-mail do usuário.
No menu suspenso Selecionar um papel, escolha o papel a ser concedido.
Para conceder vários papéis, clique em Adicionar outro papel e selecione o próximo papel.
Clique em Salvar.
gcloud
gcloud projects add-iam-policy-binding PROJECT_ID \
--member="user:EMAIL_ADDRESS" \
--role=ROLE
Criar e fazer peering da VPC
Para criar uma rede VPC e configurar uma conexão de acesso a serviços particulares para o Managed Lustre, siga estas etapas:
Google Cloud Console do
Ative a API Service Networking.
Crie uma rede VPC no modo personalizado:
No Google Cloud console do, acesse a página Redes VPC.
Clique em Criar rede VPC.
Digite um Nome para a rede.
Desmarque Definir MTU automaticamente e insira
8896no campo Unidade de transmissão máxima (MTU).Em Modo de criação de sub-rede, selecione Personalizado.
Crie uma sub-rede principal para seus recursos do GKE ou do Compute Engine:
- Na seção Nova sub-rede, insira um Nome para a sub-rede.
- Selecione uma Região.
- No campo Intervalo IPv4, insira o intervalo IPv4 principal (por exemplo,
10.128.0.0/20). - Clique em Concluído.
- Clique em Criar para criar a rede VPC.
Alocar um intervalo de IP para acesso a serviços particulares.
Esse intervalo de IP interno é usado para a conexão de acesso a serviços particulares, que faz peering da rede VPC com a rede gerenciada pelo Google em que os recursos do Managed Lustre são provisionados. Esse intervalo alocado é usado para fornecer IPs para instâncias do Managed Lustre e não pode se sobrepor a nenhuma sub-rede na rede VPC.
Cada instância do Managed Lustre requer um bloco CIDR contíguo com um comprimento de prefixo de pelo menos 23.
Recomendamos criar um intervalo de IP maior de /20 para permitir a criação de várias instâncias do Managed Lustre ou o uso de outros Google Cloud serviços.
- Na página Redes VPC, clique no nome da rede VPC.
- Selecione a guia Acesso a serviços particulares.
- Selecione a guia Intervalos de IP alocados para serviços.
- Clique em Alocar intervalo de IP.
- Insira um Nome e uma Descrição para o intervalo alocado (por exemplo,
Managed Lustre VPC Peering). - Especifique o intervalo de endereços IP:
- Para permitir que o Google selecione um intervalo disponível, selecione Automático e insira um comprimento de prefixo de
20. - Para especificar um intervalo específico, selecione Personalizado e insira um bloco CIDR com um comprimento de prefixo de pelo menos
/23(como10.128.0.0/20). - Clique em Alocar.
Anote o bloco CIDR associado ao intervalo alocado.
Na tabela Intervalos de IP alocados para serviços, encontre o intervalo criado e anote o valor na coluna Intervalo de IP interno (por exemplo,
10.128.0.0/20). Você vai especificar esse intervalo como a origem na próxima etapa.-
- No Google Cloud console, acesse a página Políticas de firewall.
Acesse as políticas de firewall
- Clique em Criar regra de firewall.
- Digite um Nome para a regra de firewall.
- No campo Rede, selecione a rede VPC.
- Em Direção de tráfego, selecione Entrada.
- Em Ação se houver correspondência, selecione Permitir.
- Em Destinos, selecione Todas as instâncias na rede.
- Em Filtro de origem, selecione Intervalos IPv4.
- No campo Intervalos IPv4 de origem, insira o bloco CIDR do intervalo alocado anotado na etapa anterior.
- Em Protocolos e portas, selecione Portas e protocolos especificados.
- Marque a caixa de seleção TCP e insira
988, 6988no campo Portas. - Clique em Criar.
Para redes VPC separadas: se as VMs do cliente ou os clusters do GKE residirem em uma rede VPC separada conectada pelo Network Connectivity Center, as regras de firewall nas duas redes VPC precisarão permitir o tráfego do intervalo de IP alocado. Repita a etapa Criar uma regra de firewall ... para criar uma regra de firewall na rede VPC do cliente que permita o tráfego TCP de entrada nas portas
988e6988do bloco CIDR alocado. Estabeleça a conexão de acesso a serviços particulares.
Essa conexão é necessária apenas na rede VPC em que a instância do Managed Lustre é provisionada.
- Na página Redes VPC, clique no nome da rede VPC.
- Selecione a guia Acesso a serviços particulares.
- Selecione a guia Conexões particulares com os serviços.
- Clique em Criar conexão.
- Na lista Alocação atribuída, selecione o intervalo de IP alocado que você criou.
- Clique em Conectar.
gcloud
Ative o Service Networking.
gcloud services enable servicenetworking.googleapis.comCrie uma rede VPC no modo personalizado.
gcloud compute networks create NETWORK_NAME \ --subnet-mode=custom \ --mtu=8896Crie uma sub-rede principal para seus recursos do GKE ou do Compute Engine.
gcloud compute networks subnets create SUBNET_NAME \ --network=NETWORK_NAME \ --range=10.128.0.0/20 \ --region=REGIONAlocar um intervalo de IP para acesso a serviços particulares.
Esse intervalo de IP interno é usado para a conexão de acesso a serviços particulares, que faz peering da rede VPC com a rede gerenciada pelo Google em que os recursos do Managed Lustre são provisionados. Esse intervalo alocado é usado para fornecer IPs para instâncias do Managed Lustre e não pode se sobrepor a nenhuma sub-rede na rede VPC.
Cada instância do Managed Lustre requer um bloco CIDR contíguo com um comprimento de prefixo de pelo menos 23.
Recomendamos criar um intervalo de IP maior de /20 para permitir a criação de várias instâncias do Managed Lustre ou o uso de outros Google Cloud serviços.
gcloud compute addresses create IP_RANGE_NAME \ --global \ --purpose=VPC_PEERING \ --prefix-length=20 \ --description="Managed Lustre VPC Peering" \ --network=NETWORK_NAMEReceba o bloco CIDR associado ao intervalo criado na etapa anterior.
CIDR_BLOCK=$( gcloud compute addresses describe IP_RANGE_NAME \ --global \ --format="value[separator=/](address, prefixLength)" )-
gcloud compute firewall-rules create FIREWALL_NAME \ --allow=tcp:988,tcp:6988 \ --network=NETWORK_NAME \ --source-ranges=$CIDR_BLOCKPara redes VPC separadas: se as VMs do cliente ou os clusters do GKE residirem em uma rede VPC separada conectada pelo Network Connectivity Center, as regras de firewall nas duas redes VPC precisarão permitir o tráfego do intervalo de IP alocado (
$CIDR_BLOCK). Execute ofirewall-rules createcomando uma segunda vez para criar a regra de firewall na rede VPC do cliente:gcloud compute firewall-rules create CLIENT_FIREWALL_NAME \ --allow=tcp:988,tcp:6988 \ --network=CLIENT_NETWORK_NAME \ --source-ranges=$CIDR_BLOCK
Estabeleça a conexão de acesso a serviços particulares.
gcloud services vpc-peerings connect \ --network=NETWORK_NAME \ --ranges=IP_RANGE_NAME \ --service=servicenetworking.googleapis.comEssa conexão é necessária apenas na rede VPC em que a instância do Managed Lustre é provisionada.
Criar sub-redes adicionais para várias placas de rede
Se você planeja usar várias placas de interface de rede (várias placas de rede) para agregar largura de banda, crie uma sub-rede separada na rede VPC para cada placa de rede.
Para aproveitar várias placas de rede, use tipos de máquinas do Compute Engine com várias placas de rede físicas anexadas a VPCs normais. As placas de rede que se conectam a VPCs com perfis de rede RDMA não podem ser usadas para aumentar a largura de banda geral da rede. Consulte Máquinas de rede e GPU para mais detalhes.
Para criar uma sub-rede para uma placa de rede física adicional:
Google Cloud Console do
No Google Cloud console do, acesse a página Redes VPC.
Clique no nome da rede VPC.
Clique em Adicionar sub-rede.
Na seção Nova sub-rede:
- Insira um Nome para a sub-rede.
- Selecione uma Região.
- Insira um Intervalo de endereços IP (por exemplo,
10.130.0.0/20). - Clique em Adicionar.
gcloud
gcloud compute networks subnets create SUBNET_NAME_2 \
--network=NETWORK_NAME \
--range=10.130.0.0/20 \
--region=REGION
Repita essa etapa para cada placa de rede adicional. Verifique se os intervalos de IP de cada sub-rede não se sobrepõem.
VPC Service Controls
O Managed Lustre oferece suporte ao VPC Service Controls (VPC-SC). Consulte Proteger instâncias com um perímetro de serviço para mais detalhes.
Solução de problemas de configuração da VPC
Permissão negada para adicionar peering ao serviço servicenetworking.googleapis.com
ERROR: (gcloud.services.vpc-peerings.connect) User [$(USER)] does not have
permission to access services instance [servicenetworking.googleapis.com]
(or it may not exist): Permission denied to add peering for service
'servicenetworking.googleapis.com'.
Esse erro significa que você não tem a permissão do IAM servicenetworking.services.addPeering na sua conta de usuário.
Consulte Controle de acesso com o IAM para instruções sobre como adicionar um dos seguintes papéis à sua conta:
roles/compute.networkAdminouroles/servicenetworking.networksAdmin
Não é possível modificar intervalos alocados em CreateConnection
ERROR: (gcloud.services.vpc-peerings.connect) The operation
"operations/[operation_id]" resulted in a failure "Cannot modify allocated
ranges in CreateConnection. Please use UpdateConnection."
Esse erro é retornado quando você já criou um peering de VPC nessa rede com intervalos de IP diferentes. Há duas soluções possíveis:
Substitua os intervalos de IP atuais:
Google Cloud Console do
No Google Cloud console do, acesse a página Redes VPC.
Clique no nome da rede VPC.
Selecione a guia Acesso a serviços particulares.
Na guia Acesso a serviços particulares, selecione a guia Conexões particulares com os serviços.
Clique no nome da conexão (como
servicenetworking-googleapis-com).Na lista Alocação atribuída, selecione o novo intervalo alocado e desmarque as caixas de seleção de todos os intervalos alocados que você quer substituir.
Clique em Salvar.
gcloud
gcloud services vpc-peerings update \
--network=NETWORK_NAME \
--ranges=IP_RANGE_NAME \
--service=servicenetworking.googleapis.com \
--force
Ou adicione o novo intervalo de IP à conexão atual:
Google Cloud Console do
No Google Cloud console do, acesse a página Redes VPC.
Clique no nome da rede VPC.
Selecione a guia Acesso a serviços particulares.
Na guia Acesso a serviços particulares, selecione a guia Conexões particulares com os serviços.
Clique no nome da conexão.
Na lista Alocação atribuída, mantenha os intervalos alocados atuais selecionados e selecione o novo intervalo alocado.
Clique em Salvar.
gcloud
Extraia a lista de intervalos de IP atuais para o peering:
EXISTING_RANGES="$( gcloud services vpc-peerings list \ --network=NETWORK_NAME \ --service=servicenetworking.googleapis.com \ --format="value(reservedPeeringRanges.list())" \ --flatten=reservedPeeringRanges )Em seguida, adicione o novo intervalo ao peering:
gcloud services vpc-peerings update \ --network=NETWORK_NAME \ --ranges="${EXISTING_RANGES}",IP_RANGE_NAME \ --service=servicenetworking.googleapis.com