Nesta página, descrevemos como criar e gerenciar recursos de conexão VPN do Google Distributed Cloud em uma zona do Distributed Cloud.
Essa funcionalidade está disponível apenas em racks do Distributed Cloud. Os servidores do Distributed Cloud não são compatíveis com recursos de conexão VPN.
Para mais informações sobre as conexões VPN do Distributed Cloud, consulte Como o Distributed Cloud funciona.
Lembre-se:
É preciso configurar sua rede para permitir o tráfego necessário pelas conexões de VPN do Distributed Cloud.
Ao criar uma conexão do Distributed Cloud VPN, o Distributed Cloud cria os recursos necessários do gateway do Cloud VPN e do Cloud Router. O nome do gateway do Cloud VPN tem o prefixo
anthos-mcc. O nome do Cloud Router tem o prefixogdce. Não modifique esses recursos. Caso contrário, a conexão do Distributed Cloud VPN poderá parar de funcionar. Se você modificar esses recursos por engano, exclua e recrie a conexão afetada do Distributed Cloud VPN.O Distributed Cloud cria um único Cloud Router por projeto Google Cloud por região quando você cria sua primeira conexão VPN do Distributed Cloud nesse projetoGoogle Cloud e região. Todas as conexões VPN criadas posteriormente nesse projeto e região reutilizam o mesmo recurso do Cloud Router. Google Cloud
Um recurso do Cloud Router só pode ser excluído quando não há interfaces de rede secundárias anexadas a ele. O Distributed Cloud exclui automaticamente um Cloud Router quando você exclui a última conexão VPN restante anexada a ele.
As conexões do Distributed Cloud VPN são compatíveis apenas com endereços IPv4.
Só é possível criar uma conexão VPN por cluster do Distributed Cloud.
Se a rede local usar vários gateways de conversão de endereços de rede (NAT), configure-os para que a instalação do Distributed Cloud use um único endereço IP para o tráfego de saída para a rede de nuvem privada virtual (VPC).
Por padrão, o Distributed Cloud configura um único cliente VPN em um único nó para se conectar ao Google Cloud usando dois túneis VPN, também conhecidos comoVPN de alta disponibilidadeno Google Cloud final. É possível aumentar ainda mais a disponibilidade da conexão VPN usando a flag
--high-availability. Essa flag instrui o Distributed Cloud a configurar dois clientes de VPN em dois nós separados para um total de quatro túneis de VPN.É necessário excluir e recriar uma conexão VPN se você quiser mudar a configuração dela.
É possível gerenciar conexões VPN usando a Google Cloud CLI ou a API Distributed Cloud Edge Container.
Criar uma conexão VPN
Para criar uma conexão da VPN do Distributed Cloud, siga as etapas nesta seção.
Para concluir essa tarefa, você precisa ter o papel de
Administrador de contêineres de borda
(roles/edgecontainer.admin) no seu projeto Google Cloud .
gcloud
Use o comando gcloud edge-cloud container vpn-connections create:
gcloud edge-cloud container vpn-connections create VPN_CONNECTION_NAME \
--project=PROJECT_ID \
--location=REGION \
--cluster=CLUSTER_NAME \
--vpc-network=VPC_NETWORK_NAME \
--nat-gateway-ip=NAT_GATEWAY_IP \
--router=ROUTER_NAME \
--high-availability
Substitua:
VPN_CONNECTION_NAME: um nome descritivo que identifica de forma exclusiva essa conexão VPN.PROJECT_ID: o ID do projeto Google Cloud de destino.REGION: a região do Google Cloud em que a zona de destino do Distributed Cloud é criada.CLUSTER_NAME: o nome do cluster de destino do Distributed Cloud.VPC_NETWORK_NAME: o nome da rede VPC de destino a que essa conexão VPN aponta. Essa rede precisa estar no mesmo projeto do Google Cloud que a instalação do Distributed Cloud.NAT_GATEWAY_IP: o endereço IP do gateway NAT para o cluster de destino. Omita essa flag se você não estiver usando NAT.ROUTER_NAME(opcional): especifica um recurso do Cloud Router para usar nessa conexão VPN. Caso contrário, o Distributed Cloud cria um Cloud Router automaticamente se ainda não houver um no projeto e na região de destino doGoogle Cloud .--high-availability(opcional): configura essa conexão VPN para alta disponibilidade no lado do cluster ao configurar dois clientes VPN separados que são executados em dois nós separados. Para desativar a alta disponibilidade, omita essa flag.
API
Faça uma solicitação POST ao método projects.locations.vpnConnections.create:
POST /v1/PROJECT_ID/locations/REGION/vpnConnections?vpnConnectionId=VPN_CONNECTION_ID&requestId=REQUEST_ID
{
"name": string,
"labels": {
},
"natGatewayIp": NAT_GATEWAY,
"cluster": CLUSTER_PATH,
"vpc": VPC_NETWORK_ID
"enableHighAvailability": HA_ENABLE,
"router": ROUTER_NAME,
}
Substitua:
PROJECT_ID: o ID do projeto Google Cloud de destino.REGION: a Google Cloud região em que a zona de destino do Distributed Cloud é criada.VPN_CONNECTION_ID: um ID programático exclusivo que identifica esse recurso de pool de nós.REQUEST_ID: um ID programático exclusivo que identifica esta solicitação.VPN_CONNECTION_NAME: um nome descritivo que identifica de forma exclusiva essa conexão VPN.NAT_GATEWAY: o endereço IP do seu gateway NAT.CLUSTER_PATH: o caminho canônico completo para o cluster de destino.VPC_NETWORK_ID: o ID da rede VPC de destino.HA_ENABLE: indica se é necessário configurar essa conexão VPN para alta disponibilidade no lado do cluster. Se definido comoTRUE, configura dois clientes VPN separados que são executados em dois nós separados.ROUTER_NAME(opcional): especifica um recurso do Cloud Router para usar nessa conexão VPN. Caso contrário, o Distributed Cloud cria um Cloud Router automaticamente se ainda não houver um no projeto e na região de destino doGoogle Cloud .
Listar conexões VPN
Para listar as conexões VPN provisionadas para um cluster do Distributed Cloud, siga as etapas nesta seção.
Para concluir essa tarefa, você precisa ter o papel de Leitor do Edge Container (roles/edgecontainer.viewer) no projeto Google Cloud .
gcloud
Use o comando gcloud edge-cloud container vpn-connections list:
gcloud edge-cloud container vpn-connections list \
--project=PROJECT_ID \
--location=REGION
Substitua:
PROJECT_ID: o ID do projeto Google Cloud de destino.REGION: a Google Cloud região em que a zona de destino do Distributed Cloud é criada.
API
Faça uma solicitação GET ao método projects.locations.vpnConnections.list:
GET /v1/PROJECT_ID/locations/REGION/vpnConnections?filter=FILTER&pageSize=PAGE_SIZE&orderBy=SORT_BY&pageToken=PAGE_TOKEN
Substitua:
PROJECT_ID: o ID do projeto Google Cloud de destino.REGION: a Google Cloud região em que a zona de destino do Distributed Cloud é criada.FILTER: uma expressão que restringe os resultados retornados a valores específicos.PAGE_SIZE: o número de resultados a serem retornados por página.SORT_BY: uma lista delimitada por vírgulas de nomes de campos pelos quais os resultados retornados são classificados. A ordem de classificação padrão é crescente. Para classificar em ordem decrescente, adicione o prefixo~ao campo desejado.PAGE_TOKEN: um token recebido na resposta à última solicitação de lista no camponextPageTokenda resposta. Envie esse token para receber uma página de resultados.
Receber informações sobre uma conexão VPN
Para informações sobre uma conexão de VPN do Distributed Cloud, siga as etapas desta seção.
Para concluir essa tarefa, você precisa ter o papel de Leitor do Edge Container (roles/edgecontainer.viewer) no projeto Google Cloud .
gcloud
Use o comando gcloud edge-cloud container vpn-connections describe:
gcloud edge-cloud container vpn-connections describe VPN_CONNECTION_NAME \
--project=PROJECT_ID \
--location=REGION
Substitua:
VPN_CONNECTION_NAME: o nome da conexão VPN de destino.PROJECT_ID: o ID do projeto Google Cloud de destino.REGION: a Google Cloud região em que a zona de destino do Distributed Cloud é criada.
API
Faça uma solicitação GET ao método projects.locations.vpnConnections.get:
GET /v1/PROJECT_ID/locations/REGION/vpnConnections/VPN_CONNECTION_NAME
Substitua:
PROJECT_ID: o ID do projeto Google Cloud de destino.REGION: a Google Cloud região em que a zona de destino do Distributed Cloud é criada.VPN_CONNECTION_NAME: o nome da conexão VPN de destino.
Excluir uma conexão VPN
Para excluir uma conexão da VPN do Distributed Cloud, siga as etapas desta seção.
Se você estiver excluindo a última conexão VPN restante associada a um
recurso do Cloud Router que o Distributed Cloud
criou anteriormente no projeto Google Cloud ,
a exclusão da conexão VPN exclui automaticamente o recurso associado do
Cloud Router. No entanto, somente os recursos do Cloud Router
criados automaticamente pelo Distributed Cloud serão
excluídos automaticamente nessa situação. O Distributed Cloud não exclui os recursos do Cloud Router especificados usando a flag --router.
Para concluir essa tarefa, você precisa ter o papel de
Administrador de contêineres de borda
(roles/edgecontainer.admin) no seu projeto Google Cloud .
gcloud
Use o comando gcloud edge-cloud container vpn-connections delete:
gcloud edge-cloud container vpn-connections delete VPN_CONNECTION_NAME \
--location=REGION \
--project=PROJECT_ID
Substitua:
VPN_CONNECTION_NAME: um nome descritivo que identifica de forma exclusiva essa conexão VPN.REGION: a região do Google Cloud em que a zona de destino do Distributed Cloud é criada.PROJECT_ID: o ID do projeto Google Cloud de destino.
API
Faça uma solicitação DELETE ao método projects.locations.vpnConnections.delete:
DELETE /v1/PROJECT_ID/locations/REGION/vpnConnections/VPN_CONNECTION_NAME?requestId=REQUEST_ID
Substitua:
PROJECT_ID: o ID do projeto Google Cloud de destino.REGION: a Google Cloud região em que a zona de destino do Distributed Cloud é criada.VPN_CONNECTION_NAME: o nome da conexão VPN de destino.REQUEST_ID: um ID programático exclusivo que identifica esta solicitação.
Gerenciar conexões VPN entre projetos
O Distributed Cloud também permite criar conexões VPN com redes VPC em um projeto Google Cloud que é diferente do projeto Google Cloud que contém seu cluster do Distributed Cloud.
Pré-requisitos
É necessário atender aos pré-requisitos desta seção antes de criar conexões VPN entre projetos.
Permissões da conta do autor da chamada
A conta de usuário do autor da chamada no projeto de VPC de destino precisa ter as
seguintes permissões. Essas permissões estão encapsuladas no
papel de administrador do IAM do projeto
(roles/resourcemanager.projectIamAdmin):
resourcemanager.projects.getresourcemanager.projects.getIamPolicyresourcemanager.projects.setIamPolicy
Para saber como definir papéis e permissões do IAM, consulte Gerenciar o acesso a projetos, pastas e organizações.
Permissões da conta de serviço do Distributed Cloud
Para permitir que o Distributed Cloud crie os recursos do Cloud Router e do Cloud VPN no projeto da VPC de destino que ativa a conexão VPN entre projetos, conceda o papel de administrador de rede do Compute (roles/compute.networkAdmin) à conta de serviço do Distributed Cloud no cluster do Distributed Cloud.
Para conceder o papel de administrador de rede do Compute, faça o seguinte:
gcloud
Use o comando gcloud projects add-iam-policy-binding:
gcloud projects add-iam-policy-binding VPC_PROJECT_ID \
--member="serviceAccount:service-PROJECT_NUM@gcp-sa-edgecontainer.iam.gserviceaccount.com" \
--role="roles/compute.networkAdmin" \
--project=VPC_PROJECT_ID
Substitua:
VPC_PROJECT_ID: o ID do projeto da VPC de destino.PROJECT_NUM: o número do projeto de destino do Distributed Cloud Google Cloud .
Criar uma conexão VPN entre projetos
Para criar uma conexão VPN com uma rede VPC em um projetoGoogle Cloud diferente, siga as etapas desta seção.
gcloud
Use o comando gcloud edge-cloud container vpn-connections create:
gcloud edge-cloud container vpn-connections create VPN_CONNECTION_NAME \
--project=PROJECT_ID \
--location=REGION \
--cluster=CLUSTER_NAME \
--vpc-project=VPC_PROJECT_ID \
--vpc-network=VPC_NETWORK_NAME \
--nat-gateway-ip=NAT_GATEWAY_IP \
--high-availability
Substitua:
VPN_CONNECTION_NAME: um nome descritivo que identifica de forma exclusiva essa conexão VPN.PROJECT_ID: o ID do projeto do cluster de destino do Distributed Cloud Google Cloud .REGION: a Google Cloud região em que a zona de destino do Distributed Cloud é criada.CLUSTER_NAME: o nome do cluster de destino do Distributed Cloud.VPC_PROJECT_ID: o ID do projeto de destino Google Cloud que contém a rede VPC de destino.VPC_NETWORK_NAME: o nome da rede VPC de destino a que essa conexão VPN aponta.NAT_GATEWAY_IP: o endereço IP do gateway NAT para o cluster de destino. Omita essa flag se você não estiver usando NAT.--high-availability(opcional): configura essa conexão VPN para alta disponibilidade no lado do cluster configurando dois clientes VPN separados que são executados em dois nós separados. Para desativar a alta disponibilidade, omita essa flag.
API
Faça uma solicitação POST ao método projects.locations.vpnConnections.create:
POST /v1/PROJECT_ID/locations/REGION/vpnConnections?vpnConnectionId=VPN_CONNECTION_ID&requestId=REQUEST_ID
{
"name": string,
"labels": {
},
"natGatewayIp": NAT_GATEWAY,
"cluster": CLUSTER_PATH,
"vpc": VPC_NETWORK_ID,
"vpcProject": VPC_PROJECT_ID,
"vpcServiceAccount": var>VPC_PROJECT_SERVICE_ACCOUNT,
"enableHighAvailability": HA_ENABLE,
}
Substitua:
PROJECT_ID: o ID do projeto Google Cloud de destino.REGION: a Google Cloud região em que a zona de destino do Distributed Cloud é criada.VPN_CONNECTION_ID: um ID programático exclusivo que identifica esse recurso de pool de nós.REQUEST_ID: um ID programático exclusivo que identifica esta solicitação.VPN_CONNECTION_NAME: um nome descritivo que identifica de forma exclusiva essa conexão VPN.NAT_GATEWAY: o endereço IP do seu gateway NAT.CLUSTER_PATH: o caminho canônico completo para o cluster de destino.VPC_NETWORK_ID: o ID da rede VPC de destino.VPC_PROJECT_ID: o ID do projeto de Google Cloud destino que contém a rede VPC de destino.HA_ENABLE: indica se é necessário configurar essa conexão VPN para alta disponibilidade no lado do cluster. Se definido comoTRUE, configura dois clientes VPN separados que são executados em dois nós separados.
Registros de auditoria do Cloud para conexões VPN entre projetos
Quando você cria uma conexão VPN entre projetos, os registros de auditoria do Cloud são gravados da seguinte maneira:
- Os registros de auditoria do cluster do Distributed Cloud registram a operação de longa duração, a autenticação e as informações de autorização da conexão VPN entre projetos. Essas informações incluem o autor da chamada da operação de criação e as permissões concedidas ou negadas a ele.
- Os registros de auditoria do projeto da VPC de destino registram informações sobre os recursos Google Cloud que ativam a conexão VPN entre projetos, como os recursos do Cloud Router e do Cloud VPN. O usuário que acessa esses recursos é a conta de serviço do Distributed Cloud a que você concedeu o papel de agente de serviço do Edge Container (
roles/edgecontainer.serviceAgent).
Limitações das conexões VPN
Se você modificar o pool de nós do cluster em que criou uma conexão VPN específica, será necessário excluir e recriar essa conexão. Caso contrário, um comportamento inesperado pode ocorrer, incluindo:
- Perda intermitente da conectividade VPN
- Não é possível criar conexões VPN nos outros clusters na zona do Distributed Cloud.
Limitações das conexões VPN entre projetos
Além disso, as conexões VPN entre projetos têm as seguintes limitações:
- O recurso de conexão VPN entre projetos existe apenas no cluster do Distributed Cloud.
- Se você alterar as permissões na conta de serviço do Distributed Cloud no projeto da VPC de destino, não será possível excluir a conexão VPN entre projetos do cluster do Distributed Cloud.
A seguir
- Implantar cargas de trabalho no Google Distributed Cloud
- Gerenciar zonas
- Criar e gerenciar clusters
- Criar e gerenciar pools de nós
- Gerenciar máquinas virtuais
- Gerenciar cargas de trabalho de GPU