Acara Amazon CloudWatch menjelaskan perubahan dalam sumber daya AWS. Kami dapat mencocokkan acara dan mengarahkannya ke satu atau lebih fungsi target. CloudWatch Events mengetahui tentang perubahan operasional saat terjadi, mis. jika sumber daya yang ditentukan dalam Aturan Cloudwatch telah dibuat, maka aturan akan mengetahuinya dan sebagai gantinya akan memicu fungsi target.
Sebelum melanjutkan dan membuat aturan acara, mari kita pahami dasar-dasarnya.
- Acara :
Sebuah peristiwa berarti ada perubahan di Lingkungan AWS. - Aturan :
Aturan digunakan untuk mencocokkan acara. Di sini peristiwa dibandingkan dan diperiksa. - Target :
Di sini acara diproses. Target dapat mencakup instans Amazon EC2, fungsi AWS Lambda, aliran Kinesis, tugas Amazon ECS, mesin status Step Functions, topik Amazon SNS, antrean Amazon SQS, dan target bawaan.
Dalam artikel ini, kita akan membuat aturan peristiwa yang akan memeriksa peristiwa perubahan Status EC2 dan memicu fungsi lambda. Jika Anda tidak mengetahui Fungsi Lambda, klik di sini untuk membuatkan 1 untuk Anda. Apa yang dilakukan Lambda dapat menjadi pilihan Anda, tetapi dalam dokumen ini saya memiliki Lambda yang menghapus Volume EBS yang tidak digunakan. Saya telah menyebutkan kode Lambda di artikel ini. Anda juga bebas menggunakan Fungsi Lambda Anda sendiri.
Prasyarat
- Akun AWS (Buat jika Anda belum memilikinya).
- Fungsi Lambda.
Apa yang akan kita lakukan?
- Masuk ke AWS.
- Buat Aturan Peristiwa Cloudwatch untuk memicu Fungsi Lambda.
Masuk ke AWS
Klik di sini untuk membuka Halaman Login AWS.
Saat kita menekan link di atas, kita akan melihat halaman web sebagai berikut dimana kita diharuskan untuk login menggunakan detail login kita.
Setelah Anda berhasil masuk ke akun, Anda akan melihat layar sebagai berikut.
Buat Peristiwa Cloudwatch untuk memicu Fungsi Lambda
Untuk membuat Aturan Peristiwa Cloudwatch, cari cloudwatch dan klik hasilnya untuk membuka dasbor Cloudwatch.
Pada dasbor Cloudwatch, klik Aturan di bawah Acara di panel kiri.
Di sini, klik "Buat aturan" untuk membuat aturan pertama Anda guna memicu Fungsi Lambda di wilayah Anda.
Pilih tombol radio "Pola Peristiwa", di bawah Nama Layanan pilih "EC2", pilih "Pemberitahuan perubahan status instans EC2" untuk Jenis Peristiwa.
Klik Tambahkan Target untuk menambahkan Fungsi Lambda yang ada sebagai target dan klik "Konfigurasikan detail".
Klik di sini untuk belajar membuat Fungsi Lambda untuk Anda. Temukan Kode Lambda referensi berikut untuk Anda.
Kode Lambda: Gunakan kode ini untuk membuat Fungsi Lambda jika Anda tidak memiliki 1 di akun Anda.
import boto3 ec2 = boto3.resource('ec2',region_name='eu-west-3') def lambda_handler(event, context): for vol in ec2.volumes.all(): if vol.state=='available': if vol.tags is None: vid=vol.id v=ec2.Volume(vol.id) v.delete() print ('EBS Volume Deleted ' +vid) continue for tag in vol.tags: if tag['Key'] == 'Name': value=tag['Value'] if value != 'DoNNotDel' and vol.state=='available': vid=vol.id v=ec2.Volume(vol.id) v.delete() print ('EBS Volume Deleted ' +vid)
Beri nama acara beserta deskripsinya dan klik "Buat aturan".
Ini akan membuat Aturan Peristiwa yang akan memicu fungsi Lambda target setiap kali ada perubahan dalam Status Instans EC2.
Kesimpulan
Dalam artikel ini, kita melihat cara membuat Aturan Peristiwa Cloudwatch yang menunjukkan perubahan status instans EC2 dan memicu Fungsi Lambda saat aturan cocok dengan peristiwa. Anda dapat memilih target pilihan Anda.