目前的公司有與日本合作

在做關於AWS 上的 Auto scaling的時候,因為有佈署更新相關的需求

所以需要得知Auto scaling所啟動的EC2 IP

有看到日本方面提供了一個Ruby寫的腳本

但是好像不夠泛用

 

所以我自己寫了一個Shell版本的

主要是用Tag Key去做判斷取出對應EC2 IP

#!/bin/bash
key=Name
value=”$1″
declare -a hostbox
declare -a ipbox
hosts=`aws ec2 describe-tags –filters “Name=key,Values=Name” “Name=value,Values=$value” –output text|wc -l`
for (( i=1 ; i<=$hosts ; i++ ))
        do
        hostbox[i]=`aws ec2 describe-tags –filters “Name=key,Values=Name” “Name=value,Values=$value” –output text|head -n $i|tail -n 1|awk ‘{print $3}’`
        ipbox[i]=`aws ec2 describe-instances –instance-ids ${hostbox[i]} |grep PrivateIpAddress|tail -n1|awk ‘{print $2}’|cut -d ‘”‘ -f2`
        echo ${ipbox[i]}
        done