Skip to main content

Langkah-langkah membuat Zero Spend Budget Alert (Manual)

🟒 Zero spend budget β€” Dirancang khusus untuk akun baru yang hanya ingin menggunakan Free Tier dan ingin diberi tahu saat melebihi batas $0.00.

AWS sekarangΒ menyediakan template siap pakai untuk "Zero Spend Budget" langsung dari Billing Console, jadi kamu nggak perlu isi semuanya manual lagi. Ini super praktis buat akun belajar. Kali ini kita akan membuat Zero Spend Budget Alert menggunakan AWS Budget+CloudWatch+Lambda

Apakah AWS Budget + CloudWatch + Lambda bakal menimbulkan biaya tambahan?

βœ… 1. AWS Budgets

  • Gratis untuk 2 budget per bulan per akun.

  • Kalau kamu hanya pakai 1 budget (seperti Zero Spend Budget), aman βœ…

  • Kalau pakai lebih dari 2, akan kena biaya $0.02 per budget per day

πŸ“Œ Jadi: 1 budget = Gratis


βœ… 2. Amazon CloudWatch

  • CloudWatch alarm dan log metric dasar (default VCPU, network, dsb.) biasanya gratis sampai batas tertentu:

Kalau kamu hanya pakai alarm untuk notifikasi budget, biasanya tidak akan melewati batas Free Tier.

πŸ“Œ Jadi: Untuk satu notifikasi β†’ aman βœ…


βœ… 3. AWS Lambda

  • 1 juta request per bulan gratis

  • 400.000 GB-s eksekusi per bulan gratis

Notifikasi dari budget β†’ SNS β†’ Lambda hanya memicu 1x per kejadian β†’ kecil sekali penggunaan resource

πŸ“Œ Jadi: Untuk budget monitoring β†’ 100% dalam Free Tier βœ…


βœ… 4. Amazon SNS (Simple Notification Service)

  • 1 juta publish dan 1.000 email notif pertama per bulan gratis

  • Email notifikasi budget termasuk di sini

πŸ“Œ Jadi: Tidak masalah untuk penggunaan pribadi βœ…


🧾 Kesimpulan:

βœ… Boleh banget pakai AWS Budgets + CloudWatch + Lambda + SNS untuk monitoring pengeluaran tanpa takut keluar Free Tier.
🚫 Selama kamu tidak bikin puluhan budget atau mem-push log/metric berlebihan, semua komponen ini 100% gratis di level pemakaian ringan/personal.

Membuat Zero Spend Budget Alert menggunakan AWS Budgets + AWS CloudWatch + Lambda

Dengan skema ini:

  1. AWS Budgets tetap di-set di $0.01

  2. Notifikasi dikirim ke SNS Topic

  3. SNS trigger Lambda Function

  4. Lambda bisa langsung kirim email, log, atau aksi lainnya saat budget melewati threshold (segera, bukan nunggu akhir bulan)

Biasanya, AWS Budgets akan memeriksa penggunaan 3–6 kali per hari, jadi notifikasinya bisa datang beberapa jam setelah trigger, bukan nunggu sebulan.

🎯 Tujuan:

Kamu ingin:

  • Mengetahui jika pengeluaran AWS melebihi $0.01

  • Dapat notifikasi ke email

  • Menggunakan SNS β†’ Lambda sebagai trigger lanjutan (misalnya nanti bisa kirim ke Telegram, dsb.)


βœ… STEP 1: Buat SNS Topic dan Tambahkan Email Subscription

  1. Masuk ke Amazon SNS Console

  2. Pilih Topics β†’ Klik Create topic

  3. Pilih:

    • Type: Standard

    • Name: ZeroSpendBudgetTopic

  4. Klik Create topic

  5. Setelah topic dibuat, klik Create subscription

    • Protocol: Email

    • Endpoint: aku@widianto.org

  6. Buka email kamu, cari email dari AWS, klik tombol Confirm subscription


βœ… STEP 2: Buat Lambda Function untuk Menangani Notifikasi

  1. Masuk ke AWS Lambda Console

  2. Klik Create function

    • Pilih Author from scratch

    • Function name: BudgetNotificationHandler

    • Runtime: Python 3.12 atau Node.js, terserah kamu

    • Klik Create function

  3. Tambahkan kode sederhana (misalnya Python):


    def lambda_handler(event, context):
        print("Received event:", event)
        return {
            'statusCode': 200,
            'body': 'Budget notification received.'
        }

    Β 

  4. Klik Deploy

  5. Klik "Add trigger" β†’ Pilih SNS

    • Pilih topic ZeroSpendBudgetTopic

    • Klik Add


βœ… STEP 3: Buat IAM Role (Jika diperlukan)

Biasanya saat kamu buat Lambda, IAM Role sudah otomatis dibuat. Tapi pastikan Lambda kamu punya permission untuk log ke CloudWatch:

  • Buka tab Permissions di halaman Lambda

  • Pastikan attached policy: AWSLambdaBasicExecutionRole


βœ… STEP 4: Buat AWS Budget dan Hubungkan ke SNS

  1. Masuk ke AWS Budgets Console

  2. Klik Create budget

  3. Pilih Cost budget β†’ Next

  4. Isi:

    • Name: ZeroSpendBudget

    • Period: Monthly

    • Budgeted amount: $0.01

    • Scope: All services

  5. Di bagian Notifications:

    • Klik Add an alert threshold

      • Threshold: 100%

      • Type: Actual

      • Send alert to an Amazon SNS topic: Centang βœ”οΈ

      • Pilih ZeroSpendBudgetTopic

  6. Klik Create budget


βœ… Done!

Begitu pengeluaran kamu menyentuh $0.01, AWS akan:

  • Trigger SNS Topic

  • SNS akan kirim email ke aku@widianto.org

  • SNS juga akan trigger Lambda function (yang nantinya bisa kamu kembangkan)


Kalau semua itu sudah selesai dan kamu nyaman, kita bisa lanjut ke versi otomatisasi-nya menggunakan CloudFormation, dan kamu sudah akan ngerti β€œdi balik layarnya” gimana semuanya bekerja.