Prijzen

Pub/Sub-prijzen zijn gebaseerd op het volgende:

  • De verwerking en levering van berichten
  • Zoekgerelateerde berichtopslag: momentopnamen en bewaarde bevestigde berichten

De verwerking en levering van berichten

Prijzen voor berichtlevering

Prijzen voor berichtverwerking en -levering worden berekend op basis van de hoeveelheid overgedragen gegevens in een kalendermaand. De eerste 10 GB aan gebruik is gratis. Daarna bedraagt de prijs voor berichtverwerking en -levering $ 40 per TiB.

De hoeveelheid gegevens van een bericht is de som van het volgende:

  • Het aantal bytes in de gecodeerde berichtteksttekenreeks
  • Voor elk kenmerk de grootte van de sleutel en de bijbehorende waarde
  • 20 bytes voor het tijdstempel
  • De grootte van de message_id-tekenreeks
  • Aanvullende optionele velden, zoals velden die zijn gekoppeld aan vroege toegang en andere API's voor beperkte toegang.

Ongeacht de berichtgrootte wordt een minimum van 1000 bytes per push- of pull-verzoek in rekening gebracht. Dit betekent dat het bij berichten van minder dan 1000 bytes goedkoper is om meerdere berichten per verzoek in een batch te verpakken.

Kosten voor berichtverwerking en -levering zijn alleen van toepassing op publicatieverzoeken en gegevens die worden geleverd via pull-, streamingPull- of push-bewerkingen. Andere bewerkingen zijn kosteloos.

Als u in een andere valuta dan USD betaalt, gelden de prijzen die in uw valuta op Google Cloud SKU's worden vermeld. Het vermelde tarief is per TiB (240 bytes of ongeveer 1,1 biljoen bytes).

Kosten voor uitgaand verkeer voor gegevensregio's

De kosten voor uitgaand internetverkeer en het leveren van berichten tussen Google Cloud-regio's komen overeen met de netwerkkosten voor Compute Engine, met de volgende uitzonderingen:

  • Er zijn geen kosten voor uitgaand zoneverkeer voor Pub/Sub-gebruik.
  • Uitgaand verkeer naar Google-producten is niet vrijgesteld van kosten voor uitgaand verkeer.

Bijvoorbeeld: een bericht van 1 MiB dat wordt gepubliceerd in us-west1 en wordt geleverd aan een abonnee in europe-west1, leidt tot kosten voor twee verschillende SKU's:

  • 2 MiB voor basislevering van berichten (1 MiB voor publicatie en levering)
  • 1 MiB voor gegevenslevering tussen regio's van Amerika naar EMEA

U kunt uw factureringsgegevens exporteren naar BigQuery om inzicht te krijgen in uw gebruik. Nadat u dit heeft ingesteld, kunt u met een query als deze een beeld krijgen van uw gebruik:

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;

Voorbeeld: het verwerken en leveren van berichten

Als u een beeld van de totale verwachte operationele kosten wilt krijgen, neemt u als voorbeeld een app die berichten van 1024 KB publiceert naar een onderwerp met twee abonnementen, met een snelheid van 1 MiB/seconde. Als we ervan uitgaan dat de abonnees de snelheid kunnen bijhouden, verwerkt Pub/Sub 1 MiB/seconde en levert het 2 MiB/seconde. De totale overdrachtssnelheid is 3 MiB/seconde. In een maand van 30 dagen resulteert dit in 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. Als u hiervan de eerste 10 GB (die kosteloos zijn) aftrekt, is de hoeveelheid gegevens 7,406 TiB x $ 40 per TiB en zijn de kosten $ 296,24.

Facturering tussen projecten

Als u Pub/Sub in projecten gebruikt, worden Pub/Sub-kosten gefactureerd bij het project met de resource waarnaar het verzoek wordt gestuurd:

  • Het project dat het onderwerp bevat, wordt gefactureerd voor publicatie.
  • Het project dat het abonnement bevat, wordt gefactureerd voor het abonneren.

Als bijvoorbeeld het abonnement in project A zit, wordt project A gefactureerd voor gegevens die worden opgehaald uit het abonnement, ook als het abonnement is gekoppeld aan een onderwerp in project B.

Als een gemachtigd serviceaccount in project A berichten uit een abonnement in project B verbruikt, wordt project B gefactureerd voor de gegevens die worden opgehaald uit het abonnement.

Prijzen

Opslagkosten voor berichten worden in de volgende situaties berekend (tegen een tarief van $ 0,27 per GiB-maand):

  • Er is een abonnement geconfigureerd om bevestigde berichten te bewaren, zodat deze met behulp van zoekopdrachten opnieuw kunnen worden verwerkt. In dit geval worden er kosten in rekening gebracht voor de bewaarde bevestigde berichten.
  • Er is een momentopname van een abonnement gemaakt. In dit geval worden er kosten voor berichtopslag in rekening gebracht voor de opslag van de niet-bevestigde berichten van de momentopname. Als het abonnement daarnaast een backlog met niet-bevestigde berichten heeft op het moment dat de momentopname wordt gemaakt, worden er eenmalige kosten in rekening gebracht die overeenkomen met de opslag van deze backlog gedurende zeven dagen.

