Usa rutas basadas en políticas

Las rutas basadas en políticas te permiten seleccionar un siguiente salto en función de más de la dirección IP de destino de un paquete. En esta página, se describe cómo crear, enumerar, describir y borrar rutas basadas en políticas.

Antes de comenzar

Roles obligatorios

A fin de obtener los permisos que necesitas para usar rutas basadas en políticas, pídele a tu administrador que te otorgue el rol de IAM de administrador de Compute Network (roles/compute.networkAdmin) en tu proyecto. Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso.

También puedes obtener los permisos necesarios mediante roles personalizados o cualquier otro rol predefinido.

Crea rutas basadas en políticas

Cuando creas una ruta basada en políticas, especificas lo siguiente:

  • Permiso de la ruta: los recursos a los que se puede aplicar la ruta.
  • Criterios de clasificación: los rangos de direcciones IP de origen, los rangos de direcciones IP de destino y los protocolos que determinan a qué paquetes se aplica la ruta. La ruta basada en políticas se aplica a los paquetes que coinciden con todos los criterios de clasificación especificados.
  • Siguiente salto: Un balanceador de cargas de red de traspaso interno de siguiente salto o un siguiente salto que omite otras rutas basadas en políticas.

Consola

  1. En la consola de Google Cloud, ve a Rutas.

    Ir a Rutas

  2. Haz clic en Administración de rutas.

  3. Haz clic en Crear ruta.

  4. Ingresa un Nombre para la ruta.

  5. Ingresa una Descripción (opcional).

  6. Haz clic en Red y, luego, selecciona la red en la que deseas agregar la ruta basada en políticas.

  7. Haz clic en Tipo de ruta y, luego, selecciona Ruta basada en políticas.

  8. En la sección Alcance de la ruta, realiza una de las siguientes acciones:

    • Para que la ruta se aplique a todas las instancias de máquina virtual (VM), adjuntos de VLAN para Cloud Interconnect y túneles de Cloud VPN en la red de nube privada virtual, selecciona lo siguiente:Esta ruta se aplica a todas las instancias de VM, los adjuntos de VLAN y los túneles VPN.

      Google recomienda tener cuidado cuando se crean rutas de este tipo. La ruta se aplica a todos los paquetes de salida que coinciden con los criterios de clasificación, que pueden incluir el tráfico de salida desde el backend del balanceador de cargas de red interno de transferencia.

    • Para que la ruta se aplique solo a ciertas instancias de VM, selecciona Esta ruta solo se aplica a instancias de VM y, luego, ingresa las etiquetas de red de las VMs a las que debe aplicarse esta ruta. Puedes ingresar varias etiquetas de red en una lista separada por comas.

    • Para que la ruta se aplique a todos los adjuntos de VLAN de Cloud Interconnect en la red de VPC de la ruta, selecciona Esta ruta solo se aplica a los adjuntos de VLAN.

    • Para que la ruta se aplique a los adjuntos de VLAN en Cloud Interconnect de una región específica, selecciona Esta ruta solo se aplica a los adjuntos de VLAN y, luego, selecciona la región de los adjuntos de VLAN. No es posible crear una ruta basada en políticas que se aplique a un adjunto de VLAN específico.

  9. En la sección Criterios de clasificación, haz lo siguiente:

    1. Ingresa un Rango de IP de origen.
    2. Ingresa un Rango de IP de destino.
    3. Haz clic en Protocolo y, luego, selecciona los protocolos a los que se aplica esta ruta.
  10. Ingresa una Prioridad.

  11. En la sección Siguiente salto, haz clic en Siguiente salto y, luego, haz lo siguiente:

    • Para especificar un balanceador de cargas de red de paso interno de siguiente salto, selecciona Especificar una regla de reenvío del balanceador de cargas de red de transferencia interno y, luego, haz lo siguiente:
      • Para seleccionar una regla de reenvío de una lista de reglas de reenvío existentes, sigue estos pasos:
        1. Selecciona En uso por la regla de reenvío de un balanceador de cargas interno en el proyecto actual.
        2. Haz clic en Dirección IP de regla de reenvío y, luego, selecciona una dirección IP asociada con un balanceador de cargas interno en el proyecto seleccionado.
      • Para ingresar una dirección IP, sigue estos pasos:
        1. Selecciona Sin usar.
        2. En el campo Dirección IP de la regla de reenvío, ingresa una dirección IP. La dirección IP debe provenir de los rangos de direcciones IP de la red en la que creas esta ruta basada en políticas. Puedes especificar una dirección IP que ya esté asociada con una regla de reenvío del balanceador de cargas interno, o puedes especificar una dirección IP sin usar y crear la regla de reenvío después de crear esta ruta basada en políticas.
    • Para crear una ruta basada en políticas que omita otras rutas basadas en políticas, selecciona Omitir otras rutas basadas en políticas.
  12. Haz clic en Crear.

