Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
Dokumen ini menjelaskan cara menyiapkan notifikasi anomali biaya dan anggaran terprogram (Pratinjau) menggunakan Pub/Sub.
Anggaran
dan anomali biaya
biasanya dikonfigurasi untuk mengirim notifikasi email. Jika Anda menggunakan anggaran atau
deteksi anomali biaya sebagai alat kontrol biaya, notifikasi email mungkin bukan
metode terbaik untuk digunakan guna memastikan tindakan yang tepat waktu untuk mengontrol biaya Anda.
Anda dapat menyiapkan dan menggunakan notifikasi terprogram untuk mengotomatiskan respons kontrol biaya. Contoh respons kontrol biaya otomatis meliputi:
Anggaran menggunakan estimasi data Penagihan Cloud yang dapat
berubah hingga invoice Anda selesai.
Jika Anda menetapkan kebijakan organisasi
untuk membatasi pembagian resource menurut domain
(misalnya, mengaktifkan enforceInTransit di topik Pub/Sub),
Anda mungkin mengalami error saat mencoba menyiapkan atau menghubungkan topik
Pub/Sub. Dalam situasi ini, Anda mungkin perlu
memaksa akses akun
agar berhasil menghubungkan topik Pub/Sub ke anggaran. Untuk memaksa akses akun, selesaikan langkah-langkah berikut:
Hapus kebijakan organisasi yang berisi batasan pembatasan domain
menggunakan salah satu metode berikut:
Untuk menyiapkan notifikasi anggaran terprogram, Anda memerlukan izin untuk membuat atau
mengubah anggaran dan topik Pub/Sub. Anda memerlukan kumpulan izin yang berbeda, bergantung pada tingkat akses Anda.
Pengguna dengan izin Akun Penagihan Cloud
Hanya pengguna yang memiliki izin level project
(Pratinjau)
Jika organisasi Anda menggunakan peran khusus
untuk autentikasi, Anda memerlukan izin berikut dalam peran khusus:
pubsub.topics.list
di project target yang berisi topik Pub/Sub
yang ingin Anda gunakan.
Untuk mendapatkan izin yang diperlukan menggunakan peran bawaan, minta
administrator untuk memberi Anda salah satu peran
Cloud Billing IAM
bawaan berikut di akun Penagihan Cloud Anda:
pubsub.topics.list
di project target yang berisi topik Pub/Sub
yang ingin Anda gunakan.
Untuk mendapatkan izin yang diperlukan menggunakan peran yang telah ditentukan, minta
administrator untuk memberi Anda salah satu peran
Cloud Billing IAM
yang telah ditentukan berikut di project:
Untuk menyiapkan notifikasi anomali terprogram, Anda memerlukan izin untuk membuat atau mengubah anomali dan topik Pub/Sub. Anda harus memiliki
izin akun Penagihan Cloud.
Pengguna dengan izin akun Penagihan Cloud (Pratinjau)
Untuk mendapatkan izin yang diperlukan menggunakan peran bawaan, minta
administrator untuk memberi Anda salah satu peran
Cloud Billing IAM
bawaan berikut di akun Penagihan Cloud Anda:
Untuk menyiapkan notifikasi anggaran terprogram atau anomali, Anda harus
membuat topik Pub/Sub terlebih dahulu.
Jika sudah mengonfigurasi topik Pub/Sub untuk anomali anggaran atau biaya, Anda dapat melewati langkah ini.
Saat mengonfigurasi topik Pub/Sub untuk notifikasi penagihan, sebaiknya
gunakan project administrasi FinOps untuk menampung topik Pub/Sub terkait penagihan.
Klik add_boxCREATE TOPIC.
Di kolom Topic ID, berikan nama topik.
Pertahankan setelan langganan dan enkripsi default, lalu klik
Create.
Menghubungkan topik Pub/Sub
Untuk mengaktifkan notifikasi terprogram guna menerima pesan Pub/Sub dengan status anggaran atau anomali saat ini, Anda harus menghubungkan anggaran atau anomali ke topik Pub/Sub.
Notifikasi anggaran
Untuk menghubungkan topik Pub/Sub ke anggaran Penagihan Cloud,
selesaikan langkah-langkah berikut:
Pengguna dengan izin Akun Penagihan Cloud
Hanya pengguna yang memiliki izin level project
(Pratinjau)
Login ke halaman Anggaran & pemberitahuan di konsol Google Cloud .
Buka bagian Billing: Buka Google Cloud Navigation menumenu
pada konsol, lalu pilih Billing.
Jika diminta untuk memilih akun penagihan yang ingin Anda lihat
dan kelola, klik Buka akun penagihan tertaut untuk melihat akun penagihan yang ditautkan ke project yang Anda pilih.
Halaman Ringkasan Penagihan akan terbuka untuk akun penagihan yang dipilih.
Di bagian Pengelolaan biaya pada menu navigasi
Penagihan, pilih Anggaran & pemberitahuan.
Ketika diminta, pilih akun Penagihan Cloud yang ingin Anda kelola anomalinya.
Halaman Anomalies akan terbuka untuk akun penagihan yang dipilih.
Klik settingsKelola anomali.
Masukkan nilai Nilai minimum anomali untuk Dampak biaya. Jumlah
ini adalah nilai minimum yang memicu notifikasi. Jika Anda
tidak memberikan nilai, nilai minimum akan ditetapkan ke nol, dan notifikasi
akan dikirim untuk semua anomali.
Di bagian Notifikasi Pub/Sub, pilih
Hubungkan topik Pub/Sub untuk menerima pembaruan terprogram
tentang anomali.
Dari menu drop-down yang muncul, pilih topik Pub/Sub yang ingin Anda hubungkan untuk menerima notifikasi.
Topik dicantumkan menurut project. Anda mungkin perlu beralih project
yang sedang dilihat untuk menemukan topik yang ingin dipilih.
Jika Anda ingin membuat topik baru, beralihlah ke project yang Anda inginkan sebelum mengklik Create a topic.
Klik Simpan.
Format notifikasi
Notifikasi yang dikirim ke topik Pub/Sub terdiri dari dua bagian:
Atribut: Kumpulan key-value pair yang mendeskripsikan acara.
Data: String yang berisi objek JSON yang menjelaskan detail pemberitahuan
anggaran.
Notifikasi anggaran
Atribut
Atribut adalah key-value pair yang terdapat dalam semua notifikasi yang dikirim oleh Penagihan Cloud ke topik Pub/Sub Anda. Notifikasi selalu
berisi serangkaian key-value pair berikut, terlepas dari
payload notifikasi.
Nama atribut
Contoh
Deskripsi
billingAccountId
01D4EE-079462-DFD6EC
ID untuk akun Penagihan Cloud yang memiliki anggaran.
budgetId
de72f49d-779b-4945-a127-4d6ce8def0bb
ID untuk pemberitahuan anggaran dalam akun
Penagihan Cloud.
schemaVersion
1.0
Versi skema notifikasi.
Data
Detail pemberitahuan anggaran ditampilkan dalam string UTF-8 yang dienkode base64 yang berisi
objek JSON dengan properti berikut:
Data
Contoh
Deskripsi
budgetDisplayName
"My Personal Budget"
Nama yang dapat dibaca manusia yang ditetapkan ke anggaran.
costAmount
140.321
Jumlah biaya yang terakumulasi. Jenis biaya yang dilacak bergantung pada filter & setelan
anggaran.
costIntervalStart
"2021-02-01T08:00:00Z"
Awal periode pemberitahuan anggaran. `costAmount` mencakup biaya untuk penggunaan
yang dimulai pada saat ini. Ini adalah hari pertama jangka waktu anggaran
(bulan, kuartal, tahun, atau rentang tanggal kustom) selama penggunaan
anggaran terjadi.
budgetAmount
152.557
Jumlah yang dialokasikan dalam anggaran.
budgetAmountType
"SPECIFIED_AMOUNT"
Jenis jumlah anggaran. Ini dapat berupa salah satu dari nilai berikut:
"SPECIFIED_AMOUNT": Jumlah tetap.
"LAST_MONTH_COST": Total biaya yang dikeluarkan selama bulan kalender
terakhir.
"LAST_PERIODS_COST": Biaya yang dikeluarkan selama periode kalender
non-bulanan terakhir, seperti kuartal atau tahun.
alertThresholdExceeded
0.9
Batas pemberitahuan biaya aktual tertinggi yang dikonfigurasi terlampaui. Nilai adalah persen dalam format desimal (misalnya, 0,9 adalah 90%). Kunci ini tidak ada
jika biaya sebenarnya tidak melebihi nilai minimum.
forecastThresholdExceeded
0.2
Batas pemberitahuan biaya perkiraan tertinggi terlampaui. Nilai adalah persen dalam format desimal (misalnya, 0,2 adalah 20%). Kunci ini tidak ada
jika perkiraan biaya tidak melebihi nilai minimum.
currencyCode
"USD"
Mata uang pemberitahuan anggaran. Semua biaya dan jumlah pemberitahuan anggaran dalam
mata uang ini.
Notifikasi anomali
Atribut
Atribut adalah key-value pair yang terdapat dalam semua notifikasi yang dikirim oleh Cloud Billing ke topik Pub/Sub Anda. Notifikasi selalu
berisi serangkaian key-value pair berikut, terlepas dari payload
notifikasi.
Nama atribut
Contoh
Deskripsi
scope
scope_project
Cakupan anomali.
billingAccountName
billingAccounts/01D4EE-079462-DFD6EC
ID akun Penagihan Cloud tempat anomali terjadi.
resourceDisplayName
My project
Nama tampilan resource tempat anomali terjadi.
resourceName
projects/123456
ID resource tempat anomali terjadi.
SchemaVersion
1.0
Versi skema Pub/Sub.
Data
Detail pemberitahuan anomali ditampilkan dalam string UTF-8 berenkode base64 yang berisi objek JSON dengan properti berikut:
Kolom berulang yang berisi informasi tentang akar masalah
anomali.
Jaminan pengiriman notifikasi ke Pub/Sub
Setelah menghubungkan anggaran atau anomali ke topik Pub/Sub, Anda akan menerima notifikasi terprogram sebagai berikut:
Notifikasi anggaran
Notifikasi anggaran dikirim ke topik Pub/Sub beberapa
kali per hari dengan status anggaran Anda saat ini. Ritme ini
berbeda dengan ritme untuk email pemberitahuan anggaran, yang hanya dikirim
saat nilai minimum anggaran
terpenuhi.
Notifikasi Pub/Sub dikirim meskipun akun Penagihan Cloud tidak memiliki penggunaan.
Mungkin perlu waktu beberapa jam sebelum Anda menerima notifikasi Pub/Sub pertama.
Pub/Sub hanya menjamin pengiriman minimal satu kali. Anda mungkin
menerima pesan beberapa kali, dan pesan mungkin tiba secara tidak berurutan.
Jika pengiriman gagal karena kesalahan konfigurasi topik Pub/Sub, Anda tidak akan menerima notifikasi.
Pengiriman mungkin gagal karena salah satu alasan berikut:
Topik Pub/Sub tidak lagi ada.
Penagihan Cloud tidak lagi memiliki izin untuk memublikasikan ke topik Pub/Sub.
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Sulit dipahami","hardToUnderstand","thumb-down"],["Informasi atau kode contoh salah","incorrectInformationOrSampleCode","thumb-down"],["Informasi/contoh yang saya butuhkan tidak ada","missingTheInformationSamplesINeed","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 2025-08-18 UTC."],[[["\u003cp\u003eThis guide teaches how to set up automated responses to Cloud Billing budget and cost anomaly notifications using Pub/Sub.\u003c/p\u003e\n"],["\u003cp\u003eYou can automate cost control responses by integrating with platforms like Slack, managing resource consumption, or even disabling billing when a budget is reached.\u003c/p\u003e\n"],["\u003cp\u003eTo set up these programmatic notifications, you'll need specific permissions for creating or modifying budgets/anomalies and Pub/Sub topics, varying based on your access level (Cloud Billing account or project).\u003c/p\u003e\n"],["\u003cp\u003eBudget notifications are sent multiple times daily via Pub/Sub with the budget's status, while anomaly notifications are sent only when a predefined cost impact threshold is met.\u003c/p\u003e\n"],["\u003cp\u003eThe tutorial covers creating a Pub/Sub topic, connecting it to budgets or anomalies, and understanding the notification format, which includes attributes and data describing the event and budget/anomaly details.\u003c/p\u003e\n"]]],[],null,["# Set up programmatic notifications\n\n\u003cbr /\u003e\n\n| #### Interactive tutorials: Set up automated responses to Cloud Billing\n| budget notifications (30 minutes)\n|\n| In this interactive tutorial, you'll learn how to do the following:\n|\n| - Set up a Pub/Sub topic\n| - Create a budget on a billing account that's connected to the Pub/Sub topic\n| - Create a Cloud Run function that listens for updates from the Pub/Sub topic\n| - Test your Cloud Run function\n|\n| [**Launch the tutorial**](https://console.cloud.google.com/home/dashboard?walkthrough_tutorial_id=billing--budget--cost_enforcement)\n\nThis document explains how to set up programmatic budget and cost anomaly\n([Preview](/products#product-launch-stages))\nnotifications using\n[Pub/Sub](/pubsub/docs/pubsub-basics).\n\n[Budgets](/billing/docs/how-to/budgets#manage-notifications)\nand [cost anomalies](/billing/docs/how-to/manage-anomalies#set-notifications)\nare typically configured to send email notifications. If you use budgets or\ncost anomaly detection as a cost control tool, email notifications might not be\nthe best method to use to ensure timely action to control your costs.\nYou can set up and use programmatic notifications to automate cost control\nresponses. Examples of automated cost control responses include the following:\n\n- [Integrate with Slack for faster response](/billing/docs/how-to/send-notifications-to-slack)\n- [Manage resource consumption to reduce costs](/billing/docs/how-to/control-usage)\n- [Limit spending by disabling billing when you reach your budget](/billing/docs/how-to/disable-billing-with-notifications)\n\nLimitations\n-----------\n\n- Budgets use estimated Cloud Billing data which is subject to\n change until your invoice is finalized.\n\n- If you set [organization policies](/resource-manager/docs/organization-policy/overview)\n to [limit resource sharing by domain](/resource-manager/docs/organization-policy/restricting-domains)\n (for example, enabling `enforceInTransit` on Pub/Sub topics),\n you might encounter an error when you try to set up or connect Pub/Sub\n topics. In this situation, you might need to\n [force account access](/resource-manager/docs/organization-policy/restricting-domains#forcing_access)\n to successfully connect a Pub/Sub topic to a budget. To force\n account access, complete the following steps:\n\n 1. Remove the organization policy containing the domain restriction constraint using one of the following methods:\n - Temporarily [remove the organization policy](/resource-manager/docs/organization-policy/using-constraints#delete_an_organization_policy).\n - [Override the organization policy for the project](/resource-manager/docs/organization-policy/using-constraints#override_the_organization_policy_for_a_project) that contains the [Pub/Sub topic](#pub-sub-topic).\n 2. Follow the steps to [connect a Pub/Sub topic](#connect-topic).\n 3. Reinstate the [organization policy](/resource-manager/docs/organization-policy/using-constraints#set_up_enforcement_on_the_organization_resource) for the organization or project (optional).\n\nPermissions required for this task\n----------------------------------\n\n### Budget notifications\n\nTo set up programmatic budget notifications, you need permissions to create or\nmodify budgets and Pub/Sub topics. You need a different set of\npermissions depending on your level of access.\n\n### Anomaly notifications\n\nTo set up programmatic anomaly notifications, you need permissions to create\nor modify anomalies and Pub/Sub topics. You must have\nCloud Billing account permissions.\n\nCreate a Pub/Sub topic\n----------------------\n\nTo set up programmatic budget or anomaly notifications, you must first\n[create a Pub/Sub topic](/pubsub/docs/create-topic).\nIf you already configured a Pub/Sub\ntopic for budgets or cost anomalies, you can skip this step.\n\n1. Go to the Google Cloud console **Pub/Sub** page.\n\n [Sign in to Google Cloud console Pub/Sub](https://console.cloud.google.com/cloudpubsub/)\n2. Select a project to contain the Pub/Sub topic.\n\n When configuring Pub/Sub topics for billing notifications, we\n recommend you use a\n [FinOps administration project](/billing/docs/how-to/create-billing-account#set-up-billing-project)\n to contain your billing-related Pub/Sub topics.\n3. Click add_box\n **Create topic**.\n\n4. In the **Topic ID** field, provide a topic name.\n\n5. Retain the default subscription and encryption settings, and click\n **Create**.\n\n| **Note:** You must have permission to grant the Pub/Sub Publisher role on the topic to allow Cloud Billing to publish messages to it.\n\nConnect your Pub/Sub topic\n--------------------------\n\nTo enable programmatic notifications to receive Pub/Sub\nmessages with the current status of your budget or anomaly, you must connect\nyour budget or anomaly to your Pub/Sub topic. \n\n### Budget notifications\n\nTo connect a Pub/Sub topic to a Cloud Billing budget,\ncomplete the following steps:\n\n### Anomaly notifications\n\nTo connect a Pub/Sub topic to a cost anomaly, complete the\nfollowing steps:\n\nNotification format\n-------------------\n\nNotifications sent to the Pub/Sub topic consist of two parts:\n\n- **Attributes**: A set of key-value pairs describing the event.\n- **Data**: A string containing a JSON object that describes the budget alert\n details.\n\n### Budget notifications\n\n### Attributes\n\nAttributes are key-value pairs contained in all notifications sent\nby Cloud Billing to your Pub/Sub topic. Notifications always\ncontain the following set of key-value pairs, regardless of the\nnotification payload.\n\n### Data\n\nBudget alert details are returned in a base64-encoded UTF-8 string containing\na JSON object with the following properties:\n\n| **Note:** To test an example budget notification, follow the steps in [Listen to your notifications](/billing/docs/how-to/listen-to-notifications).\n\n### Anomaly notifications\n\n### Attributes\n\nAttributes are key-value pairs contained in all notifications sent by\nCloud Billing to your Pub/Sub topic. Notifications always\ncontain the following set of key-value pairs, regardless of the notification\npayload.\n\n### Data\n\nAnomaly alert details are returned in a base64-encoded UTF-8 string containing\na JSON object with the following properties:\n\nDelivery guarantees for notifications to Pub/Sub\n------------------------------------------------\n\nAfter you connect your budget or anomaly to a Pub/Sub topic, you\ncan expect to receive programmatic notifications as follows: \n\n### Budget notifications\n\n- Budget notifications are sent to the Pub/Sub topic multiple times per day with the current status of your budget. This cadence is different than the cadence for budget alert emails, which are only sent when a [budget threshold](/billing/docs/how-to/budgets#alert-thresholds) is met.\n- Pub/Sub notifications are sent even if the Cloud Billing account has no usage.\n- It may take several hours before you receive the first Pub/Sub notification.\n- Pub/Sub only guarantees at-least-once delivery. You might receive a message multiple times, and messages might arrive out of order.\n- If delivery fails due to Pub/Sub topic misconfiguration, you won't be notified.\n\nDelivery might fail for one of the following reasons:\n\n- The Pub/Sub topic no longer exists.\n- The Cloud Billing no longer has permission to publish to the Pub/Sub topic.\n- You exceeded your notification quota.\n- You have [organization policies](/resource-manager/docs/organization-policy/overview) in place that [limit resource sharing by domain](/resource-manager/docs/organization-policy/restricting-domains).\n\n### Anomaly notifications\n\n- Anomaly notifications are sent to the Pub/Sub topic only when the [threshold](/billing/docs/how-to/manage-anomalies#set-anomaly-threshold) is reached.\n- Pub/Sub only guarantees an at-least-once delivery. You might receive a message multiple times, and messages might arrive out of order.\n- If delivery fails due to Pub/Sub topic misconfiguration, you won't be notified.\n\nDelivery might fail for one of the following reasons:\n\n- The Pub/Sub topic no longer exists.\n- The Cloud Billing account no longer has permission to publish to the Pub/Sub topic.\n- You exceeded your notification quota.\n- You have [organization policies](/resource-manager/docs/organization-policy/overview) in place that [limit resource sharing by domain](/resource-manager/docs/organization-policy/restricting-domains).\n\nFor more information, see\n[Publish and receive messages in Pub/Sub](/pubsub/docs/publish-receive-messages-console).\n\nWhat's next\n-----------\n\nTo learn more about how you can use programmatic notifications, review the\nfollowing examples of programmatic cost control responses:\n\n- [Listen to your notifications](/billing/docs/how-to/listen-to-notifications)\n- [Send notifications to Slack](/billing/docs/how-to/send-notifications-to-slack)\n- [Control resource usage with notifications](/billing/docs/how-to/control-usage)\n- [Disable billing usage with notifications](/billing/docs/how-to/disable-billing-with-notifications)"]]