const INSTANCE_ID = 'i-0819feaff6df92e74'; var AWS = require('aws-sdk'); AWS.config.region = 'ap-northeast-1'; function ec2Start(cb){ var ec2 = new AWS.EC2(); var params = { InstanceIds: [ INSTANCE_ID ] }; ec2.startInstances(params, function(err, data) { if (!!err) { console.log(err, err.stack); } else { console.log(data); cb(); } }); } exports.handler = function(event, context) { console.log('start'); ec2Start(function() { context.done(null, 'Started Instance'); }); };
実行ロールのポリシードキュメントは以下のように設定します。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents", "ec2:StartInstances" ], "Resource":[ "arn:aws:logs:*:*:*", "arn:aws:ec2:*" ] } ] }
停止の場合は
stopInstancesを使いましょう
https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/EC2.html#stopInstances-property