gcloud

Usa el comando policy-based-routes create.

  • Usa el siguiente comando para aplicar la ruta a todas las instancias de VM, los adjuntos de VLAN de Cloud Interconnect y los túneles de Cloud VPN en la red de nube privada virtual.

    Google recomienda tener cuidado cuando se crean rutas de este tipo. La ruta se aplica a todos los paquetes de salida que coinciden con los criterios de clasificación, que pueden incluir el tráfico de salida desde el backend del balanceador de cargas de red interno de transferencia.

    gcloud network-connectivity policy-based-routes create ROUTE_NAME \
      --source-range=SOURCE_RANGE \
      --destination-range=DESTINATION_RANGE \
      --ip-protocol=PROTOCOL \
      --network="projects/PROJECT_ID/global/networks/NETWORK" \
      --next-hop-ilb-ip=NEXT_HOP \
      --description=DESCRIPTION \
      --priority=PRIORITY
    

    Reemplaza lo siguiente:

    • ROUTE_NAME: el nombre de la ruta basada en políticas.
    • SOURCE_RANGE: el rango de CIDR de IP de origen.
    • DESTINATION_RANGE: el rango de CIDR de IP de destino
    • PROTOCOL: El protocolo que se reenviará. Las opciones son ALL, TCP o UDP. El valor predeterminado es ALL.
    • PROJECT_ID: el ID del proyecto.
    • NETWORK: el nombre de la red a la que se aplicará la ruta basada en políticas.
    • NEXT_HOP: Es la dirección IPv4 del balanceador de cargas de red de traspaso interno del siguiente salto de la ruta.
    • DESCRIPTION: una descripción opcional de la ruta
    • PRIORITY: la prioridad de la ruta basada en políticas en comparación con otras rutas basadas en políticas.
  • Para aplicar la ruta solo a ciertas instancias de VM, usa el siguiente comando:

    gcloud network-connectivity policy-based-routes create ROUTE_NAME \
      --source-range=SOURCE_RANGE \
      --destination-range=DESTINATION_RANGE \
      --ip-protocol=PROTOCOL \
      --network="projects/PROJECT_ID/global/networks/NETWORK" \
      --next-hop-ilb-ip=NEXT_HOP \
      --description=DESCRIPTION \
      --priority=PRIORITY \
      --tags=NETWORK_TAGS
    

    Reemplaza NETWORK_TAGS por una o más etiquetas de red de las VM a las que se aplicará la ruta. Puedes ingresar varias etiquetas de red en una lista separada por comas.

  • Para aplicar la ruta solo a los adjuntos de VLAN de Cloud Interconnect, usa el siguiente comando. Puedes aplicar la ruta a los adjuntos de VLAN para Cloud Interconnect en una región específica o a todos los adjuntos de VLAN para Cloud Interconnect en una red de VPC.

    gcloud network-connectivity policy-based-routes create ROUTE_NAME \
      --source-range=SOURCE_RANGE \
      --destination-range=DESTINATION_RANGE \
      --ip-protocol=PROTOCOL \
      --network="projects/PROJECT_ID/global/networks/NETWORK" \
      --next-hop-ilb-ip=NEXT_HOP \
      --description=DESCRIPTION \
      --priority=PRIORITY \
      --interconnect-attachment-region=INTERCONNECT_REGION
    

    Reemplaza INTERCONNECT_REGION por la región de los adjuntos de VLAN para que Cloud Interconnect aplique esta ruta. A fin de aplicar la ruta basada en políticas a todos los adjuntos de VLAN para Cloud Interconnect en la red de VPC de la ruta, usa all.

  • A fin de especificar un siguiente salto que omite otras rutas basadas en políticas para VM específicas identificadas por etiquetas de red, usa el siguiente comando:

    gcloud network-connectivity policy-based-routes create ROUTE_NAME \
      --source-range=SOURCE_RANGE \
      --destination-range=DESTINATION_RANGE \
      --ip-protocol=PROTOCOL \
      --network="projects/PROJECT_ID/global/networks/NETWORK" \
      --next-hop-other-routes=DEFAULT_ROUTING \
      --description=DESCRIPTION \
      --priority=PRIORITY \
      --tags=NETWORK_TAGS
    

