La versione AWS SDK per JavaScript v2 ha raggiunto la fine del supporto. Ti consigliamo di eseguire la migrazione alla v3. AWS SDK per JavaScript Per ulteriori dettagli e informazioni su come eseguire la migrazione, consulta questo annuncio. https://aws.amazon.com/blogs/developer/announcing-end-of-support-for-aws-sdk-for-javascript-v2/
Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Utilizzo di Alarm Actions in Amazon CloudWatch
Questo esempio di Node.js codice mostra:
Come modificare automaticamente lo stato delle istanze Amazon EC2 in base a un CloudWatch allarme.
Lo scenario
Utilizzando le azioni di allarme, puoi creare allarmi che interrompono, terminano, riavviano o ripristinano automaticamente le tue istanze Amazon EC2. Puoi utilizzare le operazioni di arresto o termine quando non è più necessaria l'esecuzione di un'istanza. È possibile utilizzare le azioni di riavvio e ripristino per riavviare automaticamente tali istanze.
In questo esempio, una serie di Node.js moduli viene utilizzata per definire un'azione di allarme CloudWatch che attiva il riavvio di un'istanza Amazon EC2. I Node.js moduli utilizzano l'SDK per JavaScript gestire le istanze Amazon EC2 utilizzando questi metodi della classe client: CloudWatch
Per ulteriori informazioni sulle azioni di CloudWatch allarme, consulta Create Alarms to Stop, Terminate, Reboot o Recover an Instance nella Amazon User Guide. CloudWatch
Attività prerequisite
Per configurare ed eseguire questo esempio, è necessario completare queste attività:
-
Installa. Node.js Per ulteriori informazioni sull'installazione Node.js, consulta il Node.js sito Web
. Creazione di un file di configurazione condiviso con le credenziali utente. Per ulteriori informazioni sulla fornitura di un file delle credenziali condiviso, consulta Caricamento delle credenziali su Node.js dal file delle credenziali condiviso.
-
Crea un ruolo IAM la cui policy conceda l'autorizzazione a descrivere, riavviare, arrestare o terminare un'istanza Amazon EC2. Per ulteriori informazioni sulla creazione di un ruolo IAM, consulta Creazione di un ruolo per delegare le autorizzazioni a un AWS servizio nella IAM User Guide.
Utilizzare la seguente policy di ruolo quando si crea un ruolo IAM.
Configura l'SDK per JavaScript creando un oggetto di configurazione globale e impostando la regione per il codice. Nell'esempio, la regione è impostata su us-west-2.
// Load the SDK for JavaScript var AWS = require('aws-sdk'); // Set the Region AWS.config.update({region: 'us-west-2'});
Creare e abilitare operazioni su un allarme
Crea un Node.js modulo con il nome cw_enablealarmactions.js del file. Assicurati di configurare il kit SDK come mostrato in precedenza. Per accedere CloudWatch, crea un oggetto AWS.CloudWatch di servizio.
Crea un oggetto JSON per contenere i parametri per la creazione di un allarme, specificando ActionsEnabled come true e un array di ARN per le operazioni attivate dall'allarme. Chiama il metodo putMetricAlarm dell'oggetto di servizio AWS.CloudWatch, che crea l'allarme se non esiste o lo aggiorna se è già disponibile.
Nella funzione di callback perputMetricAlarm, una volta completata con successo, crea un oggetto JSON contenente il nome dell' CloudWatch allarme. Chiama il metodo enableAlarmActions per abilitare l'operazione di allarme.
// 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); } }); } });
Digita la seguente riga di comando per eseguire l'esempio.
node cw_enablealarmactions.js
Questo codice di esempio può essere trovato qui su. GitHub
Disattivare le operazioni su un allarme
Crea un Node.js modulo con il nome del filecw_disablealarmactions.js. Assicurati di configurare il kit SDK come mostrato in precedenza. Per accedere CloudWatch, crea un oggetto AWS.CloudWatch di servizio. Crea un oggetto JSON contenente il nome dell' CloudWatch allarme. Chiama il metodo disableAlarmActions per disabilitare l'operazione per questo allarme.
// 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); } } );
Digita la seguente riga di comando per eseguire l'esempio.
node cw_disablealarmactions.js
Questo codice di esempio può essere trovato qui. GitHub