この記事で得られること:セキュリティグループのルールをCLIで登録する方法
例えば…
セキュリティグループの設定でこんなことありますよね
ポート:3389
送信元:10.0.1.0/32 , 10.0.2.1/32 , 10.0.3.0/28...(残り何十個とか...)
マネコンだと一つのポートへ複数IPをいっぺんに設定できないのです!!
そこで!セキュリティグループにルールを一括で登録するCLIを使ってみましょう!
前提知識
#セキュリティグループのルールを出力するコマンド
ec2 describe-security-group-rules
# インバウンドルールを変更するコマンド
ec2 authorize-security-group-ingress
# アウトバウンドルールを変更するコマンド
ec2 authorize-security-group-egress
# 1つのポートに対して単一のIPアドレスのインバウンドルールを登録するCLI
aws ec2 authorize-security-group-ingress \
--group-id <セキュリティグループのID> \
--ip-permissions IpProtocol=<プロトコル>,FromPort=<ポート番号>,ToPort=<ポート番号>,\
IpRanges='[{CidrIp=<送信元IPアドレスのCIDR>,Description="<説明内容>"}]'
1つのポートに対して複数のIPアドレスのインバウンドルールを登録するCLI
aws ec2 authorize-security-group-ingress \
--group-id <セキュリティグループのID> \
--ip-permissions IpProtocol=<プロトコル>,FromPort=<ポート番号>,ToPort=<ポート番号>,\
IpRanges='[{CidrIp=<送信元IPアドレスのCIDR>,Description="<説明内容>"},{CidrIp=<送信元IPアドレスのCIDR>,Description="<説明内容>"}]'
実際に当てはめて使ってみる
今回は何もインバウンドルールが入っていない「Test-SG」を用意し、CLIを流してみます!
※プロトコルはTCP、ポートは3389を想定しています。
先程のCLIに当てはめると以下のようになります↓
※セキュリティグループのIDはセキュリティ観点から埋め込んでいません。
aws ec2 authorize-security-group-ingress \
--group-id <セキュリティグループのID> \
--ip-permissions IpProtocol=TCP,FromPort=3389,ToPort=3389,\
IpRanges='[{CidrIp=10.0.1.0/32,Description="CLI test"},{CidrIp=10.0.2.1/32,Description="CLI test"},{CidrIp=10.0.3.2/28,Description="CLI test"}]'