API

Envía una solicitud POST al método policyBasedRoutes.create.

POST https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/policyBasedRoutes?policyBasedRouteId=ROUTE_NAME
  • Para aplicar la ruta a todas las instancias de VM, los adjuntos de VLAN de Cloud Interconnect y los túneles de Cloud VPN en la red de nube privada virtual, incluye el siguiente cuerpo de solicitud.

    Google recomienda tener cuidado cuando se crean rutas de este tipo. La ruta se aplica a todos los paquetes de salida que coinciden con los criterios de clasificación, que pueden incluir el tráfico de salida desde el backend del balanceador de cargas de red interno de transferencia.

    {
      "filter": {
        "srcRange": "SOURCE_RANGE",
        "destRange": "DESTINATION_RANGE",
        "ipProtocol": "PROTOCOL",
        "protocolVersion": "IPv4"
      },
      "network": "projects/PROJECT_ID/global/networks/NETWORK",
      "nextHopIlbIp": "NEXT_HOP",
      "description": "DESCRIPTION",
      "priority": "PRIORITY"
    }
    

    Reemplaza lo siguiente:

    • PROJECT_ID: el ID del proyecto.
    • ROUTE_NAME: el nombre de la ruta basada en políticas.
    • SOURCE_RANGE: el rango de CIDR de IP de origen.
    • DESTINATION_RANGE: el rango de CIDR de IP de destino
    • PROTOCOL: El protocolo que se reenviará. Las opciones son ALL, TCP o UDP. El valor predeterminado es ALL.
    • NETWORK: el nombre de la red a la que se aplicará la ruta basada en políticas. La ruta se aplica al tráfico de salida desde las instancias en esta red que cumplen con los otros criterios de clasificación.
    • NEXT_HOP: Es la dirección IPv4 del balanceador de cargas de red de siguiente salto de la ruta de red.
    • DESCRIPTION: una descripción opcional de la ruta
    • PRIORITY: la prioridad de la ruta basada en políticas en comparación con otras rutas basadas en políticas.
  • Para aplicar la ruta solo a ciertas instancias de VM, incluye el siguiente cuerpo de solicitud:

    {
      "filter": {
        "srcRange": "SOURCE_RANGE",
        "destRange": "DESTINATION_RANGE",
        "ipProtocol": "PROTOCOL",
        "protocolVersion": "IPv4"
      },
      "network": "projects/PROJECT_ID/global/networks/NETWORK",
      "nextHopIlbIp": "NEXT_HOP",
      "description": "DESCRIPTION",
      "priority": "PRIORITY",
      "virtualMachine": {
        "tags": [
          "NETWORK_TAGS"
        ]
      }
    }
    

    Reemplaza NETWORK_TAGS por una o más etiquetas de red. La ruta basada en políticas se aplica al tráfico de salida de instancias que tienen al menos una de estas etiquetas. Puedes incluir varias etiquetas con el siguiente formato: "tag1","tag2","tag3".

  • Para aplicar la ruta solo a los adjuntos de VLAN de Cloud Interconnect, incluye el siguiente cuerpo de solicitud. No es posible crear una ruta basada en políticas que se aplique a un adjunto de VLAN específico.

    {
      "filter": {
        "srcRange": "SOURCE_RANGE",
        "destRange": "DESTINATION_RANGE",
        "ipProtocol": "PROTOCOL",
        "protocolVersion": "IPv4"
      },
      "interconnectAttachment": {
        "region": "INTERCONNECT_REGION"
      },
      "network": "projects/PROJECT_ID/global/networks/NETWORK",
      "nextHopIlbIp": "NEXT_HOP",
      "description": "DESCRIPTION",
      "priority": "PRIORITY"
    }
    

    Reemplaza INTERCONNECT_REGION por la región de los adjuntos de VLAN para que Cloud Interconnect aplique esta ruta. A fin de aplicar la ruta basada en políticas a todos los adjuntos de VLAN para Cloud Interconnect en la red de VPC de la ruta, usa all.

  • A fin de especificar un siguiente salto que omite otras rutas basadas en políticas para VM específicas identificadas por etiquetas de red, usa el siguiente comando:

    {
      "filter": {
        "srcRange": "SOURCE_RANGE",
        "destRange": "DESTINATION_RANGE",
        "ipProtocol": "PROTOCOL",
        "protocolVersion": "IPv4"
      },
      "network": "projects/PROJECT_ID/global/networks/NETWORK",
      "nextHopOtherRoutes": "DEFAULT_ROUTING",
      "description": "DESCRIPTION",
      "priority": "PRIORITY",
      "virtualMachine": {
        "tags": [
          "NETWORK_TAGS"
        ]
      }
    }
    

