AWSは、ネットワーク障害で aws-cli がエラーになることがある。
そこで、終了ステータスが 0 以外ならリトライするようにしてみます。
#!/bin/bash RETRY_MAX=5 RETRY_INTERVAL=2 function retry () { cmd="$1" i=0 while [ 1 ] do eval "${cmd}" if [ $? -ne 0 ]; then i=$((i+1)) if [ $i -eq $((RETRY_MAX+1)) ]; then break fi echo "retry $i times waiting ..." sleep ${RETRY_INTERVAL} continue fi return 0 done return 1 } retry 'aws ec2 describe-instances --filters "Name=tag:Name,Values=ga*"' echo "status=$?" exit 0