Esta página descreve como criar e gerenciar recursos de conexão VPN do Google Distributed Cloud conectado em uma zona do Distributed Cloud conectado.
Essa funcionalidade está disponível apenas em racks do Distributed Cloud conectado. Os servidores do Distributed Cloud conectado não oferecem suporte a recursos de conexão VPN.
Para mais informações sobre as conexões VPN do Distributed Cloud, consulte Como o Distributed Cloud conectado funciona.
Lembre-se:
É necessário configurar sua rede para permitir o tráfego exigido pelas conexões VPN do Distributed Cloud.
Ao criar uma conexão VPN do Distributed Cloud, o Distributed Cloud conectado 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 VPN do Distributed Cloud poderá parar de funcionar. Se você modificar esses recursos acidentalmente, exclua e recrie a conexão VPN do Distributed Cloud afetada.O Distributed Cloud conectado cria um único Cloud Router por Google Cloud projeto por região quando você cria sua primeira conexão VPN do Distributed Cloud nesse Google Cloud projeto e região. Todas as conexões VPN criadas posteriormente em that Google Cloud projeto e região reutilizam o mesmo recurso do Cloud Router resource.
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 conectado exclui automaticamente um Cloud Router quando você exclui a última conexão VPN restante anexada a ele.
As conexões VPN do Distributed Cloud oferecem suporte apenas a endereços IPv4.
Só é possível criar uma conexão VPN por cluster do Distributed Cloud conectado.
Se a rede local usar vários gateways de conversão de endereço de rede (NAT), configure-os para que a instalação do Distributed Cloud conectado 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 conectado configura um único cliente VPN em um único nó para se conectar Google Cloud usando dois túneis VPN, também conhecidos como VPN de alta disponibilidade no 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 conectado a configurar dois clientes VPN em dois nós separados para um total de quatro túneis VPN.Exclua e recrie uma conexão VPN se 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 VPN do Distributed Cloud, conclua as etapas desta seção.
Para concluir essa tarefa, você precisa ter o
papel de administrador do contêiner de borda
(roles/edgecontainer.admin) no seu Google Cloud projeto.
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 exclusivamente essa conexão VPN.PROJECT_ID: o ID doprojeto de destino. Google CloudREGION: aregião em que a Google Cloud zona de destino do Distributed Cloud conectado é criada.CLUSTER_NAME: o nome do cluster de destino do Distributed Cloud conectado.VPC_NETWORK_NAME: o nome da rede VPC de destino para a qual essa conexão VPN aponta. Essa rede precisa estar no mesmo Google Cloud projeto que a sua instalação do Distributed Cloud conectado.NAT_GATEWAY_IP: o endereço IP do gateway NAT para o cluster de destino. Omita essa flag se você não estiver usando o NAT.ROUTER_NAME(opcional): especifica um recurso do Cloud Router atual a ser usado para essa conexão VPN. Caso contrário, o Distributed Cloud conectado cria um Cloud Router automaticamente se ele ainda não existir no Google Cloud projeto e na região de destino.--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 para o 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 doprojeto de destino. Google CloudREGION: aregião em que a zona de destino do Distributed Cloud conectado é criada. Google CloudVPN_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 essa solicitação.VPN_CONNECTION_NAME: um nome descritivo que identifica exclusivamente essa conexão VPN.NAT_GATEWAY: o endereço IP do 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 essa conexão VPN será configurada 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 atual a ser usado para essa conexão VPN. Caso contrário, o Distributed Cloud conectado cria um Cloud Router automaticamente se ele ainda não existir no Google Cloud projeto e na região de destino.
Listar conexões VPN
Para listar as conexões VPN provisionadas para um cluster do Distributed Cloud conectado, conclua as etapas desta seção.
Para concluir essa tarefa, você precisa ter o
papel de visualizador do contêiner de borda
(roles/edgecontainer.viewer) noseu Google Cloud projeto.
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 doprojeto de destino. Google CloudREGION: aregião em que a zona de destino do Distributed Cloud é criada. Google Cloud
API
Faça uma solicitação GET para o 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 doprojeto de destino. Google CloudREGION: aregião em que a zona de destino do Distributed Cloud conectado é criada. Google CloudFILTER: 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 separada por vírgulas de nomes de campos pelos quais os resultados retornados são classificados. A ordem de classificação padrão é crescente. Para a ordem de classificação decrescente, prefixe o campo desejado com~.PAGE_TOKEN: um token recebido na resposta à última solicitação de lista no camponextPageTokenna resposta. Envie esse token para receber uma página de resultados.
Receber informações sobre uma conexão VPN
Para receber informações sobre uma conexão VPN do Distributed Cloud, conclua as etapas desta seção.
Para concluir essa tarefa, você precisa ter o
papel de visualizador do contêiner de borda
(roles/edgecontainer.viewer) noseu Google Cloud projeto.
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 doprojeto de destino. Google CloudREGION: aregião em que a zona de destino do Distributed Cloud conectado é criada. Google Cloud
API
Faça uma solicitação GET para o método projects.locations.vpnConnections.get:
GET /v1/PROJECT_ID/locations/REGION/vpnConnections/VPN_CONNECTION_NAME
Substitua:
PROJECT_ID: o ID doprojeto de destino. Google CloudREGION: aregião em que a zona de destino do Distributed Cloud conectado é criada. Google CloudVPN_CONNECTION_NAME: o nome da conexão VPN de destino.
Excluir uma conexão VPN
Para excluir uma conexão VPN do Distributed Cloud, conclua 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 Google Cloud projeto,
a exclusão da conexão VPN exclui automaticamente o recurso do Cloud Router associado. No entanto, somente os recursos do Cloud Router criados automaticamente pelo Distributed Cloud conectado são excluídos automaticamente nessa situação. O Distributed Cloud conectado não exclui recursos do Cloud Router atuais especificados usando a flag --router.
Para concluir essa tarefa, você precisa ter o
papel de administrador do contêiner de borda
(roles/edgecontainer.admin) no seu Google Cloud projeto.
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 exclusivamente essa conexão VPN.REGION: aregião em que a Google Cloud zona de destino do Distributed Cloud conectado é criada.PROJECT_ID: o ID doprojeto de destino. Google Cloud
API
Faça uma solicitação DELETE para o método projects.locations.vpnConnections.delete:
DELETE /v1/PROJECT_ID/locations/REGION/vpnConnections/VPN_CONNECTION_NAME?requestId=REQUEST_ID
Substitua:
PROJECT_ID: o ID doprojeto de destino. Google CloudREGION: aregião em que a zona de destino do Distributed Cloud conectado é criada. Google CloudVPN_CONNECTION_NAME: o nome da conexão VPN de destino.REQUEST_ID: um ID programático exclusivo que identifica essa solicitação.
Gerenciar conexões VPN entre projetos
O Distributed Cloud conectado também permite criar conexões VPN para redes VPC em um Google Cloud projeto que's diferente do Google Cloud projeto que contém o cluster do Distributed Cloud conectado.
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 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 informações sobre 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 conectado crie os recursos do Cloud Router e do Cloud VPN no projeto VPC de destino que permite a conexão VPN entre projetos, você deve conceder 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 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 projeto diferente Google Cloud conclua 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 exclusivamente essa conexão VPN.PROJECT_ID: o ID do projeto de destino do cluster do Distributed Cloud conectado. Google CloudREGION: aregião em que a zona de destino do Distributed Cloud conectado é criada. Google CloudCLUSTER_NAME: o nome do cluster de destino do Distributed Cloud conectado.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 para a qual 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 o 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 para o 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 doprojeto de destino. Google CloudREGION: aregião em que a zona de destino do Distributed Cloud conectado é criada. Google CloudVPN_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 essa solicitação.VPN_CONNECTION_NAME: um nome descritivo que identifica exclusivamente essa conexão VPN.NAT_GATEWAY: o endereço IP do 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 destino Google Cloud que contém a rede VPC de destino.HA_ENABLE: indica se essa conexão VPN será configurada 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
Ao criar 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 conectado registram a operação de longa duração, a autenticação e as informações de autorização para a 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 ao autor da chamada.
- Os registros de auditoria do projeto VPC de destino registram informações
sobre os Google Cloud recursos que permitem a conexão VPN entre projetos, como os recursos do Cloud Router e do Cloud VPN
O autor da chamada que acessa esses recursos é a
conta de serviço do Distributed Cloud conectado à qual você
concedeu o
papel de agente de serviço do contêiner de borda
(
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, exclua e recrie essa conexão VPN. Caso contrário, um comportamento inesperado poderá ocorrer, incluindo:
- Perda intermitente da conectividade VPN
- Incapacidade de criar conexões VPN nos outros clusters na zona do Distributed Cloud conectado
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 conectado.
- Se você alterar as permissões na conta de serviço do Distributed Cloud conectado no projeto VPC de destino, não será possível excluir a conexão VPN entre projetos do cluster do Distributed Cloud conectado.
A seguir
- Implantar cargas de trabalho no Google Distributed Cloud conectado
- Gerenciar zonas
- Criar e gerenciar clusters
- Criar e gerenciar pools de nós
- Gerenciar máquinas virtuais
- Gerenciar cargas de trabalho da GPU