AWS自動發現實例與實例ID

#!/bin/bash
. /etc/profile
declare -A dic
echo $(/usr/bin/aws ec2 describe-instances) >/tmp/instances.txt
list=`cat /tmp/instances.txt|jq '.Reservations|length'`
dic=()
for i in $(seq 0 $(expr $list - 1))
do
    ip=$(cat /tmp/instances.txt|jq .Reservations[$i].Instances[]|jq .PrivateIpAddress)
    instances_id=$(cat /tmp/instances.txt|jq .Reservations[$i].Instances[]|jq .InstanceId)
    ip=${ip//\"/}     ####替換json中的“”符號####
    instances_id=${instances_id//\"/}
    echo $instances_id
#dic[$ip]=$instances_id
    dic+=([$ip]=$instances_id)
done

/usr/bin/aws ec2 start-instances --instance-ids ${dic[$1]}
#echo -e "$1 is down?" >>/home/admin/sbin/aws_auto_start/iplog.log
echo -e "$1 is down?" >>/tmp/iplog.log

目的:通過aws命令,自動匹配到ip與實例ID,因爲在命令行中重啓aws實例的話是使用的實例ID並不是ip地址,所以這個腳本後就可以只要輸入ip就可以啓動和停止aws實例。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章