前のエントリで「明日の自分に託す」なんて書きましたが、明日の自分なんて信用できるか!という気持ちもあり、結局手を付けました。
前のエントリでアタリを付けていたauthorize-security-group-ingress
コマンドとrevoke-security-group-ingress
コマンドを使ってできました。最初authorize
とrevoke
を別スクリプトで書いたのですが、中身が同じだったので一つのスクリプトでオプションを付けて分岐するようにしました。
書いたスクリプトは次の通りです。前のも含めて全くエラーを考慮していないのですが、僕の僕による僕のためのスクリプトなので、許してください。
$ 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}
今度こそ本当に寝ます。