Usa los niveles de servicio de red

En esta página, se muestra cómo especificar un nivel de red para tus cargas de trabajo. Antes de configurar un nivel de red de forma manual, consulta la información en la descripción general de los niveles de servicio de red.

Especificaciones

Los niveles de servicio de red solo son compatibles con los recursos de Google Cloud aptos. El nivel Estándar solo está disponible en regiones específicas. El nivel Premium está disponible en todas las regiones de Google Cloud.

Grupos de direcciones IP externas

El hecho de que una dirección IP externa sea regional o global (y, si es regional, de qué nivel de red es), determina el grupo desde el que se elige la dirección IP. Las direcciones IP en un grupo no pueden moverse a otro grupo.

En el nivel Estándar, el grupo de direcciones IP externas regionales es único para su respectiva región, no para el tipo de recurso apto. Por ejemplo, las instancias de máquinas virtuales (VM) y los balanceadores de cargas de Google Cloud que usan el nivel Estándar (balanceadores de cargas de HTTP(S) externos, balanceadores de cargas de proxy SSL, balanceadores de cargas de proxy TCP y balanceadores de cargas de red) usan direcciones IP del grupo de nivel Estándar de la región elegida.

En el nivel Premium, los balanceadores de cargas de HTTP(S) externos, los balanceadores de cargas de proxy SSL y los balanceadores de cargas de proxy TCP usan direcciones IP externas globales, mientras que los balanceadores de cargas de red y las instancias de VM usan direcciones IP externas regionales. En cada región, el grupo de direcciones IP externas regionales para el nivel Premium es independiente del grupo de direcciones IP externas globales.

Direcciones IP sin asignar

Las direcciones IP externas regionales sin usar en el nivel Estándar se comportan de manera diferente a las direcciones IP sin usar en el nivel Premium.

Las direcciones IP del nivel Estándar se estacionan de forma automática cuando no se asignan a un recurso apto. Cuando una dirección IP se estaciona, el balanceador de cargas responde a ciertas solicitudes a esa dirección IP. Por ejemplo, las solicitudes HTTP enviadas a una dirección IP estacionada del nivel Estándar se envían a una página web HTTP 404 (no encontrada) alojada en Google. El tráfico enviado a las direcciones IP estacionadas del nivel Estándar no se descarta. Además, las direcciones IP del nivel Estándar que se procesan para su asignación a un recurso pueden comportarse como si estuvieran estacionadas.

Una dirección IP externa del nivel Estándar asignada a una instancia de VM podría pasar a un estado estacionado durante la migración en vivo si la migración toma más de 20 minutos. Una dirección IP externa del nivel Premium asignada a una VM descarta el tráfico durante las migraciones en vivo extensas.

Establece el nivel de red predeterminado para un proyecto

Sigue estas instrucciones a fin de definir un nivel de red predeterminado para el proyecto. Los recursos aptos recién creados en el proyecto usan este nivel, a menos que especifiques un nivel para los recursos. Si cambias el nivel de red predeterminado de un proyecto, no cambiará el nivel de ningún recurso existente.

Console

  1. En Google Cloud Console, ve a la página Niveles de servicio de red.

    Ir a la página Niveles de servicio de red

  2. Haz clic en Cambiar nivel.

  3. Selecciona Premium o Estándar y, luego, haz clic en Cambiar.

gcloud

gcloud compute project-info update \
    --default-network-tier NETWORK_TIER

Reemplaza NETWORK_TIER por PREMIUM o STANDARD. El valor predeterminado es PREMIUM.

API

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/setNetworkTier
{
  "networkTier": "STANDARD"
}

Reemplaza PROJECT_ID con el ID del proyecto.

Terraform

Puedes usar un recurso de Terraform a fin de establecer el nivel de de red para un proyecto. En este ejemplo, se establece el nivel en STANDARD.

resource "google_compute_project_default_network_tier" "project-tier" {
  project      = var.project_id # Replace this with your project ID in quotes
  network_tier = "STANDARD"
}

El nivel de red que especificas para un recurso siempre tiene prioridad sobre el nivel de red predeterminado que defines para el proyecto. Por ejemplo, si el nivel de red predeterminado del proyecto es Premium, puedes crear una instancia o un balanceador de cargas en el nivel Estándar.

Configuración de nivel (haz clic para ampliar la imagen)
Configuración de nivel (haz clic para ampliar)

