Pub/Sub aşağıdakilere göre fiyatlandırılır:
- Mesaj alma ve gönderme
- Arama özelliğiyle ilgili mesajların depolanması: anlık görüntüler ve saklanan onaylanmış mesajlar
Mesaj alma ve gönderme
Mesaj gönderme fiyatlandırması
Mesaj alma ve gönderme, bir takvim ayında aktarılan veri hacmi başına fiyatlandırılır. İlk 10 GB'lık kullanım ücretsizdir. Ardından, mesaj alma veya gönderme fiyatı TiB başına 40 ABD doları olur.
Bir mesajın veri hacmi, şunların toplamıdır:
- Şifrelenen mesaj gövde dizesindeki bayt sayısı
- Her özellik için anahtar boyutu ve değeri
- Zaman damgası için 20 bayt
message_id
dizesinin boyutu- İsteğe bağlı ek alanlar; örneğin erken erişim ve diğer kısıtlı erişim API'leri ile ilişkili alanlar.
Mesaj boyutundan bağımsız olarak publish, push veya pull isteği başına minimum 1.000 bayt değerlendirilir. Yani, 1.000 bayttan küçük mesajlar için istek başına birden fazla mesajı gruplandırmak daha hesaplı olur.
Alma ve gönderme ücretleri yalnızca publish istekleri için ve pull, streamingPull veya push işlemleri kullanılarak gönderilen veriler için geçerlidir. Diğer işlemler ücretsizdir.
ABD dolarından farklı bir para biriminde ödeme yaparsanız Google Cloud Platform SKU'larında para biriminizde listelenen fiyatlar geçerli olur. Listelenen ücret TiB (240 bayt, yaklaşık 1,1 trilyon bayt) başınadır.
Filtrelenmiş mesajlar
Pub/Sub, bir filtreyle eşleşmeyen mesajları otomatik olarak onaylar ancak yine de bu mesajlar için mesaj gönderim ücreti ödersiniz.
1.000 baytlık minimum sınır, Pub/Sub hizmetinin otomatik olarak onayladığı mesajlarda geçerli değildir. Mesaj gönderim ücretleri, mesajların ne kadar küçük olduğuna bakılmaksızın bu mesajlardaki bayt sayısına bağlıdır.
Veri bölgesi çıkış ücretleri
Google Cloud bölgeleri arasında internet çıkışı ve mesaj gönderme ücretleri, aşağıdaki istisnalar haricinde Compute Engine ağ ücretleri ile tutarlıdır:
- Pub/Sub kullanımında alt bölge çıkış ücreti alınmaz.
- Google ürünlerine yapılan çıkış, çıkış ücretlerinden muaf tutulmaz.
Örneğin, us-west1
bölgesinde yayınlanan ve europe-west1
bölgesindeki bir aboneye gönderilen 1 MiB'lık mesaj, iki farklı SKU arasında şu ücretlendirmelerle sonuçlanır:
- 2 MiB'lık Mesaj Gönderme Temel Ücreti (1 MiB'lık yayınlama ve gönderme)
- 1 MiB'lık Bölgeler Arası Veri Gönderme Ücreti (Amerika'dan EMEA'ya)
Kullanımınızı anlamak için faturalandırma verilerinizi BigQuery'ye aktarabilirsiniz. Bu ayarı yaptıktan sonra, kullanımınızı anlamak için aşağıdaki gibi bir sorgu kullanabilirsiniz:
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;
Pub/Sub, bir filtreyle eşleşmeyen mesajları otomatik olarak onaylar. Pub/Sub'ın otomatik olarak onayladığı mesajlar için çıkış ücreti ödemezsiniz.
Örnek: mesaj alma ve gönderme
Tahmini toplam işlem maliyetlerinizi daha iyi açıklamak için iki aboneliği olan bir konuya, 1 MiB/saniye hızda 1.024 KB boyutunda mesajlar yayınlayan bir uygulamayı örnek verelim. Abonelerin bu hızı kullandığını varsayalım. Pub/Sub, verileri 1 MiB/saniye hızda alıp 2 MiB/saniye hızda göndererek toplamda 3 MiB/saniye veri aktarım hızına sahip olur. 30 günlük bir ay boyunca bu toplamda 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
olur. İlk 10 GB (ücretsiz) çıkarıldıktan sonra, TiB başına 40 ABD dolarından 7,406 TiB veri hacmi ile ücret 296,24 ABD doları olur.
Projeler arası faturalandırma
Pub/Sub'ı projeler arasında kullanıyorsanız bu hizmetin ücretleri, istenen kaynağı içeren projeye faturalandırılır:
- Yayınlama işlemi için faturalandırılan proje, konuyu içeren projedir.
- Abonelik işlemi için faturalandırılan proje, aboneliği içeren projedir.
Örneğin, abonelik A projesinde bulunuyorsa abonelikten alınan veriler için A projesi faturalandırılır. Bu durum, abonelik B projesindeki bir konuya eklenmiş olsa bile geçerlidir.
A projesindeki yetkili bir hizmet hesabı B projesindeki abonelikten gelen mesajları kullanıyorsa abonelikten alınan veriler için B projesi faturalandırılır.
Arama özelliğiyle ilgili mesaj depolama alanı
Fiyatlandırma
Aşağıdaki durumlarda, ayda GiB başına 0,27 ABD doları mesaj depolama alanı ücreti alınır:
- Onaylanan mesajları, arama özelliği kullanılarak yeniden işlenebilir duruma getirmek için saklamak amacıyla bir abonelik yapılandırılır. Bu durumda, saklanan onaylanmış mesajlar için depolama alanı ücretleri uygulanır.
- Bir aboneliğin anlık görüntüsü oluşturulur. Bu durumda, anlık görüntünün onaylanmamış mesajlarını saklamak için mesaj depolama alanı ücretleri uygulanır. Ayrıca, aboneliğin anlık görüntü oluşturulduğunda onaylanmamış mesajlardan oluşan bir yığını varsa o yığını yedi gün boyunca depolamaya eşdeğer tutarda tek seferlik ücret alınır.
Tek bir anlık görüntü, birden fazla abonelik genelinde kullanılabilir. Bu nedenle mesajları tekrar oynatmak için onaylanan tüm mesajları saklamaktansa anlık görüntüler daha ekonomik bir yol olabilir. Anlık görüntüler genellikle küçük bir faturalandırılabilir veri hacmine sahiptir ve bu hacim anlık görüntülerin ömrü süresince yavaş yavaş artar. Onaylanmış mesajları saklamak üzere yapılandırılan abonelikler, mesaj verileri için sabit bir zaman aralığına (sabit durumda) sahip olsa da daha kullanışlı olabilir.
Örnek: saklanan onaylanmış mesajlar içeren abonelik
Tek bir aboneliğe ve şu özelliklere sahip bir konu düşünün:
- Aboneliğin konusunun gelen veri hızı 1 MiB/saniye olarak sabittir.
- Abone, abonelikteki verileri 1 MiB/saniye hızda tüketerek bu hıza uyuyordur ve yeni mesajlar göz ardı edilebilir düzeyde yığılıyordur.
- Abonelik, onaylanan mesajları 7 gün saklayacak şekilde yapılandırılır.
Bu durumda, onaylanan mesaj hacmi şu şekilde büyür: 1 MiB/second x 3600 seconds/hour x 24 hours/day = 86.4 GiB/day
7 günden sonra, saklanan onaylanmış mesajların süresi dolmaya başlar ve depolanan toplam onaylanmış mesaj hacmi 7 days x 86.4 GiB/day =
605 GiB
olur. Bu hacimdeki mesajları depolamanın toplam aylık ücreti yaklaşık şu şekildedir: 605 GiB-month x $0.27/GiB-month = $163
Örnek: anlık görüntü mesajı depolama alanı ücretleri
Anlık görüntü mesaj depolama alanı ücretleri, anlık görüntünün konusuna yayınlanan yeni mesajlar için kademeli olarak artan ücreti ve oluşturulma sırasında alınan tek seferlik ücreti kapsar.
Saklanan onaylanmış mesajlara sahip aboneliğin anlık görüntüsünü örnek verelim. Anlık görüntünün oluşturulduğu aboneliğin onaylanmayan mesaj yığını olmadığından, anlık görüntü daha önce silinmediği takdirde yedi gün saklanır.
İlk dakikada yayınlanan veriler (60 MiB) 7 gün - 1 dakika; ikinci dakikada yayınlanan veriler ise 7 gün - 2 dakika süreyle saklanır. Süreç bu şekilde devam eder.
Bu senaryoya göre, anlık görüntünün süresi dolduğunda 605 GiB boyutunda yığın oluşur; toplamda 1/2 x 605 GiB x 7 days = 2118 GiB-days
depolama alanı kullanılır ve 30 günlük bir ayda bu kullanım 2118 GiB-days x (1/30 months/day) x $0.27/GiB-month = $19
olarak ücretlendirilir. Bu nedenle anlık görüntüler, onaylanan mesajların saklanmasına kıyasla daha uygun maliyetli olabilir.
Örnek: yığına sahip bir aboneliğin anlık görüntüsü
Aboneliğin, anlık görüntü oluşturulduğunda onaylanmamış mesajlardan oluşan bir yığını varsa o yığını tam yedi gün boyunca depolamaya eşdeğer tutarda tek seferlik ücret alınır. Örneğin, 10 GiB'lık onaylanmamış mesaj yığınına sahip bir aboneliği örnek verelim. Anlık görüntü oluşturulduğunda alınan tek seferlik ücret 10 GiB x 7 days / 30 days/month x 0.27/GiB-month = $0.63
olur.
Kaynak konumu kısıtlamalarıyla ilgili durumlar
Mesaj depolama politikasının, verileri Google Cloud bölgesinden çıkmaya zorlaması durumunda ek bölge çıkış (ağ) ücretleri uygulanabilir. Aşağıda belirtilen durumdaki bir mesajı ele alalım:
- A bölgesinde yayınlanmış
- Depolama alanı için B bölgesine yönlendirilmiş
- C bölgesindeki bir abone istemcisine gönderilmiş
Bu durumda:
- Konuyu içeren proje, A bölgesinden B bölgesine ağ çıkışı için faturalandırılır.
- Aboneliği içeren proje, B bölgesinden C bölgesine çıkış için faturalandırılır.
Konuyu içeren projeden, yayınlanan mesajın yalnızca mesajın yayınlandığı bölgeden farklı bir bölgede depolanması durumunda ( A ve B farklı bölgeler olduğunda) çıkış ücreti alınır. Aboneliği içeren projeden, yayınlanan mesajın yalnızca abone istemcisinin bulunduğu bölgeden farklı bir bölgede depolanması durumunda (B ve C farklı bölgeler olduğunda) çıkış ücreti alınır.