Criar um gateway de VPN e um gateway de peering

Esta página descreve como criar um gateway de VPN ou um recurso de gateway de peering.

Os gateways de VPN fornecem conectividade segura entre vários sites, como data centers locais e ambientes de nuvem. Há dois componentes de gateway para configurar para a VPN isolada do Google Distributed Cloud (GDC):

  • Um gateway de VPN no GDC.
  • Seu gateway de VPN de peering. Esse é um dispositivo de gateway de VPN física ou um aplicativo de software na rede de peering a que o gateway de VPN se conecta. O gateway de peering pode ser um gateway de VPN local ou hospedado por outro provedor de nuvem.

Antes de começar

Para gerenciar ou visualizar recursos de VPN no console do GDC, você precisa ter os papéis de identidade e acesso necessários:

  • Administrador de VPN: tem permissões de leitura e gravação em todos os recursos relacionados à VPN. Peça ao administrador do IAM da organização para conceder a você o papel de administrador de VPN (vpn-admin).
  • Visualizador de VPN: tem permissões de leitura em todos os recursos relacionados à VPN. Peça ao administrador do IAM da organização para conceder a você o papel de visualizador de VPN (vpn-viewer).
  • Para mais informações, consulte Definições de papéis.

Criar um gateway de VPN

Para criar um gateway de VPN, siga estas etapas:

  1. Especifique um nome de interface no gateway para representar o endereço IP. Quando o gateway é criado, um endereço IPv4 externo é alocado automaticamente. Crie o objeto de gateway de VPN no namespace da plataforma:

    kubectl --kubeconfig MANAGEMENT_API_SERVER create -n platform -f - <<EOF
    apiVersion: networking.gdc.goog/v1
    kind: VPNGateway
    metadata:
      name: VPN_GW_NAME
    spec:
      interfaces:
      - name: VPN_INTERFACE_NAME
    EOF
    

    Substitua:

    • MANAGEMENT_API_SERVER: o caminho kubeconfig do servidor da API zonal. Se você ainda não gerou um arquivo kubeconfig para o servidor da API na zona de destino, consulte Fazer login para mais detalhes.
    • VPN_GW_NAME: o nome do objeto de gateway de VPN. Por exemplo, vpngateway.
    • VPN_INTERFACE_NAME: o nome da interface de VPN. Por exemplo, interface0.
  2. Verifique se o objeto VPN_GW_NAME foi reconciliado corretamente examinando o campo Status. Confira os detalhes do objeto de gateway de VPN:

    kubectl --kubeconfig MANAGEMENT_API_SERVER describe -n platform vpngateway VPN_GW_NAME
    

    Examine a saída. Ela precisa ser semelhante ao exemplo a seguir:

    
    status:
      conditions:
      - lastTransitionTime: "2024-05-10T00:12:58Z"
        message: All interfaces are assigned an IP.
        observedGeneration: 1
        reason: Ready
        status: "True"
        type: IPsAssigned
      - lastTransitionTime: "2024-05-10T00:12:36Z"
        message: Condition "TunnelsAttached" is not ready.
        observedGeneration: 1
        reason: NotReady
        status: "False"
        type: Ready
      - lastTransitionTime: "2024-05-10T00:12:36Z"
        message: 'At least one interface is not attached to any VPNTunnel: ["interface0"]'
        observedGeneration: 1
        reason: NoTunnelAttached
        status: "False"
        type: TunnelsAttached
      interfaces:
      - ip: 10.252.218.240
        name: interface0
    

O objeto VPNGateway precisa ser anexado a um VPNTunnel. Essa etapa é abordada em Criar um túnel de VPN.

Criar um gateway de VPN de peering

Crie um gateway de VPN de peering criando um objeto PeerGateway no servidor da API Management. O objeto PeerGateway representa um endpoint de VPN remoto. Uma interface em um objeto PeerGateway é usada por um túnel de VPN para estabelecer um túnel criptografado no site remoto. Para criar um gateway de VPN de peering, siga estas etapas:

  1. Especifique um nome de interface e o endereço IPv4 externo estático do gateway de VPN de peering. O objeto PeerGateway precisa ser criado no namespace da plataforma:

    kubectl --kubeconfig MANAGEMENT_API_SERVER create -n platform -f - <<EOF
    apiVersion: networking.gdc.goog/v1
    kind: PeerGateway
    metadata:
      name: PEER_GW_NAME
    spec:
      interfaces:
      - name: PEER_INTERFACE_NAME
        ip: PEER_INTERFACE_IP
    EOF
    

    Substitua:

    • PEER_GW_NAME: o nome do gateway de VPN de peering. Por exemplo, peergateway.
    • PEER_INTERFACE_NAME: o nome da interface de peering. Por exemplo, interface0.
    • PEER_INTERFACE_IP: o endereço IPv4 externo estático do gateway de VPN de peering.
  2. Verifique se o objeto PEER_GW_NAME foi reconciliado corretamente examinando o campo Status.

    Confira os detalhes do objeto de gateway de VPN de peering:

    kubectl --kubeconfig MANAGEMENT_API_SERVER describe -n platform peergateway PEER_GW_NAME
    

    Examine a saída. Ela precisa ser semelhante ao exemplo a seguir:

    Status:
      Conditions:
        Last Transition Time:  2024-05-10T00:15:25Z
        Message:               Condition "TunnelsAttached" is not ready.
        Observed Generation:   1
        Reason:                NotReady
        Status:                False
        Type:                  Ready
        Last Transition Time:  2024-05-10T00:20:45Z
        Message:               Ready
        Observed Generation:   1
        Reason:                Ready
        Status:                True
        Type:                  ValidGatewayIPs
        Last Transition Time:  2024-05-10T00:15:25Z
        Message:               At least one interface is not attached to any VPNTunnel: ["interface0"]
        Observed Generation:   1
        Reason:                NoTunnelAttached
        Status:                False
        Type:                  TunnelsAttached
    

    O objeto PeerGateway precisa ser referenciado por um VPNTunnel. Essa etapa é abordada em Criar um túnel de VPN.

A seguir