Criar um gateway de VPN e um gateway de peering

Nesta página, descrevemos 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. É 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 par 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 da 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).
  • Leitor 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 leitor 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 do kubeconfig do servidor de 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 do gateway de VPN. Por exemplo, vpngateway.
    • VPN_INTERFACE_NAME: o nome da interface 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 da 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 estar anexado a um VPNTunnel. Vamos abordar essa etapa 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 remota. Uma interface em um objeto PeerGateway é usada por um túnel VPN para estabelecer um túnel criptografado para o 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. Crie o objeto PeerGateway 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 mesmo nível. 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 da 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 da 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. Vamos abordar essa etapa em Criar um túnel de VPN.

A seguir