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

LaAWS SDK for JavaScript versión 3 (v3) es una reescritura de la versión 2 con algunas funciones nuevas y excelentes, incluida la arquitectura modular. Para obtener más información, consulte la Guía para desarrolladores de la versiónAWS SDK for JavaScript 3.

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Administración de instancias 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 Amazon EC2.

  • Cómo iniciar y detener la monitorizació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 administrar instancias mediante estos métodos de clase de cliente de Amazon EC2:

Para obtener más información acerca del ciclo de vida de las instancias Amazon EC2, consulteCiclo de vida de la instanciaen laGuía del usuario de Amazon EC2 para instancias de Linux.

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 unAWS.EC2objeto de servicio. Llame adescribeInstancesdel 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 muestra 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 unAWS.EC2objeto de servicio. Añada el ID de las instancias cuya monitorización desea controlar.

Basado en el valor de un argumento de línea de comandos (ONoOFF), llame almonitorInstancesdel objeto de servicio de Amazon EC2 para empezar la monitorización detallada de las instancias especificadas o llame alunmonitorInstancesMétodo de. 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 muestra 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 unAWS.EC2objeto de servicio. Añada los ID de las instancias que desee iniciar o detener.

Basado en el valor de un argumento de línea de comandos (STARToSTOP), llame alstartInstancesdel objeto de servicio de Amazon EC2 para iniciar las instancias especificadas, o elstopInstancesmétodo para detenerlos. 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 muestra 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 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 muestra se puede encontrar aquí en GitHub.