Agrega depósitos de backend a balanceadores de cargas

Los depósitos de backend permiten usar los depósitos de Google Cloud Storage con el balanceo de cargas de HTTP(S).

Usa un depósito de Cloud Storage como un backend del balanceador de cargas

Un balanceador de cargas de HTTP(S) externo usa un mapa de URL para dirigir el tráfico de las URL especificadas a un servicio de backend o a un depósito de backend. Un caso práctico es el siguiente:

  • Envía solicitudes de contenido dinámico, como datos, a un servicio de backend.
  • Envía solicitudes de contenido estático, como imágenes, a un depósito de backend.

En el siguiente diagrama, el balanceador de cargas envía tráfico mediante una ruta de acceso de /static/eu/ a un depósito de Cloud Storage en la región europe-north. Todas las demás solicitudes van a un depósito de Cloud Storage en la región us-east.

Distribución del tráfico a Cloud Storage (haz clic para agrandar)
Distribución del tráfico a Cloud Storage (haz clic para agrandar)

En este documento, se muestra cómo crear un balanceador de cargas de HTTP(S) externo para enrutar las solicitudes de contenido estático a depósitos de Cloud Storage. Después de configurar un balanceador de cargas con los depósitos de backend, las solicitudes a rutas de URL que comienzan con /static/eu se envían al depósito de europe-north Cloud Storage, y todas las demás solicitudes al depósito us-east de Cloud Storage.

Antes de comenzar

  1. Si usas las utilidades de gcloud o gsutil, puedes consultar el documento Guía de inicio rápido: Usa la herramienta gsutil.
  2. Configura un proyecto predeterminado.

    Console

    a. Ve a la página principal en Google Cloud Console.
    Ir a la página principal de Google Cloud

    A la derecha de Google Cloud, selecciona un proyecto del menú desplegable.

    gcloud o gsutil

         gcloud config set project [PROJECT_ID]
        

    o

         gsutil config set project [PROJECT_ID]
        
    • [PROJECT_ID]: El proyecto que usarás para esta guía.

Crea dos depósitos de Cloud Storage

Console

  1. En Cloud Console, abre el navegador de Cloud Storage.
    Abrir el navegador de Cloud Storage
  2. Haz clic en Crear depósito.
  3. Especifica los valores para los siguientes campos y deja los demás en sus valores predeterminados:

    Propiedad Valor (escribe el valor o selecciona una opción como se especifica)
    Nombre Para cada depósito, ingresa un nombre global único. Si el nombre que ingresas no es único, verás un mensaje para probar otro nombre.
    Tipo de ubicación Región
    Lugar En un depósito, selecciona us-east1.
    En el otro depósito, selecciona europe-north1.
    Clase de almacenamiento predeterminado Estándar
    Control de acceso Preciso
  4. Haz clic en Crear.

  5. Anota los nombres de los depósitos de Cloud Storage creados recientemente para el siguiente paso, donde son referenciados como BUCKET_1_NAME y BUCKET_2_NAME.

gsutil

    gsutil mb -p project-id -c standard -l us-east1 -b on gs://BUCKET_1_NAME
    
    gsutil mb -p project-id -c standard -l europe-north1 -b on gs://BUCKET_2_NAME
    

Copia un archivo gráfico en tus depósitos de Cloud Storage

Copia un archivo gráfico de un depósito público de Cloud Storage en tus depósitos de Cloud Storage.

  1. Ejecuta el siguiente comando en Cloud Shell y reemplaza las variables de nombre del depósito por los nombres de tus depósitos de Cloud Storage:

        gsutil cp gs://gcp-external-http-lb-with-bucket/three-cats.jpg gs://BUCKET_1_NAME/static/us/
        
        gsutil cp gs://gcp-external-http-lb-with-bucket/two-dogs.jpg gs://BUCKET_2_NAME/static/eu/
        
  2. En Cloud Console, haz clic en Actualizar depósito para verificar que el archivo gráfico esté copiado.

Haz que los depósitos de Cloud Storage sean públicos

    gsutil iam ch allUsers:objectViewer gs://BUCKET_1_NAME
    
    gsutil iam ch allUsers:objectViewer gs://BUCKET_2_NAME
    

