zkt25/sk1/aws config/terminate.sh
2025-04-13 13:54:16 +02:00

26 lines
810 B
Bash

#!/bin/bash
INSTANCE_ID=$(aws ec2 describe-instances \
--filters "Name=instance-state-name,Values=running" \
--query "Reservations[-1].Instances[-1].InstanceId" \
--output text)
if [ "$INSTANCE_ID" == "None" ] || [ -z "$INSTANCE_ID" ]; then
echo "No running EC2 instances found to stop and terminate."
exit 1
fi
echo "Stopping EC2 instance: $INSTANCE_ID..."
aws ec2 stop-instances --instance-ids "$INSTANCE_ID"
echo "Waiting for the instance to stop..."
aws ec2 wait instance-stopped --instance-ids "$INSTANCE_ID"
echo "Terminating EC2 instance: $INSTANCE_ID..."
aws ec2 terminate-instances --instance-ids "$INSTANCE_ID"
echo "Waiting for termination..."
aws ec2 wait instance-terminated --instance-ids "$INSTANCE_ID"
echo "Instance $INSTANCE_ID has been successfully stopped and terminated."