Prezzi

I prezzi di Pub/Sub si basano su:

  • Importazione e consegna dei messaggi
  • Archiviazione dei messaggi correlati alla funzionalità Ricerca: snapshot e messaggi confermati conservati

Importazione e consegna dei messaggi

Prezzi per la consegna dei messaggi

I prezzi per l'importazione e la consegna dei messaggi si basano sul volume di dati trasmessi in un mese di calendario. I primi 10 gigabyte di utilizzo sono gratuiti. Superato questo limite, il prezzo per l'importazione o la consegna dei messaggi è di $ 40 per TiB.

Il volume dei dati di un messaggio è dato dalla somma di quanto segue:

  • Il numero di byte nella stringa del corpo del messaggio codificata
  • Per ogni attributo, la dimensione della chiave e il rispettivo valore
  • 20 byte per il timestamp
  • La dimensione della stringa message_id
  • Campi facoltativi aggiuntivi, ad esempio quelli associati all'accesso in anteprima e ad altre API con accesso limitato

Viene calcolato un minimo di 1000 byte per richiesta di pubblicazione, push o pull a prescindere dalle dimensioni del messaggio. Ciò significa che, nel caso di messaggi più piccoli di 1000 byte, è più economico raggruppare più messaggi per richiesta.

I costi per importazione e consegna vengono applicati solo alle richieste di pubblicazione e ai dati consegnati mediante le operazioni pull, streamingPull o push. Le altre operazioni sono gratuite.

Se la valuta utilizzata per il pagamento è diversa da USD, si applicano i prezzi elencati nella tua valuta negli SKU di Google Cloud. La tariffa elencata è per TiB (240 byte o 1,01 bilioni di byte circa).

Tariffe per traffico in uscita da aree geografiche dati

Le tariffe per il traffico Internet in uscita e la consegna dei messaggi tra le aree geografiche GCP sono in linea con le tariffe di rete di Compute Engine, con le seguenti eccezioni:

  • Non sono previste tariffe per l'utilizzo di Pub/Sub per il traffico in uscita tra zone.
  • I dati in uscita verso i prodotti Google non sono esenti dalle tariffe per il traffico in uscita.

Ad esempio, un messaggio da 1 MiB pubblicato in us-west1 e consegnato a un sottoscrittore in europe-west1 comporta addebiti per due SKU distinti:

  • 2 MiB per la consegna di base del messaggio (1 MiB per la pubblicazione e la consegna)
  • 1 MiB per la consegna dei dati tra aree geografiche dalle Americhe all'EMEA

Per comprendere il tuo utilizzo, puoi esportare i dati di fatturazione in BigQuery. Dopo averlo fatto, puoi utilizzare una query come quella riportata di seguito per capire il tuo utilizzo:

SELECT TIMESTAMP_TRUNC(usage_start_time, day) as usage_date,
  sku.description,
  usage.unit,
  sum(usage.amount) as egress_volume
FROM `BILLING_EXPORT_TABLE`
WHERE
  _PARTITIONTIME >= TIMESTAMP("2019-01-01")
  AND service.description = "Cloud Pub/Sub"
  AND (sku.description like "Internet data%"
      OR sku.description like "Inter-region data%")
GROUP BY usage_date, sku.description, usage.unit;

Esempio: importazione e consegna di messaggi

Per illustrare i costi operativi complessivi previsti, prendiamo come esempio un'applicazione che pubblica messaggi da 1024 kB in un argomento con due sottoscrizioni, a una velocità di 1 MiB/secondo. Supponendo che i sottoscrittori tengano il passo, Pub/Sub importa 1 MiB/secondo e consegna 2 MiB/secondo, per una velocità totale di trasmissione di dati di 3 MiB/secondo. Nel corso di un mese di 30 giorni, questo esempio equivale a 3 MiB/second x 3600 seconds/hour x 24 hours/day x 30 days/month x 1 month/(2^20 MiB/TiB) = 7.416 TiB. Dopo aver sottratto i primi 10 GB (che sono gratuiti), il volume di dati è pari a 7,406 TiB x $ 40 per TiB, quindi l'addebito sarà pari a $ 296,24.

Fatturazione tra progetti

Se utilizzi Pub/Sub in vari progetti, le tariffe di Pub/Sub vengono addebitate al progetto che contiene la risorsa richiesta:

  • Al progetto che contiene l'argomento viene addebitata la pubblicazione.
  • Al progetto che contiene la sottoscrizione viene addebitata la sottoscrizione.

Ad esempio, se la sottoscrizione risiede nel progetto A, i dati di cui viene eseguito il pull dalla sottoscrizione vengono addebitati al progetto A, anche se la sottoscrizione è associata a un argomento nel progetto B.

Se un account di servizio autorizzato nel progetto A consuma messaggi da una sottoscrizione nel progetto B, i dati di cui viene eseguito il pull dalla sottoscrizione vengono addebitati al progetto B.

Prezzi

