Usa reglas de reenvío

Una regla de reenvío y su dirección IP correspondiente representan la configuración de frontend de un balanceador de cargas de Google Cloud.

Para obtener información general sobre las reglas de reenvío, consulta los conceptos de la regla de reenvío.

Antes de comenzar

Antes de agregar una regla de reenvío, reserva una dirección IP para ella. Esto no es un requisito, pero se recomienda.

Para los balanceadores de cargas internos, reserva una dirección IP interna estática.

Para los balanceadores de cargas externos, reserva una dirección IP externa estática.

Permisos

Para seguir esta guía, debes tener los permisos necesarios.

Si deseas obtener más información, consulta las siguientes guías:

Agrega una regla de reenvío

Console

Crea la regla de reenvío del balanceador de cargas

  1. Ve a la página Balanceo de cargas en Google Cloud Console.
    Ir a la página Balanceo de cargas
  2. Haga clic en Crear balanceador de cargas.
  3. Selecciona un tipo de balanceador de cargas, incluido el tipo de tráfico y si el balanceador de cargas está orientado a Internet o es solo interno.
  4. Haz clic en Continuar.
  5. Haz clic en Configuración de frontend. En la sección IP y puerto de frontend nuevos, realiza los siguientes cambios:

    1. Nombre: nombre de la regla de reenvío
    2. Subred: subred de la dirección IP reservada
    3. Desde la IP interna o la dirección IP, selecciona la dirección IP reservada con anterioridad.

      De manera opcional, puedes reservar una dirección IP ahora en esta IU o puedes usar una dirección IP efímera.

    4. Selecciona el protocolo, los números de puerto y la versión de IP.

      Solo algunos tipos de balanceadores de cargas admiten IPv6.

    5. Verifica que haya una marca de verificación azul junto a Configuración de frontend antes de continuar. Si no, revisa este paso.

  6. Haz clic en Revisar y finalizar. Vuelve a verificar la configuración.

  7. Haz clic en Crear.

gcloud

Crea una regla de reenvío para el servicio de backend. Cuando crees la regla de reenvío, especifica la dirección IP reservada en la subred.

gcloud compute forwarding-rules create forwarding rule name \
    --global | --region=region \
    --load-balancing-scheme=scheme \
    --network=network name \
    --subnet=subnet name \
    --address=reserved IP address \
    --ip-protocol=protocol type \
    --ports=port number \
    --backend-service=name of backend service \
    --backend-service-region=region of backend service

api

Para un balanceador de cargas regional, crea una regla de reenvío regional mediante una solicitud de POST al método forwardingRules.insert.

POST https://www.googleapis.com/compute/v1/projects/[project ID]/regions/us-west1/forwardingRules
{
  "name": "[forwarding rule name]",
  "IPAddress": "[reserved IP address]",
  "IPProtocol": "[protocol type]",
  "ports": [
    "[port number]"
  ],
  "loadBalancingScheme": "[scheme]",
  "subnetwork": "https://www.googleapis.com/compute/v1/projects/[project ID]/regions/[region]/subnetworks/[subnet name]",
  "network": "https://www.googleapis.com/compute/v1/projects/[project ID]/global/networks/[network name]",
  "backendService": "https://www.googleapis.com/compute/v1/projects/[project ID]/regions/[region]/backendServices/[backend service name]",
  "networkTier": "PREMIUM | STANDARD"
}
</code></pre>

Para un balanceador de cargas global, crea una regla de reenvío global mediante una solicitud POST al método globalForwardingRules.insert.

POST https://www.googleapis.com/compute/v1/projects/[project ID]/global/forwardingRules
{
  "name": "[forwarding rule name]",
  "IPAddress": "[reserved IP address]",
  "IPProtocol": "[protocol type]",
  "ports": [
    "[port number]"
  ],
  "loadBalancingScheme": "[scheme]",
  "subnetwork": "https://www.googleapis.com/compute/v1/projects/[project ID]/regions/[region]/subnetworks/[subnet name]
  "network": "https://www.googleapis.com/compute/v1/projects/[project ID]/global/networks/[network name]",
  "backendService": "https://www.googleapis.com/compute/v1/projects/[project ID]/regions/[region]/backendServices/[backend service name]
  "networkTier": "PREMIUM | STANDARD"
}

Borra una regla de reenvío

Es posible que quieras borrar una regla de reenvío por una de las siguientes razones:

  • Para reemplazarla por una nueva
  • Para detener un balanceador de cargas durante un tiempo limitado, sin borrar por completo el balanceador de cargas

Estas son dos de las razones por las que podrías tener que detener un balanceador de cargas sin borrarlo:

  • Para suspender de forma temporal los cargos del balanceador de cargas
  • Para pausar de forma temporal las solicitudes entrantes a tus backends

Si la regla de reenvío apunta a una dirección IP reservada (como se recomienda), puedes borrar la regla de reenvío para detener un balanceador de cargas. Esto detiene el tráfico al destino de la regla de reenvío.

Para borrar una regla de reenvío global, ejecuta el siguiente comando:

gcloud compute forwarding-rules delete forwarding rule name \
    --global

Para borrar una regla de reenvío regional, ejecuta este otro comando:

gcloud compute forwarding-rules delete forwarding rule name \
    --region=region

Para reiniciar el balanceador de cargas, vuelve a crear la regla de reenvío y conserva la misma dirección IP, como se describe en Agrega una regla de reenvío.

Qué sigue