Crea el balanceador de cargas HTTP mediante los depósitos de backend

Para iniciar el proceso de configuración del balanceador de cargas de HTTP, sigue estos pasos:

  1. Ve a la página Balanceo de cargas en Google Cloud Console.
    Ir a la página Balanceo de cargas
  2. En Balanceo de cargas de HTTP(S), haz clic en Iniciar configuración.
  3. Selecciona De Internet a mis VM.
  4. Establece http-lb como el Nombre.

Configura el backend

  1. Haz clic en Configuración del backend.
  2. En Servicios de backend y depósitos de backend, haz clic en Crear o seleccionar servicios de backend y depósitos de backend y en Depósitos de backend > Crear un depósito de backend.
  3. Establece backend-bucket1 como el Nombre.
  4. Haz clic en Explorar en Depósito de Cloud Storage.
  5. Selecciona el BUCKET_1_NAME y haz clic en Seleccionar.
  6. Haz clic en Crear.

Repite este paso para crear backend-bucket2 y navegar a BUCKET_2_NAME.

Configura reglas de host y comparadores de rutas de acceso

Las reglas de host y los comparadores de rutas de acceso son componentes de configuración de un mapa de URL del balanceador de cargas de HTTP(S) externo.

  1. Haz clic en Reglas de host y de ruta de acceso.
  2. Para backend-bucket1, no se pueden cambiar los hosts ni las rutas de acceso predeterminadas. Esto significa que todas las solicitudes no coincidentes se dirigen a backend-bucket1.
  3. En backend-bucket2, ingresa * en el campo Hosts.
  4. En backend-bucket2, ingresa /static/eu/* en el campo Rutas de acceso.

    Hosts Rutas Backend
    Todos los que no coincidan (predeterminado) Todos los que no coincidan (predeterminado) backend-bucket1
    * /static/eu/* backend-bucket2
  5. Haz clic en Crear.

Configura el frontend

  1. Haz clic en Configuración del frontend.
  2. Verifica que las siguientes opciones estén configuradas con estos valores:

    Propiedad
    Valor (escribe un valor o selecciona una opción como se especifica)
    Protocolo
    HTTP
    Nivel de servicio de red
    Prémium
    Versión de IP
    IPv4
    Dirección IP
    Efímera
    Puerto
    80
  3. Haz clic en Listo.

Revisa la configuración

  1. Haz clic en Revisar y finalizar.
  2. Revisa los Depósitos de backend, las Reglas de host y de ruta de acceso y el Frontend.
  3. Haz clic en Crear.
  4. Espera a que se cree el balanceador de cargas.
  5. Haz clic en el nombre del balanceador de cargas (http-lb).
  6. Anota la dirección IP del balanceador de cargas para la siguiente tarea. Se denomina ip-address.

Envía tráfico a tu depósito de backend

Ahora que ya configuraste el balanceador de cargas, puedes comenzar a enviar tráfico a la dirección IP del balanceador de cargas.

Console

  1. Ve a la página Balanceo de cargas en Google Cloud Console.
    Ir a la página Balanceo de cargas
  2. Haz clic en http-lb para expandir el balanceador de cargas que acabas de crear.
  3. En la sección Backend, confirma que los depósitos de backend estén en buen estado. Debe haber una marca de verificación verde junto a los depósitos de backend. En caso contrario, primero vuelve a cargar la página. Cloud Console puede tardar unos minutos en indicar que los backends están en buen estado.
  4. Después de que en Cloud Console se muestre que los depósitos de backend están en buen estado, puedes probar el balanceador de cargas mediante un navegador web en https://ip-address/static/eu/two-dogs.jpg y https://ip-address/static/us/three-cats.jpg, en el que ip-address es la dirección IP del balanceador de cargas. Tu navegador debe procesar una página con contenido que muestre los archivos gráficos.

gcloud/mediante curl

Usa el comando curl para probar la respuesta desde la URL. Reemplaza ip-address por la dirección IPv4 del balanceador de cargas:

    curl https://ip-address/static/eu/two-dogs.jpg
    
    curl https://ip-address/static/us/three-cats.jpg
    

Próximos pasos