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, consulte:
- Descripción general de la administración del tráfico en los balanceadores de cargas de HTTP(S) internos
- Descripción general de la administración del tráfico para Traffic Director
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 mediante Cloud Console, sigue estos pasos:
- Ve a la página Balanceo de cargas.
- Haz clic en el Nombre de un balanceador de cargas.
- En la pantalla Detalles del balanceador de cargas, haz clic en Editar para el balanceador de cargas seleccionado.
- Selecciona Reglas de host y ruta.
- Haz clic en Agregar regla de host y ruta de acceso.
- Completa el campo Host, el campo Rutas de acceso o ambos, y selecciona un servicio de backend o bucket de backend.
- Revisa que aparezca una marca de verificación azul a la izquierda de Reglas de host y ruta 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_NAME \ (--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 coincida 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 de las solicitudes HTTP(S) o los prefijos de ruta (por ejemplo, /video
) a servicios de backend. Todo el tráfico que coincide con la ruta especificada se procesa según las reglas del comparador de rutas. Si una ruta coincide con una regla, la solicitud se reenvía a los backends asociados con ella. 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 mediante Cloud Console, sigue estos pasos:
- Si no estás en la pantalla Reglas de host y ruta, ve a la página Balanceo de cargas.
- Haz clic en el Nombre de un balanceador de cargas.
- En la pantalla Detalles del balanceador de cargas, haz clic en Editar para el balanceador de cargas seleccionado.
- En la pantalla Reglas de host y ruta, haz clic en Agrega la regla de host y de ruta o haz clic en un campo Rutas existente.
- Ingresa la ruta de acceso que deseas configurar; por ejemplo,
/video
. - Revisa que aparezca una marca de verificación azul a la izquierda de Reglas de host y ruta 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_NAME \ --default-service BACKEND_SERVICE \ --path-matcher-name PATH_MATCHER \ [--path-rules="PATH=SERVICE"]
Este comando requiere un servicio de backend predeterminado al que se envíen las solicitudes que no coinciden. Puedes usar la marca --path-rules
para definir mapeos 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:
- Si no estás en la pantalla Reglas de host y ruta, ve a la página Balanceo de cargas.
- Haz clic en el Nombre de un balanceador de cargas.
- En la pantalla Detalles del balanceador de cargas, haz clic en Editar para el balanceador de cargas seleccionado.
- En la pantalla Reglas de host y ruta, haz clic en Agrega la regla de host y de ruta o haz clic en un campo Hosts existente.
- Ingresa un Nombre de host completamente calificado, como
web.example.com
. - Revisa que aparezca una marca de verificación azul a la izquierda de Reglas de host y ruta y haz clic en el botón Actualizar.
gcloud
Para crear una regla de host mediante 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_NAME \ --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 bucket de backend
Console
Si deseas seleccionar un servicio o un bucket de backend para un mapa de URL, sigue estos pasos:
- Si no estás en la pantalla Reglas de host y ruta, ve a la página Balanceo de cargas.
- Haz clic en el Nombre de un balanceador de cargas.
- En la pantalla Detalles del balanceador de cargas, haz clic en Editar para el balanceador de cargas seleccionado.
- En la pantalla Reglas de host y ruta de acceso, en el menú desplegable del campo Backends, selecciona un servicio o un bucket de backend que esté disponible.
- Revisa que aparezca una marca de verificación azul a la izquierda de Reglas de host y ruta y haz clic en el botón Actualizar.
gcloud
Para seleccionar un servicio o un bucket 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 agregar 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 'HOST/PATH' to map to service 'EXPECTED_BACKEND_SERVICE', but actually mapped to 'ACTUAL_BACKEND_SERVICE'.
Agregar pruebas a los mapas de URL es opcional.
Console
Para ejecutar pruebas desde Cloud Console, sigue estos pasos:
- Ve a la página Balanceo de cargas.
- Haz clic en el Nombre de un balanceador de cargas.
- En la pantalla Detalles del balanceador de cargas, haz clic en Editar para el balanceador de cargas seleccionado.
- Haz clic en Reglas de host y ruta.
- Debajo de Reglas de host y ruta de acceso, haz clic en Mostrar pruebas de configuración.
- Haz clic en Add configuration test y, luego, ingresa los siguientes backends y URL de prueba:
- URL de prueba
example.com
y Backendwww-service.
- URL de prueba
example.net
y Backendwww-service.
- URL de prueba
example.net/web
y Backendwww-service.
- URL de prueba
example.com/videos
y Backendvideo-service.
- URL de prueba
example.com/videos/browse
y Backendvideo-service.
- URL de prueba
example.net/static
y Backendstatic-service.
- URL de prueba
example.net/static/images
y Backendstatic-service.
- URL de prueba
- Revisa que aparezca una marca de verificación azul a la izquierda de Reglas de host y ruta y haz clic en el botón Actualizar.
gcloud
Para agregar pruebas al mapa de URL mediante la herramienta de línea de comandos de gcloud
, usa el comando gcloud compute url-maps edit
:
gcloud compute url-maps edit URL_MAP_NAME
Con esto 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, las URL de todos los hosts (tanto example.com como example.net) pueden coincidir. En cambio, si tienes reglas de host, debes crear reglas que coincidan tanto con example.com como con example.net.
Muestra mapas de URL
Console
No puedes enumerar todos tus mapas de URL en Cloud Console.
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:
- Ve a la página Balanceo de cargas.
- Haz clic en el Nombre de un balanceador de cargas.
- En la pantalla Detalles del balanceador de cargas, haz clic en Editar para el balanceador de cargas seleccionado.
- Mira las Reglas de host y ruta.
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_NAME
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:
- Ve a la página Balanceo de cargas.
- Haz clic en el Nombre de un balanceador de cargas.
- En la pantalla Detalles del balanceador de cargas, haz clic en Editar para el balanceador de cargas seleccionado.
- En la pantalla Detalles del balanceador de cargas, ve a las Reglas de host y ruta.
- Haz clic en la "X" que aparece a la derecha de un mapa de URL para borrarlo. El mapa de URL desaparecerá.
- Revisa que aparezca una marca de verificación azul a la izquierda de Reglas de host y ruta 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 que puedas 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_NAME [--quiet]
Borra un comparador de rutas
Console
Para borrar un comparador de rutas de acceso, sigue estos pasos:
- Ve a la página Balanceo de cargas.
- Haz clic en el Nombre de un balanceador de cargas.
- En la pantalla Detalles del balanceador de cargas, haz clic en Editar para el balanceador de cargas seleccionado.
- Selecciona Reglas de host y ruta.
- 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.
- Revisa que aparezca una marca de verificación azul a la izquierda de Reglas de host y ruta 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
:
gcloud compute url-maps remove-path-matcher URL_MAP_NAME \ [--path-matcher-name PATH_MATCHER]
Borra una regla de host
Console
Para borrar una regla de host, sigue estos pasos:
- Si no estás en la pantalla Reglas de host y ruta, ve a la página Balanceo de cargas.
- Haz clic en el Nombre de un balanceador de cargas.
- En la pantalla Detalles del balanceador de cargas, haz clic en Editar para el balanceador de cargas seleccionado.
- Selecciona Reglas de host y ruta.
- En el campo Hosts de un mapa de URL existente, haz clic en la “x” que aparece en el nombre del host.
- Revisa que aparezca una marca de verificación azul a la izquierda de Reglas de host y ruta 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
:
gcloud compute url-maps remove-host-rule URL_MAP_NAME --host=HOST
Por ejemplo, si deseas quitar una regla de host que contiene 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
¿Qué sigue?
- Consulta la descripción general de los mapas de URL para obtener información sobre cómo funcionan los mapas de URL.
- Consulta la descripción general del balanceo de cargas de HTTP(S) para obtener información sobre cómo funcionan los mapas de URL en el balanceo de cargas de HTTP(S) externo.
- Consulta la descripción general del balanceo de cargas de HTTP(S) interno para obtener información sobre cómo funcionan los mapas de URL en el balanceo de cargas de HTTP(S) interno.