Implementa el proxy web seguro como próximo salto

En esta página, se proporciona una descripción general de cómo crear una política de Secure Web Proxy y, luego, se explica cómo configurar el enrutamiento del próximo salto para tu instancia de Secure Web Proxy. Además, en esta página, se describe cómo configurar el enrutamiento estático o el enrutamiento basado en políticas para tu próximo salto.

De forma predeterminada, las instancias de SecureWebProxy tienen un valor de RoutingMode de EXPLICIT_ROUTING_MODE, lo que significa que debes configurar tus cargas de trabajo para que envíen tráfico HTTP(S) de forma explícita al Proxy web seguro. En lugar de configurar clientes individuales para que apunten a tu instancia de Secure Web Proxy, puedes establecer el RoutingMode de tu instancia de Secure Web Proxy como NEXT_HOP_ROUTING_MODE, lo que te permite definir rutas que dirijan el tráfico a tu instancia de Secure Web Proxy.

Cuando implementas tu instancia de Secure Web Proxy como próximo salto, puedes habilitar la puerta de enlace para que detecte todos los puertos (del 1 al 65535), lo que simplifica la configuración para entornos dinámicos o servicios que usan varios puertos.

Configura el enrutamiento de próximo salto para Secure Web Proxy

En esta sección, se describen los pasos para crear una política de Secure Web Proxy y el procedimiento para implementar tu instancia de Secure Web Proxy como próximo salto.

Crea una política de Secure Web Proxy

  1. Completa todos los pasos de requisitos previos obligatorios.
  2. Crea una política de Secure Web Proxy.
  3. Crea reglas de Secure Web Proxy.

Implementa tu instancia de Secure Web Proxy como próximo salto

Console

  1. En la consola de Google Cloud , ve a la página Proxies web.

    Ir a Proxies web

  2. Haz clic en Crear un proxy web seguro.

  3. Ingresa un nombre para el proxy web que deseas crear, como myswp.

  4. Ingresa una descripción del proxy web, como My new swp.

  5. En Modo de enrutamiento, selecciona la opción Próximo salto.

  6. En la lista Regiones, selecciona la región en la que deseas crear el proxy web.

  7. En la lista Red, selecciona la red en la que deseas crear el proxy web.

  8. En la lista Subred, selecciona la subred en la que deseas crear el proxy web.

  9. Opcional: Ingresa la dirección IP del Secure Web Proxy. Puedes ingresar una dirección IP del rango de direcciones IP de Secure Web Proxy que se encuentra en la subred que creaste en el paso anterior. Si no ingresas la dirección IP, tu instancia de Secure Web Proxy elegirá automáticamente una dirección IP de la subred seleccionada.

  10. En la lista Certificado, selecciona el certificado que deseas usar para crear el proxy web.

  11. En la lista Política, selecciona la política que creaste para asociar el proxy web.

  12. Haz clic en Crear.

Cloud Shell

  1. Usa un editor de texto para crear un archivo gateway.yaml.

  2. Agrega el siguiente código al archivo gateway.yaml:

    name: projects/PROJECT_ID/locations/REGION/gateways/swp1
    type: SECURE_WEB_GATEWAY
    addresses: ["IP_ADDRESS"]
    ports: [443, 80]
    gatewaySecurityPolicy: projects/PROJECT_ID/locations/REGION/gatewaySecurityPolicies/policy1
    network: projects/PROJECT_ID/global/networks/NETWORK
    subnetwork: projects/PROJECT_ID/regions/REGION/subnetworks/SUBNETWORK
    routingMode: NEXT_HOP_ROUTING_MODE
    

    Opcional: Para configurar la puerta de enlace de modo que escuche en todos los puertos (del 1 al 65535), agrega el campo all_ports en el archivo gateway.yaml y configúralo como true. Esta función es compatible con la vista previa.

    Para obtener información sobre las limitaciones relacionadas con el uso de la función all_ports, consulta Limitaciones.

    name: projects/PROJECT_ID/locations/REGION/gateways/swp1
    type: SECURE_WEB_GATEWAY
    addresses: ["IP_ADDRESS"]
    all_ports: true
    gatewaySecurityPolicy: projects/PROJECT_ID/locations/REGION/gatewaySecurityPolicies/policy1
    network: projects/PROJECT_ID/global/networks/NETWORK
    subnetwork: projects/PROJECT_ID/regions/REGION/subnetworks/SUBNETWORK
    routingMode: NEXT_HOP_ROUTING_MODE
    

    Opcional: Para permitir que las aplicaciones cliente de otras regiones de Google Cloudse conecten a tu proxy, habilita el acceso global cuando crees tu instancia de Secure Web Proxy.

    En el archivo gateway.yaml, agrega el campo allowGlobalAccess y configúralo como true.

    Importante: Solo puedes habilitar allowGlobalAccess cuando creas una instancia de Secure Web Proxy. No podrás configurar este parámetro más adelante.

    name: projects/PROJECT_ID/locations/REGION/gateways/swp1
    type: SECURE_WEB_GATEWAY
    addresses: ["IP_ADDRESS"]
    ports: [443, 80]
    gatewaySecurityPolicy: projects/PROJECT_ID/locations/REGION/gatewaySecurityPolicies/policy1
    network: projects/PROJECT_ID/global/networks/NETWORK
    subnetwork: projects/PROJECT_ID/regions/REGION/subnetworks/SUBNETWORK
    routingMode: NEXT_HOP_ROUTING_MODE
    allowGlobalAccess: true
    
  3. Crea una instancia de Secure Web Proxy.

    gcloud network-services gateways import swp1 \
    --source=gateway.yaml \
    --location=REGION
    

    La implementación de una instancia de Secure Web Proxy puede tardar varios minutos.

