Administración de instancias de Amazon EC2 - AWS SDK for JavaScript

Anunciamos el próximo fin del soporte para AWS SDK for JavaScript v2. Se recomienda que migre a AWS SDK for JavaScript v3. Para ver las fechas, los detalles adicionales y la información sobre cómo realizar la migración, consulte el anuncio enlazado.

Administración de instancias de Amazon EC2

JavaScript code example that applies to Node.js execution

Este ejemplo de código de Node.js muestra:

  • Cómo recuperar información básica acerca de sus instancias de Amazon EC2.

  • Cómo iniciar y detener la supervisión detallada de una instancia de Amazon EC2.

  • Cómo iniciar y detener una instancia de Amazon EC2.

  • Cómo reiniciar una instancia de Amazon EC2.

El escenario

En este ejemplo, va a utilizar una serie de módulos de Node.js para realizar varias operaciones de administración de instancias básicas. Los módulos de Node.js usan el SDK para JavaScript para gestionar instancias usando los métodos de clase de cliente de Amazon EC2 siguientes:

Para obtener más información acerca del ciclo de vida de las instancias de Amazon EC2, consulte Ciclo de vida de las instancias en la Guía del usuario de Amazon EC2.

Tareas previas necesarias

Para configurar y ejecutar este ejemplo, primero debe completar las tareas siguientes:

Descripción de sus instancias

Cree un módulo de Node.js con el nombre de archivo ec2_describeinstances.js. Asegúrese de configurar el SDK tal y como se ha indicado anteriormente. Para acceder a Amazon EC2, cree un objeto de servicio de AWS.EC2. Llame al método describeInstances del objeto de servicio de Amazon EC2 para recuperar una descripción detallada de sus instancias.

// Load the AWS SDK for Node.js var AWS = require("aws-sdk"); // Set the region AWS.config.update({ region: "REGION" }); // Create EC2 service object var ec2 = new AWS.EC2({ apiVersion: "2016-11-15" }); var params = { DryRun: false, }; // Call EC2 to retrieve policy for selected bucket ec2.describeInstances(params, function (err, data) { if (err) { console.log("Error", err.stack); } else { console.log("Success", JSON.stringify(data)); } });

Para ejecutar el ejemplo, escriba lo siguiente en la línea de comandos.

node ec2_describeinstances.js

Este código de ejemplo se puede encontrar aquí en GitHub.

Administración de la monitorización de instancias

Cree un módulo de Node.js con el nombre de archivo ec2_monitorinstances.js. Asegúrese de configurar el SDK tal y como se ha indicado anteriormente. Para acceder a Amazon EC2, cree un objeto de servicio de AWS.EC2. Añada el ID de las instancias cuya monitorización desea controlar.

Según el valor de un argumento de línea de comando (ON u OFF), llame al método monitorInstances del objeto de servicio de Amazon EC2 para empezar la supervisión detallada de las instancias especificadas o llame al método unmonitorInstances. Utilice el parámetro DryRun para probar si tiene permiso para cambiar la monitorización de instancias antes de intentar realmente cambiar la monitorización de estas instancias.

// Load the AWS SDK for Node.js var AWS = require("aws-sdk"); // Set the region AWS.config.update({ region: "REGION" }); // Create EC2 service object var ec2 = new AWS.EC2({ apiVersion: "2016-11-15" }); var params = { InstanceIds: ["INSTANCE_ID"], DryRun: true, }; if (process.argv[2].toUpperCase() === "ON") { // Call EC2 to start monitoring the selected instances ec2.monitorInstances(params, function (err, data) { if (err && err.code === "DryRunOperation") { params.DryRun = false; ec2.monitorInstances(params, function (err, data) { if (err) { console.log("Error", err); } else if (data) { console.log("Success", data.InstanceMonitorings); } }); } else { console.log("You don't have permission to change instance monitoring."); } }); } else if (process.argv[2].toUpperCase() === "OFF") { // Call EC2 to stop monitoring the selected instances ec2.unmonitorInstances(params, function (err, data) { if (err && err.code === "DryRunOperation") { params.DryRun = false; ec2.unmonitorInstances(params, function (err, data) { if (err) { console.log("Error", err); } else if (data) { console.log("Success", data.InstanceMonitorings); } }); } else { console.log("You don't have permission to change instance monitoring."); } }); }

