Brains4Cloud
ESEN
Practicar

Tema 3 de 5

D1 · Configurar un entorno de solución en la nube

APIs, cuotas y ubicaciones

Tres comprobaciones previas a cualquier despliegue: que la API del servicio esté habilitada en el proyecto, que haya cuota suficiente y que el producto exista en la región o zona elegida. El temario las agrupa en «Enabling APIs», «Assessing quotas and requesting increases» y «Verifying product availability across geographical locations».

Habilitar APIs en un proyecto

Los servicios de Google Cloud se habilitan proyecto a proyecto con Service Usage, incluidos los servicios privados creados con Cloud Endpoints. La consola sirve para la mayoría de los casos; para scripts se usa la CLI de Google Cloud y, para acceso programático, las bibliotecas de cliente de la API de Service Usage.

Rol necesario

Service Usage Admin (roles/serviceusage.serviceUsageAdmin) en el proyecto.

Consola

APIs y servicios → buscar la API → Habilitar. Para desactivarla, abrir la API y pulsar Disable API.

gcloud services enable bigquery.googleapis.com pubsub.googleapis.com
gcloud services disable bigquery.googleapis.com
gcloud services operations describe operations/OPERATION_ID
  • Se puede habilitar o desactivar varios servicios en una sola orden. Cada operación devuelve un ID que se consulta con gcloud services operations describe.
  • La propia API de Service Usage viene habilitada por defecto. Si la desactivas en el proyecto que hace las peticiones, las llamadas para habilitar o desactivar servicios fallan hasta que la vuelvas a activar desde la consola o gcloud.

¿Qué son las cuotas?

Una cuota limita cuánto de un recurso puede usar un proyecto: llamadas a una API, balanceadores en uso, proyectos que puedes crear. Protegen a la comunidad de usuarios evitando sobrecargas y te ayudan a controlar tu propio consumo.

El sistema Cloud Quotas supervisa el consumo, lo restringe y permite pedir cambios y automatizar ajustes. Si intentas consumir más de lo permitido, normalmente se bloquea el acceso y la tarea falla.

Cuota

Valor ajustable por proyecto, carpeta u organización. Se puede pedir que suba o baje.

Límite del sistema

Restricción fija, como el tamaño máximo de un archivo o un límite de esquema. No se puede aumentar ni reducir.

Las cuotas de una cuenta de prueba gratuita pueden ser más bajas. Al habilitar la facturación en el proyecto, la mayoría suben.

Tipos de cuota

TipoQué limitaEjemplo
Asignación (allocation)Cuánto de un recurso se te asignaNúmero de VM de un proyecto
Tasa (rate)Cuánto puedes consumir en un periodo1000 peticiones por día a una API
Concurrencia (concurrent)Operaciones simultáneas, sobre todo las de larga duraciónOperaciones insert de Compute Engine que duran hasta una hora

Nivel jerárquico y ubicación de la cuota

Por nivel de la jerarquía

  • Proyecto (lo más habitual): el uso en un proyecto no afecta a otro. Dentro del proyecto, la cuota se comparte entre todas las aplicaciones e IP.
  • Carpeta y organización: suman el uso de todos los hijos.
  • Usuario: p. ej., cuántos proyectos puede crear un usuario o cuenta de servicio.

Por ubicación

  • Global: el uso en cualquier región reduce la cuota de todas.
  • Regional: cuenta el uso de todas las zonas de la región.
  • Zonal: limita cada zona. Si además hay cuota regional, el uso en una zona reduce la regional compartida.

Ejemplo de la documentación de Compute Engine: con una cuota global de 50 target pools, crear 25 en una región y 25 en otra agota la cuota del proyecto en todas las regiones. Con una cuota regional de 7 IP reservadas, solo puedes reservar 7 por región.

Cuando se agota la cuota

La tarea falla con un error de cuota y seguirá fallando hasta que haya margen suficiente. Si no quieres cambiar el valor de la cuota:

Asignación

