Skip to main content

Cara Kirim Notifikasi Email Saat EC2 Instance Dibuat (RunInstances)

Mantap! Karena notifikasinya sudah sukses kamu terima, berikut adalah How-To lengkap dalam bentuk langkah demi langkah untuk memantau aktivitas pembuatan EC2 instance dan mengirim email notifikasi jika ada yang meluncurkan EC2.


๐Ÿ“˜ How-To: Kirim Notifikasi Email Saat EC2 Instance Dibuat (RunInstances)

๐Ÿงญ Tujuan

Membuat sistem monitoring menggunakan AWS CloudTrail, CloudWatch Logs, dan SNS, agar mengirim notifikasi email setiap kali ada aktivitas RunInstances (launch EC2 instance).


๐Ÿ”ง Prasyarat

  • AWS Account aktif

  • IAM user/role dengan permission:

    • CloudTrail (cloudtrail:CreateTrail, cloudtrail:PutEventSelectors, dst)

    • CloudWatch (logs:*, cloudwatch:*)

    • SNS (sns:*)

    • EC2 (jika ingin uji coba create instance)


๐Ÿชœ Langkah-langkah


โœ… 1. Aktifkan AWS CloudTrail

  1. Masuk ke AWS Console โ†’ CloudTrail

  2. Klik Create trail

  3. Isi:

    • Trail name: global-monitor-trail

    • Enable multi-region trail โœ…

    • Storage location: Buat bucket baru atau pilih S3 bucket yang sudah ada untuk menyimpan log

  4. Klik Next hingga selesai

  5. Pastikan Logging: Enabled dan log dikirim ke S3 bucket


โœ… 2. Hubungkan CloudTrail ke CloudWatch Logs

  1. Masuk ke trail yang baru dibuat โ†’ Klik Edit

  2. Scroll ke bagian CloudWatch Logs

  3. Klik Edit

  4. Buat:

    • Log group name (misal): /cloudtrail/global-monitor-trail

    • IAM Role: Buat IAM role baru atau pilih existing role

  5. Klik Save changes

โœ… Sekarang log dari CloudTrail akan dikirim ke CloudWatch Logs


โœ… 3. Buat Metric Filter untuk Deteksi Event RunInstances

  1. Masuk ke CloudWatch โ†’ Log groups

  2. Pilih log group: /cloudtrail/global-monitor-trail

  3. Buka tab Metric filters

  4. Klik Create metric filter

  5. Isi:

    • Filter pattern:

      { $.eventName = "RunInstances" }
      
    • Klik Next

    • Filter name: EC2LaunchMonitor

    • Namespace: CloudTrailMetrics

    • Metric name: EC2Launched

    • Metric value: 1

  6. Klik Create metric filter


โœ… 4. Buat Alarm & Notifikasi ke Email

  1. Setelah metric filter dibuat, klik Create alarm

  2. Konfigurasi:

    • Metric namespace: CloudTrailMetrics

    • Metric name: EC2Launched

    • Statistic: Sum

    • Period: 5 minutes

    • Threshold: >= 1

    • Whenever metric is... >= 1

  3. Pilih Create new SNS topic

    • Topic name: ec2-launch-alerts

    • Email endpoint: masukkan email kamu (misal: your.email@example.com)

  4. Klik Create topic

  5. Klik Next, beri nama alarm misalnya EC2-Launch-Alarm

  6. Klik Create alarm


โœ… 5. Konfirmasi Subscription SNS

  1. Cek email kamu

  2. Buka email dari AWS SNS, klik tombol Confirm subscription

โš ๏ธ Jika tidak dikonfirmasi, kamu tidak akan menerima notifikasi.


โœ… 6. Uji Coba

  1. Launch EC2 instance dari AWS Console

  2. Tunggu 1โ€“5 menit

  3. Kamu akan menerima email alert seperti:

    Alarm Name: EC2-Launch-Alarm
    Reason: Threshold Crossed: 1 datapoint (1.0) was greater than or equal to the threshold (1.0).
    

๐Ÿงผ (Opsional) Cleanup Resources

Jika sudah tidak dibutuhkan, kamu bisa:

  • Delete alarm di CloudWatch

  • Delete SNS topic

  • Delete metric filter

  • Stop atau delete CloudTrail

  • Hapus log group di CloudWatch dan bucket S3


๐Ÿง  Tips Tambahan

  • Kamu bisa menambahkan filter lain seperti:

    • TerminateInstances โ†’ saat EC2 dihapus

    • CreateSecurityGroup, AuthorizeSecurityGroupIngress โ†’ saat security group dimodifikasi

  • Ingin kirim ke Slack/Telegram? SNS bisa di-subscribe ke Lambda Function untuk integrasi lanjutan


Kalau mau saya buatkan versi PDF atau Markdown-nya, tinggal bilang aja!