Para ejecutar el ejemplo, escriba lo siguiente en la línea de comandos y especifique ON para comenzar la monitorización detallada u OFF para interrumpir la monitorización.

node ec2_monitorinstances.js ON

Este código de ejemplo se puede encontrar aquí en GitHub.

Inicio y detención de instancias

Cree un módulo de Node.js con el nombre de archivo ec2_startstopinstances.js. Asegúrese de configurar el SDK tal y como se ha indicado anteriormente. Para acceder a Amazon EC2, cree un objeto de servicio de AWS.EC2. Añada los ID de las instancias que desee iniciar o detener.

Según el valor de un argumento de línea de comando (START o STOP), llame al método startInstances del objeto de servicio de Amazon EC2 para iniciar las instancias especificadas o al método stopInstances para detenerlas. Utilice el parámetro DryRun para probar si tiene permiso antes de intentar realmente iniciar o detener las instancias seleccionadas.

// Load the AWS SDK for Node.js var AWS = require("aws-sdk"); // Set the region AWS.config.update({ region: "REGION" }); // Create EC2 service object var ec2 = new AWS.EC2({ apiVersion: "2016-11-15" }); var params = { InstanceIds: [process.argv[3]], DryRun: true, }; if (process.argv[2].toUpperCase() === "START") { // Call EC2 to start the selected instances ec2.startInstances(params, function (err, data) { if (err && err.code === "DryRunOperation") { params.DryRun = false; ec2.startInstances(params, function (err, data) { if (err) { console.log("Error", err); } else if (data) { console.log("Success", data.StartingInstances); } }); } else { console.log("You don't have permission to start instances."); } }); } else if (process.argv[2].toUpperCase() === "STOP") { // Call EC2 to stop the selected instances ec2.stopInstances(params, function (err, data) { if (err && err.code === "DryRunOperation") { params.DryRun = false; ec2.stopInstances(params, function (err, data) { if (err) { console.log("Error", err); } else if (data) { console.log("Success", data.StoppingInstances); } }); } else { console.log("You don't have permission to stop instances"); } }); }

Para ejecutar el ejemplo, escriba lo siguiente en la línea de comandos y especifique START para iniciar las instancias o STOP para detenerlas.

node ec2_startstopinstances.js START INSTANCE_ID

Este código de ejemplo se puede encontrar aquí en GitHub.

Reinicio de instancias

Cree un módulo de Node.js con el nombre de archivo ec2_rebootinstances.js. Asegúrese de configurar el SDK tal y como se ha indicado anteriormente. Para acceder a Amazon EC2, cree un objeto de servicio de Amazon EC2. Añada los ID de las instancias que desee reiniciar. Llame al método rebootInstances del objeto de servicio AWS.EC2 para reiniciar las instancias especificadas. Utilice el parámetro DryRun para probar si tiene permiso para reiniciar estas instancias antes de intentar realmente reiniciarlas.

// Load the AWS SDK for Node.js var AWS = require("aws-sdk"); // Set the region AWS.config.update({ region: "REGION" }); // Create EC2 service object var ec2 = new AWS.EC2({ apiVersion: "2016-11-15" }); var params = { InstanceIds: ["INSTANCE_ID"], DryRun: true, }; // Call EC2 to reboot instances ec2.rebootInstances(params, function (err, data) { if (err && err.code === "DryRunOperation") { params.DryRun = false; ec2.rebootInstances(params, function (err, data) { if (err) { console.log("Error", err); } else if (data) { console.log("Success", data); } }); } else { console.log("You don't have permission to reboot instances."); } });

Para ejecutar el ejemplo, escriba lo siguiente en la línea de comandos.

node ec2_rebootinstances.js

Este código de ejemplo se puede encontrar aquí en GitHub.