Verifica la conectividad para una ruta basada en políticas

Las pruebas de conectividad son una herramienta de diagnóstico que te permite verificar la conectividad entre extremos de tu red. Analiza la configuración y, en algunos casos, la verificación del entorno de ejecución. Las pruebas de conectividad admiten rutas basadas en políticas. Para ejecutar pruebas de conectividad con tus rutas basadas en políticas, consulta Crea y ejecuta pruebas de conectividad.

Enumera rutas basadas en políticas

Puedes enumerar las rutas basadas en políticas para ver todas las rutas basadas en políticas en un proyecto o red y región.

Consola

  1. En la consola de Google Cloud, ve a Rutas.

    Ir a Rutas

    • Para ver todas las rutas basadas en políticas en una red de VPC y una región, haz lo siguiente:

      1. Haz clic en Rutas efectivas.
      2. Haz clic en Red y, luego, selecciona una red.
      3. Haz clic en Región y, luego, selecciona una región.
      4. Haz clic en Ver.
    • Para ver todas las rutas basadas en políticas de un proyecto, haz lo siguiente:

      1. Haz clic en Administración de rutas.

gcloud

Usa el comando policy-based-routes list

gcloud network-connectivity policy-based-routes list

API

Envía una solicitud GET al método policyBasedRoutes.list.

GET https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/policyBasedRoutes

Reemplaza PROJECT_ID por el ID del proyecto para enumerar las rutas basadas en políticas.

Describe las rutas basadas en políticas

Puedes describir una ruta basada en políticas para ver los detalles de la ruta.

Consola

  1. En la consola de Google Cloud, ve a Rutas.

    Ir a Rutas

  2. Haz clic en Rutas efectivas.

  3. Haz clic en Red y, luego, selecciona una red.

  4. Haz clic en Región y, luego, selecciona una región.

  5. Haz clic en Ver.

  6. Haz clic en el Nombre de una ruta basada en políticas para ver sus detalles.

gcloud

Para describir una ruta basada en políticas, usa el comando policy-based-routes describe.

gcloud network-connectivity policy-based-routes describe NAME

Reemplaza NAME por el nombre de la ruta que deseas describir.

API

Envía una solicitud GET al método policyBasedRoutes.get.

GET https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/policyBasedRoutes/ROUTE_NAME

Reemplaza lo siguiente:

  • PROJECT_ID: el ID del proyecto.
  • ROUTE_NAME: el nombre de la ruta basada en políticas que se describe

Borra rutas basadas en políticas

