Ganesa Vijayakumar
Ganesa Vijayakumar

Reputation: 2602

How to terminate multiple EC2 instances in AWS via CLI?

I'm looking for terminating multiple EC2 instances via AWS CLI. Yes, can able to terminate an EC2 instance by executing the below command.

Syntax: aws ec2 terminate-instances --instance-ids <intance id> --profile <profile name>

Example: aws ec2 terminate-instances --instance-ids <i-...> --profile xxx

But I have a big list of instances that I need to terminate so I'm searching for a solution to terminating a batch of EC2 instances by providing the list of instance ids. I tried with multiple instance ids as below but those not working.

Kindly let me know if there is any possibility to terminate a batch of instances.

Upvotes: 1

Views: 5901

Answers (2)

Ganesa Vijayakumar
Ganesa Vijayakumar

Reputation: 2602

I can able to achieve this by following the below command as recommended by luk2302

aws ec2 terminate-instances --instance-ids instance-id1 instance-id2 --profile xxx

Also as recommended by Alex Bailey, we can try with the shell script (.sh) or batch (.bat) which will make our job easier.

Upvotes: 8

Alex Bailey
Alex Bailey

Reputation: 1512

Instead of running all the instance ID's through at once I would create a loop in a shell script to do this.

Assuming you have each instance ID on a separate line in a text file you could do something like:

#!/usr/bin/env bash

while read ins_id; do
  aws ec2 terminate-instances --instance-ids $ins_id --profile <profile name> || echo "error terminating ${ins_id}"
done < instance_ids.txt

That's not tested and I'm not great with shell scripting so if you try using it just try with one or two instances first and see what happens.

Upvotes: 1

Related Questions