Bu makalemiz de NodeJs ile aws hesabımızda çalışan instanceları listeleyeceğiz. İlk olarak kendimize bir user oluşturmamız gerekiyor. Aşağıdaki linkten kolayca oluşturabilirsiniz. Herhangi bir sorun yaşarsanız yazımıza yorum yaparak yardım isteyebilirsiniz.
https://console.aws.amazon.com/iam/home?region=eu-west-1#/users
User oluşturduktan sonra, Access key ID ve Secret access key ile authentication olup listemizi göstereceğiz.
Evet artık kodumuzu yazmaya başlayabiliriz. Aşağıdaki adımları izleyerek projemizi oluşturuyoruz.
npm init
enter yaparak hızlıca projemizi oluşturduk. Şimdi projemize index.js adında dosya oluşturalım.
Şimdi aws-sdk npm paketini projemize dahil edelim. Aşağıdaki komutu projemizin terminal ekranına yazarak indirelim. Daha sonra diğer kullanacağımız paketleri ekliyoruz.
npm install aws-sdk
npm install nodemon
Aşağıdaki gibi package.json dosyasında düzenlemeyi yapalım.
Yüklü değilse ilk olarak aws-cli kurmamız gerek windows ve linux işletim sistemlerinde farklı kurulumları var. Ben ubuntu kullandığım için aşağıdaki gibi kurdum. Aşağıdaki kodları sırasıyla çalıştıralım.
sudo apt install awscli
Kurulum tamamlandı. Şimdi gerekli configure ayalarını yapacağız. Burada user bilgisi olan Access key ID ve Secret access key kullanacağız. Aşağıdaki komutu girip gerekli ayarları yapalım.
aws configure
Evet tüm ayalarımızı yaptık şimdi kodumuzu yazmaya başlayabiliriz.
var AWS = require('aws-sdk');
var ec2 = new AWS.EC2({apiVersion: '2016-11-15',region: 'eu-west-1'})
var instances = [];
getEc2List();
function getEc2List(){
var params = {};
ec2.describeInstances(params, function(err, response) {
if (err){
console.log(err, err.stack);
}
else {
ec2ListBuilder(response);
}
});
}
function ec2ListBuilder(response){
instances.push(response);
console.log(JSON.stringify(instances[0]['Reservations']));
}
İlk olarak kodumuza aws paketini tanımlayarak başladık. ec2 diye bir değişken oluşturdum. Burada irlanda bölgesindeki ec2 listesini getirdik. Siz region değiştirerek istediğiniz bölgedeki ec2 listenizi getirebilirsiniz. Yada bir dizi oluşturup tüm bölgelerdeki ec2 listenizi getirebilirsiniz.
getEc2List(); fonksiyonu oluşturduğumuz ec2 değişkenini parametre olarak yolluyor ve bize bir respnse değeri dönüyor. ec2ListBuilder fonksiyonuna bu değeri gönderiyoruz ve bize json formatında ec2 listesini dönüyor. Bu listede instance ile alakalı tüm bilgiler dönmekte. Siz işinize yarayanı alıp kullanabilirsiniz.