Puedes borrar una ruta basada en políticas para quitarla de una red de VPC.

Consola

  1. En la consola de Google Cloud, ve a Rutas.

    Ir a Rutas

  2. Haz clic en Rutas efectivas.

  3. Haz clic en Red y, luego, selecciona una red.

  4. Haz clic en Región y, luego, selecciona una región.

  5. Haz clic en Ver.

  6. Haz clic en el Nombre de una ruta basada en políticas.

  7. Haz clic en Borrar y, luego, en Borrar de nuevo para confirmar.

gcloud

Para borrar una ruta basada en políticas, usa el comando policy-based-routes delete.

gcloud network-connectivity policy-based-routes delete NAME

Reemplaza NAME por el nombre de la ruta que deseas borrar.

API

Envía una solicitud DELETE al método policyBasedRoutes.delete.

DELETE https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/policyBasedRoutes/ROUTE_NAME

Reemplaza lo siguiente:

  • PROJECT_ID: el ID del proyecto.
  • ROUTE_NAME: el nombre de la ruta basada en políticas que se borrará.

Compatibilidad

La configuración especial es necesaria para usar rutas basadas en políticas de las siguientes maneras.

Usa rutas basadas en políticas con GKE

Si creas rutas basadas en políticas en redes de VPC que tienen clústeres de Google Kubernetes Engine (GKE), ten en cuenta lo siguiente:

Rutas basadas en políticas y Private Service Connect para servicios publicados

Las rutas basadas en políticas no se pueden usar para enrutar el tráfico de las VMs a extremos de Private Service Connect para servicios publicados o a backends de Private Service Connect para servicios publicados. Cuando usas rutas basadas en políticas y Private Service Connect para servicios publicados:

  • Usa etiquetas de red para que las rutas basadas en políticas se apliquen a VMs específicas.
  • Evita crear rutas basadas en políticas con los rangos de direcciones IP de origen o destino de 0.0.0.0/0.
  • Si necesitas crear una ruta basada en políticas con un rango de destino que incluya la dirección IP de un extremo o un backend de Private Service Connect, crea una ruta de prioridad más alta basada en políticas que omita otras rutas basadas en políticas. Configura el destino de la ruta basada en políticas de mayor prioridad con un rango de direcciones IP más específico que incluya la dirección IP del backend o backend de Private Service Connect.

Rutas basadas en políticas y acceso a las APIs y los servicios de Google

Google Cloud no admite el enrutamiento del tráfico a las APIs y a los servicios de Google a través de otras instancias de VM o siguientes saltos personalizados, incluidos los backends de VM de balanceadores de cargas de red de salto interno de siguiente salto en rutas basadas en políticas.

Si usas alguna de las siguientes formas para acceder a las APIs y los servicios de Google, consulta las prácticas recomendadas que se enumeran en la siguiente sección:

Prácticas recomendadas

Te recomendamos las siguientes prácticas recomendadas para las formas anteriores de acceder a las APIs y los servicios de Google:

  • Usa etiquetas de red para que las rutas basadas en políticas se apliquen a VMs específicas.
  • Evita crear rutas basadas en políticas con rangos de origen o destino de 0.0.0.0/0.
  • Si creas rutas basadas en políticas que incluyen rangos de destino que usan las APIs y los servicios de Google, los extremos de Private Service Connect para las APIs de Google o los backends de Private Service Connect para las APIs, crea una política de mayor prioridad: rutas basadas en rutas que omitan otras rutas basadas en políticas Configura los destinos de estas rutas basadas en políticas de mayor prioridad para que coincidan con las direcciones IP de los servicios y las APIs de Google, los extremos de Private Service Connect o los backends de Private Service Connect que usas. Los rangos de direcciones IP que usan las APIs y los servicios de Google incluyen los siguientes:
    • Las direcciones IP para los dominios predeterminados que usan las APIs y los servicios de Google
    • Las direcciones IP virtuales (VIP) del Acceso privado a Google:
      • private.googleapis.com (199.36.153.8/30)
      • restricted.googleapis.com (199.36.153.4/30)