L'archiviazione dei messaggi, calcolata a una tariffa di $ 0,27 per GiB al mese, viene addebitata nei casi seguenti:

  • Una sottoscrizione è configurata per conservare i messaggi confermati e consentire di rielaborarli utilizzando la funzionalità Ricerca. In questo caso, vengono addebitati i costi di archiviazione per i messaggi confermati conservati.
  • Viene creato lo snapshot di una sottoscrizione. In questo caso, vengono addebitate le tariffe di archiviazione dei messaggi per l'archiviazione dei messaggi non confermati dello snapshot. Inoltre, se la sottoscrizione ha un backlog di messaggi non confermati quando viene creato lo snapshot, viene addebitata una tariffa una tantum equivalente all'archiviazione del backlog per sette giorni.

L'utilizzo degli snapshot può essere più economico per conservare i messaggi da ripetere rispetto alla conservazione di tutti i messaggi confermati poiché un singolo snapshot può essere utilizzato in più sottoscrizioni. Gli snapshot di solito hanno un volume di dati fatturabili ridotto che aumenta in modo graduale in base all'età degli snapshot. Le sottoscrizioni configurate in modo da conservare i messaggi confermati hanno una finestra temporale fissa per i dati dei messaggi (in stato costante), ma potrebbero essere più convenienti.

Esempio: sottoscrizione con conservazione dei messaggi confermati

Prendiamo in considerazione un argomento con una singola sottoscrizione e quanto segue: - L'argomento ha una frequenza costante di dati in entrata pari a 1 MiB/secondo. - Il sottoscrittore sta al passo con la velocità dei dati della sottoscrizione, ovvero utilizza 1 MiB/secondo, e ha un backlog di nuovi messaggi trascurabile. - La sottoscrizione è configurata in modo da conservare i messaggi confermati per sette giorni.

In questa configurazione, il volume dei messaggi confermati aumenta di 1 MiB/second x 3600 seconds/hour x 24 hours/day = 86.4 GiB/day.

Dopo sette giorni, i messaggi confermati conservati iniziano a scadere e il volume totale di messaggi confermati conservati si ferma a 7 days x 86.4 GiB/day = 605 GiB. La tariffa mensile totale per l'archiviazione di questo volume di messaggi è di circa 605 GiB-month x $0.27/GiB-month = $163.

Esempio: tariffe di archiviazione dei messaggi degli snapshot

Le tariffe di archiviazione dei messaggi degli snapshot consistono in un addebito incrementale per i nuovi messaggi pubblicati nell'argomento dello snapshot oltre a una tariffa una tantum al momento della creazione. Prendiamo in considerazione uno snapshot della sottoscrizione con conservazione dei messaggi confermati. Lo snapshot ha una durata di sette giorni, a meno che non venga eliminato prima, perché la sottoscrizione da cui è stato creato non ha un backlog di messaggi non confermati. I dati pubblicati nel primo minuto (60 MiB) vengono archiviati per 7 giorni - 1 minuto, i dati pubblicati nel secondo minuto per 7 giorni - 2 minuti e così via. Questo scenario si traduce in un backlog di 605 GiB alla scadenza dello snapshot, per un totale di 1/2 x 605 GiB x 7 days = 2118 GiB-days di spazio di archiviazione utilizzato, per il quale la tariffa è di 2118 GiB-days x (1/30 months/day) x $0.27/GiB-month = $19 per un mese di 30 giorni. Pertanto, gli snapshot rappresentano un'alternativa potenzialmente economica alla conservazione dei messaggi confermati.

Esempio: snapshot di una sottoscrizione con un backlog

Se la sottoscrizione ha un backlog di messaggi non confermati quando viene creato lo snapshot, viene addebitata una tariffa una tantum equivalente all'archiviazione del backlog per tutti i sette giorni. Prendiamo ad esempio una sottoscrizione con un backlog di messaggi non confermati di 10 GiB. La tariffa una tantum al momento della creazione dello snapshot equivale a 10 GiB x 7 days / 30 days/month x 0.27/GiB-month = $0.63.

Implicazioni della restrizione sulla località delle risorse

Un criterio di archiviazione dei messaggi può comportare ulteriori tariffe (di rete) per il traffico in uscita dall'area geografica se forza l'uscita dei dati da un'area geografica di Google Cloud. Consideriamo un messaggio:

  • Pubblicato nell'area geografica A
  • Instradato all'area geografica B per l'archiviazione
  • Consegnato al client di un sottoscrittore nell'area geografica C

In questo caso:

  • Al progetto che contiene l'argomento vengono addebitati i costi relativi al traffico in uscita dalla rete per il passaggio dall'area geografica A all'area geografica B.
  • Al progetto che contiene la sottoscrizione vengono addebitati i costi relativi al traffico in uscita per il passaggio dall'area geografica B all'area geografica C.

Al progetto che contiene l'argomento verrà addebitata una tariffa relativa al traffico in uscita solo se il messaggio pubblicato viene archiviato in un'area geografica diversa da quella in cui è stato pubblicato (B è in effetti un'area geografica diversa da A). Al progetto che contiene la sottoscrizione verrà addebitata una tariffa relativa al traffico in uscita solo se il messaggio pubblicato viene archiviato in un'area geografica diversa da quella in cui si trova il client del sottoscrittore (C non è uguale a B).