scusate io sono ancora nuovo a bash scripting. Ho circa 10000 istanza EC2, ho creato questo script bash per cambiare la mia istanza EC2 tipo, tutti istanza nome e tipo sono memorizzati in un file. il codice funziona, ma si sta prendendo così tanto tempo per eseguire attraverso istanza per istanza.
non hanno sa se sono in grado di eseguire AWS comando Cli su tutti istanza EC2 in un colpo solo ? Grazie :)
#!/bin/bash
my_file='test.txt'
declare -a instanceID
declare -a fmo #Future Instance Size
while IFS=, read -r COL1 COL2; do
instanceID+=("$COL1")
fmo+=("$COL2")
done <"$my_file"
len=${#instanceID[@]}
for (( i=0; i < $len; i++)); do
vm_instance_id="${instanceID[$i]}"
vm_type="${fmo[$i]}"
echo Stoping $vm_instance_id
aws ec2 stop-instances --instance-ids $vm_instance_id
echo " Waiting for $vm_instance_id state to be STOP "
aws ec2 wait instance-stopped --instance-ids $vm_instance_id
echo Resizing $vm_instance_id to $vm_type
aws ec2 modify-instance-attribute --instance-id $vm_instance_id --instance-type $vm_type
echo Starting $vm_instance_id
aws ec2 start-instances --instance-ids $vm_instance_id
done