Libera recursos sin usar. Con una cuota de 100 VM y 99 creadas, pedir 10 más falla entera (aunque cabría una): borra nueve para que quepan.

Tasa

Espera al siguiente periodo. Las cuotas diarias se reinician a medianoche, hora del Pacífico; las de por minuto, un minuto después de la primera petición, en ventana móvil.

Solicitar un ajuste de cuota

1

Ir a IAM y administración → Cuotas y límites del sistema. Selecciona el proyecto.

2

Marcar la cuota y pulsar Editar. Usa el filtro para encontrarla.

3

Escribir el nuevo valor. Si supera el máximo del diálogo, elige Apply for higher quota y añade una descripción.

4

Enviar la solicitud. Si requiere revisión, recibes un correo de acuse y después otro con la decisión.

  • Roles: Quota Viewer (roles/servicemanagement.quotaViewer) para ver y Quota Administrator (roles/servicemanagement.quotaAdmin) para pedir ajustes.
  • La mayoría de los aumentos se piden a nivel de proyecto; pocos productos admiten aumentos a nivel de organización. Las reducciones sí se pueden pedir en proyecto, carpeta y organización.
  • La mayoría de las solicitudes las evalúan sistemas automáticos según la disponibilidad de recursos, la antigüedad en Google Cloud y otros factores. Algunas pasan a revisores humanos. Puede pedirse un pago por adelantado.
  • No hace falta un contrato de soporte de pago para pedir un ajuste. Si no puedes hacerlo desde la consola, se pide a Cloud Customer Care.
  • Agrupa las solicitudes por producto y área (por ejemplo, red por un lado y VM de Compute Engine por otro): mezclar muchas en una sola alarga la revisión.
  • El quota adjuster pide ajustes automáticamente cuando te acercas al límite, si hay historial de uso suficiente para predecir.
  • Para crear más proyectos sin organización se usa el formulario Request Project Quota Increase.

Alertas de cuota

El panel de Cloud Quotas está integrado con Cloud Monitoring. Desde Quotas & System Limits, en el menú de una cuota, Create usage alert abre una plantilla de política de alertas: eliges el canal de notificación (correo, SMS, Pub/Sub…) y se avisa cuando el uso llega a un porcentaje del máximo. Esta alerta básica solo existe para cuotas a nivel de proyecto. En el Explorador de métricas, el recurso Consumer Quota muestra las métricas de uso de cuota.

Región

Área geográfica independiente con tres o más zonas en tres o más centros de datos físicos. Estocolmo, Osaka y Montreal tienen tres zonas en uno o dos centros de datos y se están ampliando.

Zona

Área de despliegue dentro de una región. Se considera un único dominio de fallo. Nombre: región + letra, p. ej. us-central1-a.

  • Las zonas de una región tienen conexiones de alto ancho de banda y baja latencia entre sí.
  • Para alta disponibilidad, Google recomienda desplegar en varias zonas y en varias regiones, y tener un plan de recuperación por si se pierde una región entera.
  • Las AI zones son zonas especializadas con GPU y TPU de alta capacidad para entrenamiento e inferencia. Su nombre añade ai, un número y una letra: us-west4-ai2b comparte la oleada de actualizaciones de us-west4-b.
  • La comunicación dentro de una región suele ser más barata y rápida que entre regiones.
  • Elige la región cercana a tus usuarios para reducir la latencia, y donde lo exijan tus requisitos de residencia de datos.

Recursos zonales, regionales y multirregionales

AlcanceComportamientoEjemplos
ZonalFunciona en una zona; una caída de la zona le afecta. Solo lo usan recursos de la misma zonaInstancias de VM, discos zonales
RegionalRedundante entre zonas de una región; lo usa cualquier recurso de la regiónIP externas estáticas, MIG regionales, App Engine
MultirregionalGoogle lo distribuye entre regiones y sigue funcionando si cae unaCloud Storage, Spanner, Firestore, Cloud KMS, Artifact Registry. Ojo: una multirregión de BigQuery guarda los datos en una sola región
GlobalUtilizable desde cualquier ubicaciónImágenes de Compute Engine

