Usa mapas de URL

En esta guía, se explica cómo configurar los mapas de URL de Google Cloud. Antes de seguir las instrucciones de esta guía, familiarízate con los conceptos de los mapas de URL.

Los mapas de URL se usan con los siguientes productos de Google Cloud:

El balanceo de cargas de HTTP(S) interno y Traffic Director admiten casos prácticos de administración avanzada del tráfico. Para obtener más información, consulta estos vínculos:

Configura mapas de URL

Puedes agregar servicios de backend y depósitos de backend a un mapa de URL.

Los depósitos de backend solo son compatibles con balanceadores de cargas de HTTP(S) externos.

Agrega un mapa de URL

Console

Para agregar un mapa de URL con Cloud Console, sigue estos pasos:

  1. Ve a la página Balanceo de cargas.

    Ir a la página Balanceo de cargas

  2. Haz clic en el Nombre de un balanceador de cargas.
  3. En la pantalla Detalles del balanceador de cargas, haz clic en el lápiz de Editar que aparece en el balanceador de cargas seleccionado.
  4. Selecciona Reglas de host y ruta de acceso.
  5. Haz clic en Agregar regla de host y ruta de acceso.
  6. Completa el campo Host, el campo Rutas de acceso o ambos, y selecciona un servicio de backend o un depósito de backend.
  7. Busca la marca de verificación azul que se ubica a la izquierda de Reglas de host y ruta de acceso y haz clic en el botón Actualizar.

gcloud

Para agregar un mapa de URL mediante la herramienta de línea de comandos de gcloud, usa el comando url-maps create:

gcloud compute url-maps create URL_MAP \
        (--default-backend-bucket=DEFAULT_BACKEND_BUCKET | --default-service=DEFAULT_SERVICE) \
       [--description DESCRIPTION] \
       [--global | --region=REGION]
    

En el caso de los balanceadores de cargas de HTTP(S) internos, asegúrate de incluir la marca --region cuando crees el mapa de URL.

