Sejak Januari 2013 Amazon CloudWatch menyediakan opsi untuk Menggunakan Amazon CloudWatch untuk Mendeteksi dan Mematikan Instans Amazon EC2 yang Tidak Digunakan, lihat postingan blog pengantar Amazon CloudWatch - Alarm Actions untuk detail tentang fungsi ini:
Hari ini kami memberi Anda kemampuan untuk berhenti atau hentikan instance EC2 Anda saat alarm CloudWatch terpicu . Anda dapat menggunakan ini sebagai failsafe (mendeteksi kondisi abnormal dan kemudian bertindak) atau sebagai bagian dari logika pemrosesan aplikasi Anda (menunggu kondisi yang diharapkan dan kemudian bertindak). [tekankan pada saya]
Kasus penggunaan Anda tercantum di bagian Gagasan yang Gagal khususnya:
Jika Anda (atau pengembang Anda) pelupa, Anda dapat mendeteksi instans EC2 yang tidak terpakai dan mematikannya. Anda dapat melakukan ini dengan mendeteksi rata-rata beban yang sangat rendah untuk jangka waktu yang lama. Jenis failsafe ini dapat digunakan untuk mengurangi tagihan AWS Anda dengan memastikan bahwa Anda tidak membayar sumber daya yang sebenarnya tidak Anda gunakan.
Sebagaimana diuraikan, hal ini bergantung pada kemampuan untuk secara heuristik mendeteksi kondisi yang sesuai yang memicu alarm dan menghentikan instans - Anda dapat membawanya ke tingkat berikutnya dengan cara Memublikasikan Metrik Kustom ke CloudWatch berdasarkan jumlah pengguna SSH yang masuk, waktu tidak aktif, atau lain dan dapatkan lebih banyak kontrol/presisi untuk proses pendeteksian dan penonaktifan yang diinginkan secara bergantian.
Anda dapat membuat skrip tugas cron langsung di instance itu sendiri yang menggunakan perintah seperti
netstat | grep ssh | grep ESTABLISHED
dan jika tidak ada hasil yang dikembalikan, tulis itu ke file, lalu cron mencoba lagi dan jika tidak mengembalikan hasil lagi, skrip akan menjalankan ini.
/sbin/shutdown -h now
Jika semua yang Anda cari adalah menjaga agar server tetap berjalan saat Anda masuk, dan sesi Anda menganggur kurang dari n
unit waktu, Anda dapat melakukannya melalui skrip cron yang Anda sebutkan, dengan memantau keluaran w(1)
yang melaporkan IDLE
waktu untuk pengguna yang masuk, yang dapat Anda gunakan.