Crea una puerta de enlace de VPN y una puerta de enlace de intercambio de tráfico

En esta página, se describe cómo crear una puerta de enlace de VPN o un recurso de puerta de enlace de intercambio de tráfico.

Las puertas de enlace de VPN proporcionan conectividad segura entre varios sitios, como entre centros de datos locales y entornos de nube. Hay dos componentes de puerta de enlace que se deben configurar para la VPN aislada de Google Distributed Cloud (GDC):

  • Una puerta de enlace de VPN en GDC.
  • Tu puerta de enlace de VPN de intercambio de tráfico. Es un dispositivo de puerta de enlace de VPN físico o una aplicación de software en la red de intercambio de tráfico a la que se conecta la puerta de enlace de VPN. La puerta de enlace de intercambio de tráfico puede ser una puerta de enlace de VPN local o una alojada por otro proveedor de servicios en la nube.

Antes de comenzar

Para administrar o ver los recursos de VPN desde la consola de GDC, debes tener los roles de identidad y acceso necesarios:

  • Administrador de VPN: Tiene permisos de lectura y escritura en todos los recursos relacionados con la VPN. Pídele al administrador de IAM de tu organización que te otorgue el rol de administrador de VPN (vpn-admin).
  • Visualizador de VPN: Tiene permisos de lectura para todos los recursos relacionados con la VPN. Pídele al administrador de IAM de la organización que te otorgue el rol de visualizador de VPN (vpn-viewer).
  • Para obtener más información, consulta Definiciones de roles.

Crea una puerta de enlace de VPN

Para crear una puerta de enlace de VPN, sigue estos pasos:

  1. Especifica un nombre de interfaz en la puerta de enlace para representar la dirección IP. Cuando se crea la puerta de enlace, se asigna automáticamente una dirección IPv4 externa. Crea el objeto de puerta de enlace de VPN en el espacio de nombres de la 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
    

    Reemplaza lo siguiente:

    • MANAGEMENT_API_SERVER: Es la ruta de acceso de kubeconfig del servidor de la API zonal. Si aún no generaste un archivo kubeconfig para el servidor de la API en la zona de destino, consulta Accede para obtener más detalles.
    • VPN_GW_NAME: Es el nombre del objeto de la puerta de enlace de VPN. Por ejemplo, vpngateway
    • VPN_INTERFACE_NAME: Es el nombre de la interfaz de VPN. Por ejemplo, interface0
  2. Verifica que el objeto VPN_GW_NAME se haya conciliado correctamente examinando el campo Status. Obtén los detalles del objeto de puerta de enlace de VPN:

    kubectl --kubeconfig MANAGEMENT_API_SERVER describe -n platform vpngateway VPN_GW_NAME
    

    Examina el resultado, que debe ser similar al siguiente ejemplo:

    
    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
    

El objeto VPNGateway debe adjuntarse a un VPNTunnel. Manejamos este paso en Crea un túnel VPN.

Crea una puerta de enlace de VPN de intercambio de tráfico

Crea una puerta de enlace de VPN de intercambio de tráfico creando un objeto PeerGateway en el servidor de la API de Management. El objeto PeerGateway representa un extremo de VPN remoto. Un túnel VPN usa una interfaz en un objeto PeerGateway para establecer un túnel encriptado al sitio remoto. Para crear una puerta de enlace de VPN de intercambio de tráfico, sigue estos pasos:

  1. Especifica un nombre de interfaz y la dirección IPv4 externa estática de tu puerta de enlace de VPN de intercambio de tráfico. El objeto PeerGateway debe crearse en el espacio de nombres de la 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
    

    Reemplaza lo siguiente:

    • PEER_GW_NAME: Es el nombre de la puerta de enlace de VPN de intercambio de tráfico. Por ejemplo, peergateway
    • PEER_INTERFACE_NAME: Es el nombre de la interfaz del par. Por ejemplo, interface0
    • PEER_INTERFACE_IP: Es la dirección IPv4 externa estática de tu puerta de enlace de VPN de intercambio de tráfico.
  2. Verifica que el objeto PEER_GW_NAME se haya conciliado correctamente examinando el campo Status.

    Obtén los detalles del objeto de puerta de enlace de VPN de intercambio de tráfico:

    kubectl --kubeconfig MANAGEMENT_API_SERVER describe -n platform peergateway PEER_GW_NAME
    

    Examina el resultado, que debe ser similar al siguiente ejemplo:

    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
    

    Se debe hacer referencia al objeto PeerGateway con un VPNTunnel. Manejamos este paso en Crea un túnel VPN.

¿Qué sigue?