これは何
- 表題の通りです。
AWS CLIコマンド
以下のコマンド。ドキュメントに記載のある通り、 Values=xxx.xxx.xxx.xxx/yy
には対象のCIDRを指定する。Values=xxx.xxx.xxx.xxx/yy,xxx.xxx.xxx.xxx/yy
のように複数指定可能。
$ aws ec2 describe-security-groups \
--filter "Name=ip-permission.cidr,Values=xxx.xxx.xxx.xxx/yy" \
--query "SecurityGroups[*].[GroupName]" --output text
オプションの --filter
や --query
、 --output
については以下を参照。
https://dev.classmethod.jp/cloud/aws/aws-cli-filter-and-query-howto/
https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/cli-usage-output.html
--query
の記法はJMESPath。以下を参照。
何をやっているのか
取得範囲のフィルタリング
--filter
オプションで「特定CIDRが含まれているセキュリティグループ」する
グループ名の一覧を取得
--filter
だけだと出力にセキュリティグループの各種属性が含まれたままになる。必要なのはセキュリティグループの名前だけなので、--query
オプションで GroupName キーの値のみを抽出する。
出力形式の指定
--output text
と指定すれば、プレーンテキストとしてデータが出力される。