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 Platform.

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.

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 de Google Cloud Platform Console.
    Ir a la página Balanceo de cargas
  2. Haz 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 <var>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 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

Hay momentos en que es posible que desees borrar una regla de reenvío para reemplazarla por una nueva.

Otra razón para borrar una regla de reenvío es la detención de un balanceador de cargas por un tiempo limitado, sin borrarlo por completo. Estos son algunos ejemplos de cuándo esto podría ser útil:

  • Suspensión temporal de los cargos de un balanceador de cargas
  • Pausa temporal de las solicitudes entrantes a las instancias de VM

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.

Borra la regla de reenvío existente:

gcloud compute forwarding-rules delete forwarding rule name \
    --global | --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 esta página sobre cómo agregar una regla de reenvío.

Próximos pasos