Google Cloud usa cuotas para limitar hasta qué punto se puede usar un determinado recurso compartido. Google Cloud Cada cuota representa un recurso contabilizable específico, como las llamadas a una API enviadas a un servicio concreto, el número de bytes enviados a un servicio concreto o el número de conexiones de streaming que usa tu proyecto de forma simultánea.
Muchos servicios también tienen límites que no están relacionados con el sistema de cuotas. Se trata de restricciones fijas, como el tamaño máximo de los mensajes o el número de recursos de Pub/Sub que puedes crear en un proyecto, que no se pueden aumentar ni reducir.
Ver y gestionar cuotas
En un proyecto determinado, puedes usar el panel de cuotas de gestión de identidades y accesos (IAM) y administración para ver los límites y el uso de las cuotas actuales. También puedes usar este panel de control para hacer lo siguiente:
- Reducir los límites de cuota
- Iniciar un proceso para solicitar límites de cuotas más altos
Para obtener más información sobre cómo monitorizar el uso de las cuotas y configurar alertas, consulta la página Monitorización.
Atribución de uso de cuota
En el caso del rendimiento del suscriptor de inserción, el uso de la cuota se factura en el proyecto con este tipo de suscripción. Este es el proyecto que aparece en el nombre de la suscripción.
En el caso de las demás cuotas, el uso se factura en el proyecto asociado a las credenciales especificadas en la solicitud. El uso de la cuota no se factura en el proyecto que contiene el recurso solicitado.
Por ejemplo, si una cuenta de servicio del proyecto A envía una solicitud de publicación para publicar un tema en el proyecto B, la cuota se factura en el proyecto A.
En algunos casos, puede que quieras que el uso de la cuota se facture a otro proyecto. Puedes usar el parámetro de sistema X-Goog-User-Project
para cambiar el proyecto al que se atribuye la cuota. Para obtener más información sobre X-Goog-User-Project
, consulta Parámetros del sistema.
Puedes usar la CLI de gcloud para definir el proyecto de atribución de cuota
de una solicitud específica. La CLI de gcloud envía el encabezado de solicitud X-Goog-User-Project
.
Debes tener el rol roles/serviceusage.serviceUsageConsumer
o un rol personalizado con el permiso serviceusage.services.use
en el proyecto que vayas a usar para la atribución de cuota.
En el siguiente ejemplo se muestra cómo obtener una lista de suscripciones del proyecto RESOURCE_PROJECT mientras se cobra la cuota de operaciones de administrador al proyecto QUOTA_PROJECT. Ejecuta el siguiente comando en el terminal de la CLI de Google Cloud:
gcloud pubsub subscriptions list --project=
RESOURCE_PROJECT --billing-project=
QUOTA_PROJECT
Sustituye QUOTA_PROJECT
por el ID del Google Cloud proyecto al que quieras asignar cuota.
Ten en cuenta que, en Pub/Sub, el proyecto facturado siempre es el que contiene el recurso. Solo puedes cambiar el proyecto para la atribución de cuota.
Cuotas de Pub/Sub
Las cuotas que se detallan en la siguiente tabla se pueden ver y editar según el proyecto en el panel de control de cuotas de APIs y servicios.
Hay tres tipos de cuotas regionales:
- Cuotas para regiones grandes:
europe-west1
,europe-west4
,us-central1
,us-east1
,us-east4
,us-west1
yus-west2
- Cuotas para regiones medianas:
asia-east1
,asia-northeast1
,asia-southeast1
,europe-west2
yeurope-west3
- Cuotas para regiones pequeñas: todas las demás
Las cuotas de entrega exactamente una vez son específicas de cada región. Consulta los detalles de cada región en la siguiente tabla.
Cuota | Límite de cuota predeterminado | Descripción |
---|---|---|
Rendimiento del editor por región |
|
El uso de la cuota se basa en el tamaño de los
Es posible incluir varios mensajes en una única solicitud de publicación
sin que se produzcan más cargos por ellos. El tamaño del mensaje, calculado a efectos del uso de la cuota, también incluye el campo |
Rendimiento del suscriptor de extracción por región |
|
El uso de la cuota se basa en el tamaño de los
El tamaño del mensaje, calculado a efectos del uso de la cuota, también incluye el campo |
Rendimiento del confirmador por región |
|
El uso de la cuota se basa en el tamaño de las solicitudes
|
Rendimiento de las suscripciones de inserción por región |
|
En el caso de las solicitudes de publicación de inserción que se realizan al punto de conexión de inserción, el uso de la cuota se basa en el tamaño de los |
Rendimiento de las suscripciones a BigQuery por región |
|
En el caso de las solicitudes realizadas a BigQuery, el uso de la cuota se basa en el tamaño de los |
Rendimiento de las suscripciones a Cloud Storage por región |
|
En el caso de las solicitudes que se hacen a Cloud Storage, el uso de la cuota se basa en el tamaño de los |
Rendimiento del suscriptor de StreamingPull por región |
|
El uso de la cuota se basa en el tamaño de los
Las bibliotecas de cliente usan las operaciones StreamingPull siempre que sea posible. |
Número de conexiones StreamingPull abiertas por región |
|
El número de conexiones StreamingPull abiertas en un momento determinado. Consulta StreamingPull. |
Operaciones de administrador | 6000 por minuto (100 operaciones/s) |
Cada operación de administrador, como GetTopicRequest, factura una unidad en esta cuota.
|
Número de mensajes consumidos de suscripciones con la opción entrega de una sola vez habilitada por región. |
|
El uso de la cuota se basa en el número de
|
Número de mensajes confirmados o cuyo plazo se ha ampliado cuando se usan suscripciones con la opción Entrega exactamente una vez habilitada por región |
|
El uso de la cuota se basa en el número de IDs de confirmación de las solicitudes
|
Unidades de cuota de rendimiento
El uso de la cuota de rendimiento se mide en unidades de 1 kB. 1 kB equivale a 1000 bytes. Por ejemplo, en una PublishRequest
con 105 mensajes de 50 bytes cada uno, el tamaño de los datos de usuario es de 105 * 50 bytes = 5250 bytes
, por lo que el uso de la cuota es de max(1kB, ceil(5250 bytes/1000)) = 6kB
.
Límites de recursos
Recurso | Límites |
---|---|
Proyecto |
10.000 temas 10.000 suscripciones vinculadas o sin vincular 5000 capturas 10.000 esquemas |
Tema |
10.000 suscripciones vinculadas 5000 capturas vinculadas Si se configura la retención de mensajes de temas, los mensajes publicados en un tema se pueden retener en el almacenamiento persistente durante un máximo de 31 días desde el momento de la publicación. |
Suscripción |
De forma predeterminada, retiene los mensajes no confirmados en el almacenamiento persistente durante 7 días a partir del momento de la publicación. No hay límite en el número de mensajes que se pueden retener. Si los suscriptores no utilizan su suscripción, esta caduca. El periodo de caducidad predeterminado es de 31 días. |
Esquema | Tamaño del esquema (campo definition ): 300 kBRevisiones por esquema: 20 |
Solicitud de publicación |
10 MB (tamaño total) 1000 mensajes |
Mensaje |
Tamaño del mensaje (el campo data ): 10 MBAtributos por mensaje: 100 Tamaño de clave de atributo: 256 bytes Tamaño de valor de atributo: 1024 bytes |
Transmisiones de StreamingPull | 10 MBps por transmisión abierta |
Respuesta de extracción unaria |
Número máximo de mensajes en la respuesta de extracción: 1000 Tamaño máximo de la respuesta de extracción: 10 MB |
Mensajes Pull/StreamingPull | El servicio puede imponer límites al número total de mensajes StreamingPull pendientes por conexión. Si llegas a estos límites, incrementa la frecuencia con la que confirmas los mensajes y el número de conexiones que usas. |
Solicitudes Acknowledge y ModifyAckDeadline |
512 KB (tamaño total) |
Claves de ordenación | Si los mensajes tienen claves de ordenación, el rendimiento máximo del editor será de 1 MB/s por clave. |
Objetos de un segmento de Cloud Storage | Cuando se usan temas de importación de Cloud Storage, el límite del número de objetos de un segmento es de 50 millones. |
Usar una cuenta de servicio para obtener cuotas más altas
Si se utiliza la herramienta de la CLI de Google Cloud con una cuenta de usuario normal (es decir, que no sea de servicio), las operaciones de Pub/Sub se limitan a una tasa adecuada para las operaciones manuales. Las tasas que superen este límite devolverán el error RESOURCE_EXHAUSTED. Para solucionarlo, comprueba que estás usando las credenciales de la cuenta de servicio. Si quieres usar las credenciales de la CLI de gcloud para la automatización, activa una cuenta de servicio para tus operaciones de Pub/Sub.
Usar endpoints de ubicación para enrutar solicitudes
Si tienes una cuota mayor en determinadas regiones, puedes dirigir las solicitudes a esas regiones mediante puntos finales Pub/Sub regionales. Cuando publicas mensajes en un punto final mundial, el servicio Pub/Sub puede dirigir el tráfico a regiones que no tengan suficiente cuota.
Discrepancias en las cuotas
Pueden producirse discrepancias en las cuotas si los mensajes publicados o recibidos no superan los 1000 bytes. Por ejemplo:
Si publicas 10 mensajes de 500 bytes cada uno en solicitudes independientes, el uso de tu cuota de editor ascenderá a 10.000 bytes. Esto se debe a que los mensajes inferiores a 1000 bytes se redondean automáticamente al siguiente incremento de 1000 bytes.
Si recibes esos 10 mensajes en una sola respuesta de extracción, el uso de tu cuota de suscriptor podría ser de solo 5 kB, ya que el tamaño real de cada mensaje se combina para determinar la cuota total.
También funciona a la inversa. El uso de la cuota de suscriptor puede ser mayor que el uso de la cuota de editor si publicas varios mensajes en una única solicitud de publicación o si recibes los mensajes en solicitudes de extracción independientes.