Regla práctica

Para conectar un disco persistente zonal a una VM, ambos deben estar en la misma zona. Para asignar una IP estática a una VM, ambas deben estar en la misma región.

Comprobar la disponibilidad por ubicación

No todos los productos ni todo el hardware están en todas partes. Para comprobarlo:

  • La página Cloud locations y «Products available by location» indican qué servicios hay en cada región.
  • Para Compute Engine, gcloud compute machine-types list muestra en qué zonas existe cada tipo de máquina.
  • Confidential VM solo está en ciertas series y zonas; el nodo de un solo inquilino, donde haya series con tipos de nodo sole-tenant.
  • Si no sabes qué zona elegir, la consola permite elegir Any y Google decide según el tipo de máquina y la capacidad. La API de creación masiva y los MIG regionales con forma de distribución también eligen zona automáticamente.
gcloud compute machine-types list --filter="name=c4d-standard-4"

Mantenimiento transparente

Google mantiene su infraestructura sin interrumpir las VM: por defecto, la mayoría están configuradas para migración en vivo (live migrate), que las mueve a otro host de la misma zona sin apagarlas. La alternativa es stop and reboot: la VM se apaga limpiamente y se reinicia fuera del evento. Algunas series de máquinas solo admiten esta segunda opción. Se configura en la política de mantenimiento del host de la VM, que se ve en el dominio D2.

Escenarios de examen

SituaciónRespuestaPor qué
Un script debe activar BigQuery y Pub/Sub en un proyecto nuevogcloud services enable bigquery.googleapis.com pubsub.googleapis.comHabilita varios servicios en una orden.
Error de cuota al crear la VM número 101 con una cuota de 100Borrar VM sin usar o pedir un ajusteEs una cuota de asignación.
Una API devuelve error de cuota diaria a las 18:00Esperar a medianoche hora del Pacífico o pedir ajusteLas cuotas por día se reinician a esa hora.
Pedir más cuota sin tener soporte de pagoQuotas & System Limits → EditNo hace falta contrato de Customer Care.
Aviso al llegar al 80 % de una cuotaCreate usage alert en Quotas & System LimitsUsa Cloud Monitoring y un canal de notificación.
Saber en qué zonas existe un tipo de máquinagcloud compute machine-types list --filterLa disponibilidad cambia por zona.
Que la app siga funcionando si cae una zonaRepartir en varias zonas de la regiónLa zona es un único dominio de fallo.

Trampas frecuentes del examen

❓ ¿Se puede pedir el aumento de un límite del sistema?

No. Los límites del sistema son fijos; solo las cuotas se ajustan.

❓ ¿Agotar la cuota de un proyecto afecta a otros proyectos?

No en las cuotas de proyecto. Sí en las de carpeta u organización, que suman el uso de todos los hijos.

❓ ¿Hace falta soporte de pago para pedir más cuota?

No. Se pide desde Quotas & System Limits sin contrato de Customer Care.

❓ ¿Qué rol se necesita para habilitar una API?

Service Usage Admin (roles/serviceusage.serviceUsageAdmin) en el proyecto.

❓ ¿Una VM en us-central1-a puede usar un disco zonal de us-central1-b?

No. Los recursos zonales solo los usan recursos de la misma zona.

❓ ¿Cuántas zonas tiene como mínimo una región?

Tres. Google pretende ofrecer al menos tres zonas en cada región de uso general.

❓ ¿A qué hora se reinician las cuotas diarias?

A medianoche, hora del Pacífico.

¿Entendiste este tema?

Pon a prueba lo que acabas de aprender

Un equipo necesita lanzar 200 VM para un trabajo por lotes, pero la cuota regional de CPU del proyecto solo permite 120. Quieren que les avisen antes de volver a quedarse cortos. ¿Qué hacen?

¿Listo para poner a prueba "APIs, cuotas y ubicaciones"?

Preguntas originales, cada una con su explicación.

Empezar un simulacro