Tema 3 de 5
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».
Contenido
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
gcloud services operations describe.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.
| Tipo | Qué limita | Ejemplo |
|---|---|---|
| Asignación (allocation) | Cuánto de un recurso se te asigna | Número de VM de un proyecto |
| Tasa (rate) | Cuánto puedes consumir en un periodo | 1000 peticiones por día a una API |
| Concurrencia (concurrent) | Operaciones simultáneas, sobre todo las de larga duración | Operaciones insert de Compute Engine que duran hasta una hora |
Por nivel de la jerarquía
Por ubicación
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.
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.
Ir a IAM y administración → Cuotas y límites del sistema. Selecciona el proyecto.
Marcar la cuota y pulsar Editar. Usa el filtro para encontrarla.
Escribir el nuevo valor. Si supera el máximo del diálogo, elige Apply for higher quota y añade una descripción.
Enviar la solicitud. Si requiere revisión, recibes un correo de acuse y después otro con la decisión.
roles/servicemanagement.quotaViewer) para ver y Quota Administrator (roles/servicemanagement.quotaAdmin) para pedir ajustes.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.
ai, un número y una letra: us-west4-ai2b comparte la oleada de actualizaciones de us-west4-b.| Alcance | Comportamiento | Ejemplos |
|---|---|---|
| Zonal | Funciona en una zona; una caída de la zona le afecta. Solo lo usan recursos de la misma zona | Instancias de VM, discos zonales |
| Regional | Redundante entre zonas de una región; lo usa cualquier recurso de la región | IP externas estáticas, MIG regionales, App Engine |
| Multirregional | Google lo distribuye entre regiones y sigue funcionando si cae una | Cloud Storage, Spanner, Firestore, Cloud KMS, Artifact Registry. Ojo: una multirregión de BigQuery guarda los datos en una sola región |
| Global | Utilizable desde cualquier ubicación | Imá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.
No todos los productos ni todo el hardware están en todas partes. Para comprobarlo:
gcloud compute machine-types list muestra en qué zonas existe cada tipo de máquina.gcloud compute machine-types list --filter="name=c4d-standard-4"
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.
| Situación | Respuesta | Por qué |
|---|---|---|
| Un script debe activar BigQuery y Pub/Sub en un proyecto nuevo | gcloud services enable bigquery.googleapis.com pubsub.googleapis.com | Habilita varios servicios en una orden. |
| Error de cuota al crear la VM número 101 con una cuota de 100 | Borrar VM sin usar o pedir un ajuste | Es una cuota de asignación. |
| Una API devuelve error de cuota diaria a las 18:00 | Esperar a medianoche hora del Pacífico o pedir ajuste | Las cuotas por día se reinician a esa hora. |
| Pedir más cuota sin tener soporte de pago | Quotas & System Limits → Edit | No hace falta contrato de Customer Care. |
| Aviso al llegar al 80 % de una cuota | Create usage alert en Quotas & System Limits | Usa Cloud Monitoring y un canal de notificación. |
| Saber en qué zonas existe un tipo de máquina | gcloud compute machine-types list --filter | La disponibilidad cambia por zona. |
| Que la app siga funcionando si cae una zona | Repartir en varias zonas de la región | La zona es un único dominio de fallo. |
❓ ¿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?
Preguntas originales, cada una con su explicación.
Empezar un simulacro