In this blog post, will see few examples of using NodeJS EC2 API.
First you need to install the nodejs library, this can be done using
[code]
npm install aws-sdk
[/code]
Next you need to do to configuration the api using your access key and secret key
[code]
var AWS = require(‘aws-sdk’);
AWS.config.update({accessKeyId: ‘your-key’, secretAccessKey: ‘your-secret’});
AWS.config.update({region: ‘us-west-2’});
var ec2 = new AWS.EC2();
[/code]
Check Running EC2 Instances
Below code returns all running ec2 instances and its details. More details can be found here
[code]
ec2.describeInstances(function(err, result) {
if (err)
console.log(err);
var inst_id = ‘-';
for (var i = 0; i < result.Reservations.length; i++) {
var res = result.Reservations[i];
var instances = res.Instances;
for (var j = 0; j < instances.length; j++) {
var instanceID = instances[j].InstanceId;
var state = instances[j].State.Code;
var public_ip = instances[j].PublicIpAddress;
var imageID = instances[j].ImageId;
console.log(‘instance ' + instanceID + " state " + state + " public ip " + public_ip + ‘image id ' + imageID);
}
}
});
[/code]
Start New EC2 Instance
Below code is to start a new ec2 instance, more details here
[code]
ec2.runInstances({
ImageId: ‘ami-97XXXXX’,
MaxCount: 2,
MinCount: 1,
BlockDeviceMappings: [
{
DeviceName: ‘/dev/sda1’,
Ebs: {
DeleteOnTermination: true,
VolumeSize: 10
}
}
],
InstanceType: ‘t1.micro’,
SecurityGroupIds: [‘sg-074d9862’],
Monitoring: {Enabled: false},
}, function(err, data) {
if (err) {
console.log(“Could not create instance”, err);
return;
}else{
console.log(‘instances started’);
}
});
[/code]
Terminate EC2 Instance
Code to terminate instances below, more details can be seen here
[code]
var terminate = new Array();
terminate[terminate.length] = ‘instanceID1’;
terminate[terminate.length] = ‘instanceID2’;
ec2.terminateInstances({
InstanceIds: terminate
}, function(err) {
if (err)
console.log(“terminate” + err);
});
[/code]