セキュリティグループのssh接続許可の追加と削除をコマンド一発化した

前のエントリで「明日の自分に託す」なんて書きましたが、明日の自分なんて信用できるか!という気持ちもあり、結局手を付けました。

前のエントリでアタリを付けていたauthorize-security-group-ingressコマンドとrevoke-security-group-ingressコマンドを使ってできました。最初authorizerevokeを別スクリプトで書いたのですが、中身が同じだったので一つのスクリプトでオプションを付けて分岐するようにしました。

書いたスクリプトは次の通りです。前のも含めて全くエラーを考慮していないのですが、僕の僕による僕のためのスクリプトなので、許してください。

$ cat ./aws-ctrl-myip.sh
#!/bin/bash

set -e

[ "$1" = "a" ] && SUBCMD="authorize-security-group-ingress"
[ "$1" = "r" ] && SUBCMD="revoke-security-group-ingress"
[ -z "${SUBCMD}" ] && echo "aかrをつける" && exit 1

set -u

readonly MYGIP="$(/usr/bin/curl -s https://checkip.amazonaws.com/)/32"
readonly SGID="sg-01234567890abcdef"

/usr/bin/aws ec2 ${SUBCMD} --group-id ${SGID} \
        --protocol tcp --port 22 --cidr ${MYGIP}

/usr/bin/aws ec2 describe-security-groups --group-ids ${SGID}

今度こそ本当に寝ます。

カテゴリー blog