Crea direcciones IP externas y estáticas

Cuando creas una dirección IP externa, regional y estática, puedes especificar PREMIUM o STANDARD para su nivel de red.

Para reservar una dirección IP externa, regional y estática que use el nivel Estándar, haz lo siguiente.

Console

  1. En Cloud Console, ve a la página Direcciones IP externas.

    Ir a la página Direcciones IP externas

  2. Haz clic en Reservar dirección estática.

  3. En Tipo, selecciona Regional y, luego, selecciona una región en la que se admita el nivel Estándar.

  4. En Nivel de servicio de red, selecciona Estándar.

  5. Propaga los otros campos según corresponda.

  6. Haz clic en Reservar.

gcloud

gcloud compute addresses create my-standard-tier-ip-address \
     --region REGION \
     --network-tier STANDARD

Reemplaza REGION por la región en la que crearás la dirección IP regional.

Para obtener otras marcas de línea de comandos, consulta gcloud compute addresses.

API

  POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/addresses
{
  "name": "my-standard-tier-ip-address",
  "networkTier": "STANDARD"
}

Reemplaza lo siguiente:

  • PROJECT_ID: Es el ID de tu proyecto.
  • REGION: Es la región en la que crearás la regla de reenvío.

Terraform

Puedes usar un recurso de Terraform a fin de establecer el nivel de red para una dirección IP externa regional. En este ejemplo, se establece el nivel como STANDARD.

resource "google_compute_address" "ip-address" {
  project      = var.project_id # Replace this with your project ID in quotes
  name         = "my-standard-tier-ip-address"
  region       = "us-central1"
  network_tier = "STANDARD"
}

Crea reglas de reenvío

Puedes especificar el nivel de red cuando creas una regla de reenvío nueva. Los valores posibles son PREMIUM (predeterminado) y STANDARD:

  • Si especificas una dirección IP externa con la marca --address, esa dirección IP debe estar en el mismo nivel que especifiques para la regla de reenvío.
  • Si creas una regla de reenvío y no especificas la marca --address, Google Cloud asigna una dirección IP efímera del nivel adecuado.

El nivel Estándar solo está disponible para las reglas de reenvío regionales. Las reglas de reenvío globales siempre usan el nivel Premium.

Un balanceador de cargas puede usar el nivel Premium y el nivel Estándar mediante dos reglas de reenvío diferentes, una para cada nivel. Esto puede ser útil en situaciones en las que una aplicación requiere la menor latencia que el nivel Premium puede proporcionar, y otra aplicación, que supongamos que entrega contenido estático, funciona bien con una latencia mayor y puede estar en el nivel Estándar.

Console

Para crear una regla de reenvío del nivel Estándar en Cloud Console, debes crear o actualizar un balanceador de cargas existente. Los balanceadores de cargas que tienen servicios de backend en más de una región no pueden usar el nivel Estándar. Si quieres obtener instrucciones para elegir y crear un balanceador de cargas, consulta la documentación sobre el balanceo de cargas.

  1. En Cloud Console, 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 existente y, luego, en Editar .

  3. Haz clic en Configuración de frontend.

  4. Haz clic en Agregar IP y puerto de frontend.

  5. En Nivel de servicio de red, haz clic en Estándar.

  6. Propaga los demás campos según corresponda.

  7. Haz clic en Listo y, luego, en Actualizar.

gcloud

gcloud compute forwarding-rules create my-standard-tier-regional-rule \
     --load-balancing-scheme=SCHEME \
     --network-tier STANDARD \
     --address my-standard-tier-ip-address \
     --region REGION \
     --ports PORTS \
     [--target-http-proxy=TARGET_HTTP_PROXY \
     | --target-https-proxy=TARGET_HTTPS_PROXY \
     | --target-ssl-proxy=TARGET_SSL_PROXY \
     | --target-tcp-proxy=TARGET_TCP_PROXY \
     | --target-pool=TARGET_POOL \
     | --target-instance=TARGET_INSTANCE]

Reemplaza lo siguiente:

  • SCHEME: el esquema de balanceo de cargas del balanceador de cargas
  • REGION: Es la región en la que crearás la regla de reenvío.
  • TARGET_HTTP_PROXY, TARGET_HTTPS_PROXY, TARGET_SSL_PROXY, TARGET_TCP_PROXY, TARGET_POOL o TARGET_INSTANCE: Es el destino adecuado para la regla, según qué marca de destino especificaste.

