📑
セキュリティグループをcsvで登録しよう
この記事の概要
intro
FTPの接続元管理など、流動的に変化するセキュリティグループは
IaaCなどで管理するデメリットも大きく、手動で登録している組織も多いのではないでしょうか
そこで今回は、csvからセキュリティグループ登録を行うワンライナーを紹介します。
やり方
ざっくり概要
- awkでフィールドを読み込んでprintすることで、コマンドを出力
- パイプでbashに渡して登録
↓この登録コマンドを出力してbashに渡しているだけなので、色々応用きくと思います。
aws ec2 authorize-security-group-ingress --group-id sgのID --ip-permissions IpProtocol=tcp,FromPort=ポート,ToPort=ポート,IpRanges='[{CidrIp=レンジ,Description="説明"}]'
ポイント
awk 内でシングルクォートを扱う場合は\047
で置き換える必要があります。
準備編
csvを準備して下さい。
sgのID
, Fromポート
, Toポート
, CIDR
, 説明
の順です。
sg-list.txt
sg-1q2w3e4r5t6y7u,21,21,X.X.X.X/X,DISCRIPTION
ワンライナー(ingressルール)
cat sg-list.txt | awk -F, '{ print "aws ec2 authorize-security-group-ingress --group-id "$1" --ip-permissions IpProtocol=tcp,FromPort="$2",ToPort="$3",IpRanges=\047[{CidrIp="$4",Description=\""$5"\"}]\047" }' | bash
outro
シェルか何かでラッピングしておくと
冪等性を保ててチームメンバーにも共有し易いですよね。
cloudshellか何かに置いておくと使い勝手が良いかもしれません。
Discussion