Omdat een enkele momentopname in meerdere abonnementen kan worden gebruikt, is het voordeliger om een momentopname te gebruiken voor het opnieuw afspelen van berichten dan alle bevestigde berichten te bewaren. Momentopnamen hebben meestal een kleine hoeveelheid factureerbare gegevens, die geleidelijk aan toeneemt naarmate de momentopnamen langer bestaan. Abonnementen die zijn geconfigureerd om bevestigde berichten te bewaren, hebben een vast tijdvenster met berichtgegevens (met een vaste toestand), maar kunnen meer gebruiksgemak bieden.

Voorbeeld: abonnement met bewaarde bevestigde berichten

Neem een onderwerp met één abonnement en de volgende kenmerken:

  • Het onderwerp heeft een vaste hoeveelheid inkomende gegevens van 1 MiB/seconde.
  • De abonnee heeft een abonnement dat voldoende ruimte biedt voor alle gegevens, verwerkt de gegevens met 1 MiB/seconde en heeft een verwaarloosbare backlog met nieuwe berichten.
  • Het abonnement is zo geconfigureerd dat bevestigde berichten zeven dagen worden bewaard.

Met deze instellingen groeit de hoeveelheid bevestigde berichten met 1 MiB/second x 3600 seconds/hour x 24 hours/day = 86.4 GiB/day.

Na zeven dagen beginnen bevestigde berichten te verlopen en bereikt de totale hoeveelheid aan opgeslagen bevestigde berichten een stabiel niveau van 7 days x 86.4 GiB/day = 605 GiB. De totale maandelijkse kosten voor de opslag van deze hoeveelheid berichten is ongeveer 605 GiB-month x $0.27/GiB-month = $163.

Voorbeeld: berichtopslagkosten voor een momentopname

De berichtopslagkosten voor momentopnamen bestaan uit incrementele kosten voor nieuwe berichten die naar het onderwerp van de momentopname worden gepubliceerd en eenmalige kosten op het moment dat deze wordt gemaakt. Neem als voorbeeld een momentopname van het abonnement met bewaarde bevestigde berichten. De momentopname heeft een levensduur van zeven dagen, tenzij deze eerder wordt verwijderd. Het abonnement op basis waarvan de momentopname is gemaakt, heeft immers geen backlog van niet-bevestigde berichten. De gegevens die in de eerste minuut worden gepubliceerd (60 MiB), worden 7 dagen minus 1 minuut opgeslagen, de gegevens in de tweede minuut 7 dagen minus 2 minuten, enzovoort. Dit scenario leidt tot een backlog met een grootte van 605 GiB op het moment dat de momentopname verloopt. Dit resulteert in een gebruikte opslag van 1/2 x 605 GiB x 7 days = 2118 GiB-days met 2118 GiB-days x (1/30 months/day) x $0.27/GiB-month = $19 aan kosten in een maand van dertig dagen. Momentopnamen kunnen dus een voordelig alternatief zijn voor het bewaren van bevestigde berichten.

Voorbeeld: momentopname van een abonnement met een backlog

Als het abonnement een backlog met niet-bevestigde berichten heeft op het moment dat de momentopname wordt gemaakt, worden er eenmalige kosten in rekening gebracht die overeenkomen met de opslag van deze backlog gedurende zeven volledige dagen. Neem bijvoorbeeld een abonnement met een backlog van 10 GiB aan niet-bevestigde berichten. De eenmalige kosten tijdens het maken van de momentopname zijn 10 GiB x 7 days / 30 days/month x 0.27/GiB-month = $0.63.

Effecten van locatiebeperkingen voor resources

Beleid voor berichtopslag kan leiden tot extra kosten voor uitgaand verkeer van een regio (netwerk) als het beleid bepaalt dat de gegevens een Google Cloud-regio moeten verlaten. Als voorbeeld bekijken we een bericht dat:

  • is gepubliceerd in regio A,
  • wordt gerouteerd naar regio B voor opslag en
  • wordt geleverd aan een abonnementclient in regio C.

In dit geval gebeurt het volgende:

  • Het project dat het onderwerp bevat, wordt gefactureerd voor uitgaand netwerkverkeer van regio A naar regio B.
  • Het project dat het abonnement bevat, wordt gefactureerd voor uitgaand netwerkverkeer van regio B naar regio C.

Voor het project dat het onderwerp bevat, worden alleen kosten voor uitgaand verkeer in rekening gebracht als het gepubliceerde bericht wordt opgeslagen in een andere regio dan die waarin het bericht werd gepubliceerd (B is een andere regio dan A). Voor het project dat het abonnement bevat, worden alleen kosten voor uitgaand verkeer in rekening gebracht als het gepubliceerde bericht wordt opgeslagen in een andere regio dan die waarin de abonnementclient zich bevindt (C is niet hetzelfde als B).