Para obtener otras marcas de línea de comandos, consulta gcloud compute forwarding-rules.

API

  POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/forwardingRules
{
  "name": "my-standard-tier-regional-rule",
  "networkTier": "STANDARD",
    "IPAddress": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/addresses/my-standard-tier-ip-address",
  "IPProtocol": "tcp",
    "target": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/targetPools/TARGET_POOL"
}

Reemplaza lo siguiente:

  • PROJECT_ID: Es el ID de tu proyecto.
  • REGION: Es la región en la que crearás la regla de reenvío.
  • TARGET_HTTP_PROXY, TARGET_HTTPS_PROXY, TARGET_SSL_PROXY, TARGET_TCP_PROXY, TARGET_POOL o TARGET_INSTANCE: Es el destino adecuado para la regla, según qué marca de destino especificaste.

Terraform

Puedes usar un recurso Terraform a fin de establecer el nivel de red para una regla de reenvío. En este ejemplo, el nivel se configura como STANDARD para una regla de reenvío que apunta a una instancia de destino.

resource "google_compute_forwarding_rule" "target-fr" {
  project      = var.project_id # Replace this with your project ID in quotes
  name         = "target-instance-forwarding-rule"
  region       = "us-east4"
  target       = google_compute_target_instance.target.id
  port_range   = "80"
  network_tier = "STANDARD"
}

Instancias de VM

Crea instancias de VM

Puedes especificar el nivel de red cuando creas una instancia que se conecta directamente a Internet. Los valores posibles son PREMIUM (predeterminado) y STANDARD. El nivel de red solo es relevante si la instancia se comunica directamente con Internet. Si la instancia solo puede llegar a Internet a través de un balanceador de cargas, no necesitas especificar un nivel de red porque la conexión usa el nivel especificado para la regla de reenvío del balanceador de cargas.

Si asignas una dirección IP externa y estática mediante una dirección IP reservada, el nivel de red de la dirección IP debe coincidir con el de la instancia. Si asignas una dirección IP externa y efímera, se usará el nivel de red de la instancia para asignar una dirección IP del grupo correspondiente.

Console

  1. En Cloud Console, ve a la página Instancias de VM.

    Ir a la página Instancias de VM

  2. Haz clic en Crear instancia.

  3. Haz clic en Administración, seguridad, discos, redes, instancia única.

  4. Haz clic en la pestaña Redes.

  5. En Interfaces de red, en la interfaz de red predeterminada, haz clic en Editar .

  6. En Nivel de servicio de red, selecciona Estándar.

  7. Propaga los otros campos según corresponda.

  8. Haz clic en Crear.

gcloud

gcloud compute instances create my-standard-tier-instance \
    --network-tier STANDARD

Para obtener otras marcas de línea de comandos, consulta gcloud compute instances.

API

  POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
{
  "name": "my-standard-tier-instance",
  "networkInterfaces":[
   {
    "network": "global/networks/default",
    "name": "nic0",
    "accessConfigs": [
     {
     "name": "External NAT",
     "type":"ONE_TO_ONE_NAT",
     "networkTier":"STANDARD"
     }
    ]
   }
  ],
    "IPAddress": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/addresses/my-standard-tier-ip-address",
  ... other parameters
}

Reemplaza lo siguiente:

  • PROJECT_ID: Es el ID de tu proyecto.
  • ZONE: Es la zona en la que crearás la instancia.
  • REGION: Es la región del recurso.

    Para obtener una lista de otros parámetros obligatorios y opcionales, consulta Recurso de REST: instances.

Terraform

Puedes usar un recurso Terraform si quieres configurar el nivel de red para una VM de Compute Engine. En este ejemplo, se establece el nivel como STANDARD.

resource "google_compute_address" "ip-address" {
  project      = var.project_id # Replace this with your project ID in quotes
  name         = "my-standard-tier-ip-address"
  region       = "us-central1"
  network_tier = "STANDARD"
}

Agrega una configuración de acceso a una instancia

Cuando creas una configuración de acceso para una instancia (es decir, cuando le asignas una dirección IP externa que sea efímera o estática), también puedes especificar el nivel de la instancia. Si especificas una dirección IP existente, su nivel debe ser el mismo que el que especifiques para la instancia. Los valores posibles son PREMIUM y STANDARD.