Crea rutas para el siguiente salto

Después de crear una instancia de Secure Web Proxy, puedes configurar el enrutamiento estático o el enrutamiento basado en políticas para tu próximo salto:

  • Las rutas estáticas dirigen el tráfico dentro de tu red a tu instancia de Secure Web Proxy en la misma región. Para configurar una ruta estática con tu Secure Web Proxy como próximo salto, debes configurar etiquetas de red.
  • Las rutas basadas en políticas te permiten dirigir el tráfico a tu instancia de proxy web seguro desde un rango de direcciones IP de origen. Cuando configuras una ruta basada en políticas por primera vez, también debes configurar otra ruta basada en políticas para que sea la ruta predeterminada.

En las siguientes dos secciones, se explica cómo crear rutas estáticas y rutas basadas en políticas.

Crea rutas estáticas

Para enrutar el tráfico a tu instancia de Secure Web Proxy, configura una ruta estática con el comando gcloud compute routes create. Debes asociar la ruta estática a una etiqueta de red y usar la misma etiqueta de red en todos tus recursos de origen para asegurarte de que su tráfico se redireccione a tu instancia de Secure Web Proxy. Las rutas estáticas no te permiten definir un rango de direcciones IP de origen.

Para obtener más información sobre cómo funcionan las rutas estáticas en Google Cloud, consulta Rutas estáticas.

gcloud

Usa el siguiente comando para crear una ruta estática.

gcloud compute routes create STATIC_ROUTE_NAME \
    --network=NETWORK_NAME \
    --next-hop-ilb=SWP_IP \
    --destination-range=DESTINATION_RANGE \
    --priority=PRIORITY \
    --tags=TAGS \
    --project=PROJECT
 

Reemplaza lo siguiente:

  • STATIC_ROUTE_NAME: Nombre de tu ruta estática
  • NETWORK_NAME: Nombre de tu red
  • SWP_IP: Dirección IP de tu instancia de SecureWebProxy en la subred especificada en el archivo gateway.yaml
  • DESTINATION_RANGE: Es el rango de direcciones IP al que deseas redireccionar el tráfico. Por ejemplo, usa 0.0.0.0/0 para enrutar todo el tráfico de Internet a tu instancia del Secure Web Proxy.
  • PRIORITY: Es la prioridad de tu ruta. Los números más altos denotan una prioridad más baja. Asegúrate de que la prioridad de tu ruta sea numéricamente inferior a la ruta predeterminada de Internet, que suele ser 1000.
  • TAGS: Es una lista separada por comas de las etiquetas que usarás con tu instancia de Secure Web Proxy.
  • PROJECT: ID de tu proyecto

Crea una VM en la subred adecuada con las etiquetas de red especificadas en la ruta

gcloud compute instances create swp-nexthop-test-vm \
    --subnet=SUBNETWORK \
    --zone=ZONE \
    --image-project=debian-cloud \
    --image-family=debian-11 \
    --tags=TAGS

Reemplaza lo siguiente:

  • SUBNETWORK: Subred que configuraste para el proxy web
  • ZONE: Zona de tu instancia de VM de prueba
  • TAGS: Es una lista separada por comas de las etiquetas que usarás con tu instancia de Secure Web Proxy.

Crea rutas basadas en políticas

Como alternativa al enrutamiento estático, puedes configurar una ruta basada en políticas con el comando network-connectivity policy-based-routes create. También debes crear una ruta basada en políticas para que sea la ruta predeterminada, lo que habilita el enrutamiento predeterminado para el tráfico entre instancias de máquina virtual (VM) dentro de tu red. Para obtener más información sobre cómo funcionan las rutas basadas en políticas enGoogle Cloud, consulta Enrutamiento basado en políticas.

La prioridad de la ruta que habilita el enrutamiento predeterminado debe ser más alta (numéricamente más baja) que la prioridad de la ruta basada en políticas que dirige el tráfico a la instancia de Secure Web Proxy. Si creas la ruta basada en políticas con una prioridad más alta que la ruta que habilita el enrutamiento predeterminado, esta tendrá prioridad sobre todas las demás rutas de VPC.

