AWS SDK untuk JavaScript V2 telah mencapai akhir dukungan. Kami menyarankan Anda bermigrasi ke AWS SDK untuk JavaScript v3. Untuk detail dan informasi tambahan tentang cara bermigrasi, silakan lihat pengumuman ini
Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menggunakan Tindakan Alarm di Amazon CloudWatch
Contoh Node.js kode ini menunjukkan:
Cara mengubah status instans Amazon EC2 Anda secara otomatis berdasarkan CloudWatch alarm.
Skenario
Menggunakan tindakan alarm, Anda dapat membuat alarm yang secara otomatis menghentikan, menghentikan, me-reboot, atau memulihkan instans Amazon EC2 Anda. Anda dapat menggunakan tindakan berhenti atau menghentikan saat Anda tidak lagi memerlukan instance untuk dijalankan. Anda dapat menggunakan tindakan reboot dan pemulihan untuk me-reboot instans tersebut secara otomatis.
Dalam contoh ini, serangkaian Node.js modul digunakan untuk menentukan tindakan alarm CloudWatch yang memicu reboot instans Amazon EC2. Node.js Modul menggunakan SDK JavaScript untuk mengelola instans Amazon EC2 menggunakan metode kelas CloudWatch klien berikut:
Untuk informasi selengkapnya tentang tindakan CloudWatch alarm, lihat Membuat Alarm untuk Menghentikan, Mengakhiri, Memulai Ulang, atau Memuli hkan Instans di Panduan CloudWatch Pengguna Amazon.
Tugas Prasyarat
Untuk mengatur dan menjalankan contoh ini, Anda harus menyelesaikan tugas ini terlebih dahulu:
-
Instal Node.js. Untuk informasi lebih lanjut tentang menginstal Node.js, lihat situs Node.js web
. Buat file konfigurasi bersama dengan kredenSIAL pengguna Anda. Untuk informasi selengkapnya tentang menyediakan file kredenSIAL bersama, lihatMemuat Kredensial di Node.js dari File Kredensial Bersama.
-
Buat peran IAM yang kebijakannya memberikan izin untuk mendeskripsikan, me-reboot, menghentikan, atau menghentikan instans Amazon EC2. Untuk informasi selengkapnya tentang membuat peran IAM, lihat Membuat Peran untuk Mendelegasikan Izin ke AWS Layanan di Panduan Pengguna IAM.
Gunakan kebijakan peran berikut saat membuat peran IAM.
Konfigurasikan SDK untuk JavaScript dengan membuat objek konfigurasi global lalu mengatur Wilayah untuk kode Anda. Dalam contoh ini, Wilayah diatur keus-west-2.
// Load the SDK for JavaScript var AWS = require('aws-sdk'); // Set the Region AWS.config.update({region: 'us-west-2'});
Membuat dan Mengaktifkan Tindakan pada Alarm
Buat Node.js modul dengan nama filecw_enablealarmactions.js. Pastikan untuk mengkonfigurasi SDK seperti yang ditunjukkan sebelumnya. Untuk mengakses CloudWatch, buat objek AWS.CloudWatch layanan.
Buat objek JSON untuk menahan parameter untuk membuat alarm, menentukan ActionsEnabled as true dan array ARN untuk tindakan yang akan dipicu alarm. Panggil putMetricAlarm metode objek AWS.CloudWatch layanan, yang membuat alarm jika tidak ada atau memperbaruinya jika alarm memang ada.
Dalam fungsi callback untukputMetricAlarm, setelah berhasil menyelesaikan, buat objek JSON yang berisi nama CloudWatch alarm. Panggil enableAlarmActions metode untuk mengaktifkan tindakan alarm.
// Load the AWS SDK for Node.js var AWS = require("aws-sdk"); // Set the region AWS.config.update({ region: "REGION" }); // Create CloudWatch service object var cw = new AWS.CloudWatch({ apiVersion: "2010-08-01" }); var params = { AlarmName: "Web_Server_CPU_Utilization", ComparisonOperator: "GreaterThanThreshold", EvaluationPeriods: 1, MetricName: "CPUUtilization", Namespace: "AWS/EC2", Period: 60, Statistic: "Average", Threshold: 70.0, ActionsEnabled: true, AlarmActions: ["ACTION_ARN"], AlarmDescription: "Alarm when server CPU exceeds 70%", Dimensions: [ { Name: "InstanceId", Value: "INSTANCE_ID", }, ], Unit: "Percent", }; cw.putMetricAlarm(params, function (err, data) { if (err) { console.log("Error", err); } else { console.log("Alarm action added", data); var paramsEnableAlarmAction = { AlarmNames: [params.AlarmName], }; cw.enableAlarmActions(paramsEnableAlarmAction, function (err, data) { if (err) { console.log("Error", err); } else { console.log("Alarm action enabled", data); } }); } });
Untuk menjalankan contoh, ketik berikut ini di baris perintah.
node cw_enablealarmactions.js
Kode sampel ini dapat ditemukan di sini GitHub
Menonaktifkan Tindakan pada Alarm
Buat Node.js modul dengan nama filecw_disablealarmactions.js. Pastikan untuk mengkonfigurasi SDK seperti yang ditunjukkan sebelumnya. Untuk mengakses CloudWatch, buat objek AWS.CloudWatch layanan. Buat objek JSON yang berisi nama CloudWatch alarm. Panggil disableAlarmActions metode untuk menonaktifkan tindakan untuk alarm ini.
// Load the AWS SDK for Node.js var AWS = require("aws-sdk"); // Set the region AWS.config.update({ region: "REGION" }); // Create CloudWatch service object var cw = new AWS.CloudWatch({ apiVersion: "2010-08-01" }); cw.disableAlarmActions( { AlarmNames: ["Web_Server_CPU_Utilization"] }, function (err, data) { if (err) { console.log("Error", err); } else { console.log("Success", data); } } );
Untuk menjalankan contoh, ketik berikut ini di baris perintah.
node cw_disablealarmactions.js
Kode sampel ini dapat ditemukan di sini GitHub