Возьмите INSTANCE_ID
при создании экземпляра:
INSTANCE_ID=$(aws ec2 run-instances --instance-type i3.xlarge --image-id ami-00000000 --user-data file://myfile.sh --output text --query 'Instances[*].InstanceId')
И дождитесь, пока экземпляр достигнет состояния выполнения:
while STATE=$(aws ec2 describe-instances --instance-ids $INSTANCE_ID --output text --query 'Reservations[*].Instances[*].State.Name'); test "$STATE" != "running"; do
sleep 1;
done;