Un mapa de URL que se acaba de crear solo coincide con una ruta de acceso, la predeterminada (/*). Este comparador de rutas predeterminado se crea de forma automática. Todo el tráfico que no coincide con una regla de host ni un comparador de rutas creado de forma manual se envía al servicio de backend predeterminado del mapa de URL.

Agrega un comparador de rutas

Un comparador de rutas mapea las rutas acceso de las solicitudes de HTTP(S) o los prefijos de ruta de acceso (por ejemplo, /video) a servicios de backend. Todo el tráfico que coincide con la ruta de acceso especificada se procesa según las reglas del comparador de rutas. Si una ruta de acceso coincide con una regla de ruta de acceso, la solicitud se reenvía a los backends asociados con esa regla. Si una solicitud coincide con las reglas no path del comparador de rutas, la solicitud se reenvía al backend predeterminado de ese comparador.

Console

Para crear un comparador de rutas con Cloud Console, sigue estos pasos:

  1. Si no estás en la pantalla Reglas de host y ruta de acceso, dirígete a la página Balanceo de cargas.

    Ir a la página Balanceo de cargas

  2. Haz clic en el Nombre de un balanceador de cargas.
  3. En la pantalla Detalles del balanceador de cargas, haz clic en el lápiz de Editar que aparece en el balanceador de cargas seleccionado.
  4. En la pantalla Reglas de host y ruta de acceso, haz clic en Agregar regla de host y ruta de acceso o en un campo de Rutas de acceso existente.
  5. Ingresa la ruta de acceso que deseas configurar; por ejemplo, /video.
  6. Busca la marca de verificación azul que se ubica a la izquierda de Reglas de host y ruta de acceso y haz clic en el botón Actualizar.

gcloud

Para crear un comparador de rutas mediante la herramienta de línea de comandos de gcloud, usa el comando gcloud compute url-maps add-path-matcher:

gcloud compute url-maps add-path-matcher URL_MAP \
       --default-service BACKEND_SERVICE \
       --path-matcher-name PATH_MATCHER \
       [--path-rules PATH=SERVICE]
    

Este comando requiere un servicio de backend predeterminado al que se puedan enviar las solicitudes sin coincidencia. Puedes usar la marca --path-rules para definir asignaciones entre rutas de solicitud y servicios de backend. En el siguiente ejemplo, se envían las rutas de solicitud /video/ y /video/* al servicio de backend video-service:

  --path-rules "/video=video-service,/video/*=video-service"
    

Los comandos url-maps create y url-maps add-path-matcher tienen un parámetro --default-service. En create, el servicio predeterminado es el que se usa si ninguno de los comparadores de rutas coincide con la URL entrante. En add-path-matcher, el servicio predeterminado es el que se usa si la ruta de acceso coincide con el comparador de rutas, pero ninguna de las --path-rules coinciden.

Agrega una regla de host

Console

Para crear una regla de host mediante Cloud Console, sigue estos pasos:

  1. Si no estás en la pantalla Reglas de host y ruta de acceso, dirígete a la página Balanceo de cargas.

    Ir a la página Balanceo de cargas

  2. Haz clic en el Nombre de un balanceador de cargas.
  3. En la pantalla Detalles del balanceador de cargas, haz clic en el lápiz de Editar que aparece en el balanceador de cargas seleccionado.
  4. En la pantalla Reglas de host y ruta de acceso, haz clic en Agregar regla de host y ruta de acceso o un campo de Hosts existente.
  5. Ingresa un Nombre de host completamente calificado, como web.example.com.
  6. Busca la marca de verificación azul que se ubica a la izquierda de Reglas de host y ruta de acceso y haz clic en el botón Actualizar.

gcloud

Para crear una regla de host con la herramienta de línea de comandos de gcloud, usa el comando gcloud compute url-maps add-host-rule:

  gcloud compute url-maps add-host-rule URL_MAP \
          --hosts HOSTS --path-matcher-name PATH_MATCHER
    

La marca --hosts define un conjunto de hosts con los que se deben hacer coincidir las solicitudes. Por ejemplo, el siguiente valor --hosts haría coincidir las solicitudes con www.example.com y cualquier subdominio de google.com:

  --hosts *.google.com,www.example.com
    

Selecciona un servicio o un depósito de backend

Console

Si deseas seleccionar un servicio de backend o un depósito de backend para un mapa de URL, sigue estos pasos:

  1. Si no estás en la pantalla Reglas de host y ruta de acceso, dirígete a la página Balanceo de cargas.

    Ir a la página Balanceo de cargas

  2. Haz clic en el Nombre de un balanceador de cargas.
  3. En la pantalla Detalles del balanceador de cargas, haz clic en el lápiz de Editar que aparece en el balanceador de cargas seleccionado.
  4. En la pantalla Reglas de host y ruta de acceso, en el menú desplegable del campo Backends, selecciona un servicio o un depósito de backend que esté disponible.
  5. Busca la marca de verificación azul que se ubica a la izquierda de Reglas de host y ruta de acceso y haz clic en el botón Actualizar.

gcloud

Para seleccionar un servicio de backend o un depósito de backend con la herramienta de línea de comandos de gcloud, usa el comando url-maps set-default-service.

gcloud compute url-maps set-default-service URL_MAP_NAME
      (--default-backend-bucket=DEFAULT_BACKEND_BUCKET
        | --default-service=DEFAULT_SERVICE)[GCLOUD_WIDE_FLAG ...]
    

Prueba un mapa de URL

Puedes agregarle pruebas de configuración a un mapa de URL para asegurarte de que enrute las solicitudes a los servicios de backend o a los depósitos de backend de manera adecuada.

Cuando editas el mapa de URL, las pruebas se ejecutan y, si una prueba falla, aparecerá un mensaje de error.

      Error: Invalid value for field 'urlMap.tests': ''.
      Test failure: Expect URL '' to map to service '', but actually mapped to ''.
    

Agregar pruebas a los mapas de URL es opcional.

Console

Para ejecutar pruebas desde Cloud Console, sigue estos pasos:

  1. Ve a la página Balanceo de cargas.

    Ir a la página Balanceo de cargas

  2. Haz clic en el Nombre de un balanceador de cargas.
  3. En la pantalla Detalles del balanceador de cargas, haz clic en el lápiz de Editar que aparece en el balanceador de cargas seleccionado.
  4. Haz clic en Reglas de host y de ruta de acceso.
  5. Debajo de Reglas de host y ruta de acceso, haz clic en Mostrar pruebas de configuración.
  6. Haz clic en Agregar prueba de configuración y, luego, ingresa los siguientes backends y URL de prueba:
    • URL de prueba example.com y Backend www-service.
    • URL de prueba example.net y Backend www-service.
    • URL de prueba example.net/web y Backend www-service.
    • URL de prueba example.com/videos y Backend video-service.
    • URL de prueba example.com/videos/browse y Backend video-service.
    • URL de prueba example.net/static y Backend static-service.
    • URL de prueba example.net/static/images y Backend static-service.
  7. Busca la marca de verificación azul que se ubica a la izquierda de Reglas de host y ruta de acceso y haz clic en el botón Actualizar.

gcloud

Para agregar pruebas al mapa de URL con la herramienta de línea de comandos de gcloud, usa el comando gcloud compute url-maps edit:

  gcloud compute url-maps edit URL_MAP
    

Con este comando, se abrirá un editor de texto. Para los balanceadores de cargas de HTTP(S) externos, las pruebas deben tener el siguiente formato:

    tests:
          - host: example.com
            service: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendServices/www-service
          - host: example.net
            service: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendServices/www-service
          - host: example.com
            path: /videos
            service: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendServices/video-service
          - host: example.com
            path: /videos/browse
            service: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendServices/video-service
          - host: example.net
            path: /web
            service: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendServices/www-service
          - host: example.net
            path: /static
            service: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendServices/static-service
          - host: example.net
            path: /static/images
            service: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendServices/static-service
    

Para los balanceadores de cargas de HTTP(S) internos, las URL del servicio deben apuntar a servicios de backend regionales. Por ejemplo:

https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/[REGION]/backendServices//www-service
    

Si no especificas un host en una regla de host, las URL de todos los hosts (de example.com y de example.net) pueden coincidir. En cambio, si tienes reglas de host, debes crear reglas que coincidan con example.com como y, también, con example.net.

Obtén una lista mapas de URL

Console

En Console, puedes ver el mapa de URL de un solo balanceador de cargas a la vez.

  1. Ve a la página Balanceo de cargas.

    Ir a la página Balanceo de cargas

  2. Haz clic en el Nombre de un balanceador de cargas.
  3. En la pantalla Detalles del balanceador de cargas, haz clic en el lápiz de Editar que aparece en el balanceador de cargas seleccionado.
  4. Consulta las Reglas de host y ruta de acceso.

gcloud

Para mostrar una lista de los mapas de URL mediante la herramienta de línea de comandos de gcloud, usa el comando url-maps list.

gcloud compute url-maps list
    

Obtén información sobre un mapa de URL

Console

Para obtener información sobre un mapa de URL, sigue estos pasos:

  1. Ve a la página Balanceo de cargas.

    Ir a la página Balanceo de cargas

  2. Haz clic en el Nombre de un balanceador de cargas.
  3. En la pantalla Detalles del balanceador de cargas, haz clic en el lápiz de Editar que aparece en el balanceador de cargas seleccionado.
  4. Consulta las Reglas de host y ruta de acceso.

gcloud

Para obtener información sobre un solo mapa de URL mediante la herramienta de línea de comandos de gcloud, usa el comando url-maps describe.

gcloud compute url-maps describe URL_MAP
    

Borra un mapa de URL

Solo puedes borrar un mapa de URL una vez que hayas borrado todos los proxies de destino que hacen referencia a él. Para obtener más información, consulta Borra un proxy de destino.

Console

Para borrar un mapa de URL, sigue estos pasos:

  1. Ve a la página Balanceo de cargas.

    Ir a la página Balanceo de cargas

  2. Haz clic en el Nombre de un balanceador de cargas.
  3. En la pantalla Detalles del balanceador de cargas, haz clic en el lápiz de Editar que aparece en el balanceador de cargas seleccionado.
  4. En la pantalla Detalles del balanceador de cargas, ve a las Reglas de host y ruta de acceso.
  5. Haz clic en la "X" que aparece a la derecha de un mapa de URL para borrarlo. El mapa de URL desaparecerá.
  6. Busca la marca de verificación azul que se ubica a la izquierda de Reglas de host y ruta de acceso y haz clic en el botón Actualizar.

gcloud

Para borrar un mapa de URL mediante la herramienta de línea de comandos de gcloud, usa el comando url-maps delete. Para poder borrar un mapa de URL, primero debes borrar cualquier proxy HTTP de destino que haga referencia a ese mapa.

gcloud compute url-maps delete URL_MAP [--quiet]
    

Borra un comparador de rutas

Console

Para borrar un comparador de rutas de acceso, sigue estos pasos:

  1. Ve a la página Balanceo de cargas.

    Ir a la página Balanceo de cargas

  2. Haz clic en el Nombre de un balanceador de cargas.
  3. En la pantalla Detalles del balanceador de cargas, haz clic en el lápiz de Editar que aparece en el balanceador de cargas seleccionado.
  4. Selecciona Reglas de host y ruta de acceso.
  5. En el campo Rutas de acceso de un mapa de URL existente, haz clic en la “x” que aparece en el nombre del comparador de rutas.
  6. Busca la marca de verificación azul que se ubica a la izquierda de Reglas de host y ruta de acceso y haz clic en el botón Actualizar.

gcloud

Para borrar un comparador de rutas, usa el comando gcloud compute url-maps remove-path-matcher como se muestra a continuación:

 gcloud compute url-maps remove-path-matcher URL_MAP \
         [--path-matcher-name PATH_MATCHER]
    

Borra una regla de host

Console

Para borrar una regla de host, sigue estos pasos:

  1. Si no estás en la pantalla Reglas de host y ruta de acceso, dirígete a la página Balanceo de cargas.

    Ir a la página Balanceo de cargas

  2. Haz clic en el Nombre de un balanceador de cargas.
  3. En la pantalla Detalles del balanceador de cargas, haz clic en el lápiz de Editar que aparece en el balanceador de cargas seleccionado.
  4. Selecciona Reglas de host y ruta de acceso.
  5. En el campo Hosts de un mapa de URL existente, haz clic en la “x” que aparece en el nombre del host.
  6. Busca la marca de verificación azul que se ubica a la izquierda de Reglas de host y ruta de acceso y haz clic en el botón Actualizar.

gcloud

Para borrar una regla de host del mapa de URL, usa el comando gcloud compute url-maps remove-host-rule como se muestra a continuación:

 gcloud compute url-maps remove-host-rule NAME --host HOST
    

Por ejemplo, si deseas quitar una regla de host que contenga el host google.com de un mapa de URL llamado my-map, debes ejecutar el siguiente comando:

 gcloud compute url-maps remove-host-rule my-map --host google.com
    

Próximos pasos