gcloud

gcloud compute instances add-access-config INSTANCE_NAME \
    [--network-interface INTERFACE_NAME; default="nic0"] \
    [--access-config-name=ACCESS_CONFIG_NAME; default="external-nat" \
    [--address=IP_ADDRESS \
    [--network-tier PREMIUM | STANDARD; default=”PREMIUM”]]

Reemplaza lo siguiente:

  • INSTANCE_NAME: Es el nombre de la instancia.
  • INTERFACE_NAME: Es el nombre de la interfaz; el valor predeterminado es nic0 (el nombre de la interfaz predeterminada en la instancia).
  • ACCESS_CONFIG_NAME: Es el nombre de la configuración de acceso para la interfaz.
  • IP_ADDRESS: Es la URL del recurso de dirección IP, si especificas una dirección IP.

API

  POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/addAccessConfig?networkInterface=nic0
{
  "name": INSTANCE_NAME,
  "networkTier": "STANDARD",
  ... other parameters
}

Reemplaza lo siguiente:

  • PROJECT_ID: Es el ID de tu proyecto.
  • ZONE: Es la zona de la instancia.
  • INSTANCE_NAME: El nombre de la instancia

Para obtener una lista de otros parámetros obligatorios y opcionales, consulta Recurso de REST: instances.

Actualiza el nivel de red de una instancia

Puedes usar update-access-config para cambiar el nivel de una instancia. Los valores posibles para el nivel de red son PREMIUM y STANDARD. Si la instancia tiene una dirección IP, o si estás asignando una, el nivel debe ser el mismo que el que especifiques con este comando.

Console

  1. En Cloud Console, ve a la página Instancias de VM.

    Ir a la página Instancias de VM

  2. Haz clic en el nombre de una instancia.

  3. Haz clic en Editar .

  4. En Interfaces de red, en la interfaz de red predeterminada, haz clic en Editar .

  5. En Nivel de servicio de red, selecciona Estándar.

  6. Haz clic en Guardar.

gcloud

gcloud compute instances update-access-config INSTANCE_NAME \
    --network-interface nic0 \
    --network-tier STANDARD

Reemplaza INSTANCE_NAME por el nombre de la instancia.

API

  POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/updateAccessConfig?networkInterface=nic0
{
  "networkTier": "STANDARD",
  ... other parameters
}

Reemplaza lo siguiente:

  • PROJECT_ID: Es el ID de tu proyecto.
  • ZONE: Es la zona de la instancia.
  • INSTANCE_NAME: Es el nombre de la instancia.

Crea una plantilla de instancias que use el nivel Estándar

Cuando configures el nivel de red durante la creación de la plantilla de instancias, haz lo siguiente.

Console

  1. En Cloud Console, ve a la página Plantillas de instancias.

    Ir a la página Plantillas de instancias

  2. Haz clic en Crear plantilla de instancias.

  3. Haz clic en Administración, seguridad, discos, redes, instancia única.

  4. Haz clic en la pestaña Redes.

  5. En Nivel de servicio de red, selecciona Estándar.

  6. Propaga los otros campos según corresponda.

  7. Haz clic en Crear.

gcloud

gcloud compute instance-templates create my-standard-tier-instance-template \
    --network-tier STANDARD

Para obtener otras marcas de línea de comandos, consulta gcloud compute instance-templates.

API

  POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceTemplates
{
  "name": "my-standard-tier-instance-template",
  "networkInterfaces[].accessConfigs[].networkTier": "STANDARD",
  ... other parameters
}

Reemplaza lo siguiente:

  • PROJECT_ID: Es el ID de tu proyecto.
  • ZONE: Es la zona de la plantilla de instancias.

Para obtener una lista de otros parámetros obligatorios y opcionales, consulta Recurso de REST: instanceTemplates.

Terraform

Puedes usar un recurso de Terraform para establecer el nivel de red de una plantilla de instancias de Compute Engine. En este ejemplo, se establece el nivel como STANDARD.

resource "google_compute_instance_template" "template" {
  project      = var.project_id # Replace this with your project ID in quotes
  name         = "template"
  machine_type = "e2-medium"
  disk {
    source_image = "debian-cloud/debian-10"
    boot         = true
  }
  network_interface {
    network = "default"
    access_config {
      network_tier = "STANDARD"
    }
  }
}