Usa el siguiente ejemplo para crear una ruta basada en políticas que dirija el tráfico a tu instancia del Proxy web seguro.

gcloud

Usa el siguiente comando para crear la ruta basada en políticas.

gcloud network-connectivity policy-based-routes create POLICY_BASED_ROUTE_NAME \
    --network="projects/PROJECT/global/networks/NETWORK_NAME" \
    --next-hop-ilb-ip=SWP_IP \
    --protocol-version="IPV4" \
    --destination-range=DESTINATION_RANGE \
    --source-range=SOURCE_RANGE \
    --priority=2 \
    --project=PROJECT
 

Reemplaza lo siguiente:

  • POLICY_BASED_ROUTE_NAME: Nombre de tu ruta basada en políticas
  • NETWORK_NAME: Nombre de tu red
  • SWP_IP: Dirección IP de tu instancia de Secure Web Proxy
  • DESTINATION_RANGE: Es el rango de direcciones IP al que deseas redireccionar el tráfico.
  • SOURCE_RANGE: Es el rango de direcciones IP desde el que deseas redireccionar el tráfico.
  • PROJECT: ID de tu proyecto

A continuación, sigue estos pasos para crear la ruta basada en políticas de enrutamiento predeterminada.

gcloud

Usa el siguiente comando para crear la ruta basada en políticas de default-routing.

gcloud network-connectivity policy-based-routes create DEFAULT_POLICY_BASED_ROUTE_NAME \
    --network="projects/PROJECT/global/networks/NETWORK_NAME" \
    --next-hop-other-routes="DEFAULT_ROUTING" \
    --protocol-version="IPV4" \
    --destination-range=DESTINATION_RANGE \
    --source-range=SOURCE_RANGE \
    --priority=1 \
    --project=PROJECT
 

Reemplaza lo siguiente:

  • DEFAULT_POLICY_BASED_ROUTE_NAME: Nombre de tu ruta basada en políticas
  • NETWORK_NAME: Nombre de tu red
  • DESTINATION_RANGE: Es el rango de direcciones IP al que deseas redireccionar el tráfico.
  • SOURCE_RANGE: Es el rango de direcciones IP desde el que deseas redireccionar el tráfico.
  • PROJECT: ID de tu proyecto

Lista de tareas posteriores a la implementación

Asegúrate de completar las siguientes tareas después de configurar una ruta estática o una ruta basada en políticas con tu instancia de Secure Web Proxy como próximo salto:

  • Confirma que haya una ruta predeterminada a la puerta de enlace de Internet.
  • Agrega la etiqueta de red correcta a la ruta estática que apunta a tu instancia de Secure Web Proxy como próximo salto.
  • Define una prioridad adecuada para la ruta predeterminada a tu instancia de Secure Web Proxy como próximo salto.
  • Debido a que Secure Web Proxy es un servicio regional, asegúrate de que el tráfico del cliente se origine en la misma región que tu instancia de Secure Web Proxy.

Limitaciones

  • Las instancias SecureWebProxy con RoutingMode configurado como NEXT_HOP_ROUTING_MODE admiten el tráfico de proxy HTTP(S) y TCP. Otros tipos de tráfico, incluido el tráfico entre regiones, se descartan sin notificación.
  • Cuando usas next-hop-ilb, las limitaciones que se aplican a los balanceadores de cargas de red de transferencia internos también se aplican a los próximos saltos si el próximo salto de destino es una instancia de Secure Web Proxy. Para obtener más información, consulta las tablas de próximos saltos y funciones para rutas estáticas.
  • Todo el tráfico de las máquinas virtuales (VM), incluido el tráfico en segundo plano y las actualizaciones, que coincida con tu ruta de siguiente salto se enrutará a tu instancia de Secure Web Proxy.
  • Para una red de VPC en una región, solo puedes implementar una instancia de Secure Web Proxy como siguiente salto (SWPaNH).
  • Cuando usas la función all_ports, se aplican las siguientes limitaciones:
    • La función all_ports solo se aplica a las puertas de enlace con type: SECURE_WEB_GATEWAY.
    • Solo puedes usar la configuración de all_ports: true cuando routingMode se establece en NEXT_HOP_ROUTING_MODE.
    • No puedes especificar la configuración de all_ports: true y enumerar puertos individuales en el campo de puertos para el mismo recurso de puerta de enlace. Debes usar solo un tipo de configuración de puertos, no ambos.
    • Dentro de una red y una región determinadas, no puedes implementar simultáneamente una instancia de Secure Web Proxy en modo de próximo salto con la configuración de all_ports: true y otra instancia de Secure Web Proxy en cualquier otro modo.