これは何?
- 調査タスクで書いているAWS CLIのケース集
- 運用に組み込むならリファクタリングしたほうが良い
- リソースの数だけLoopしながらAWS CLIを叩いているものもある
- 標準エラー出力まわりの処理が雑
- AWS CloudShellで実行する前提で書いています
- デフォルトでAWS CLIとjqなどが入っている&いちいちAWS_PROFILEやMFA対応しなくて良いので楽
- ローカルで実行したい場合は^を指定するオプションを適宜加えてくださいね
- 表に出せるコードに書き直してから追記していきます。きっと。
ケース集
[EIP]AWS Resourceに紐付けられていないEIP一覧を取得する
aws ec2 describe-addresses |jq -c '.Addresses[] | select(.InstanceId | not) | [.PublicIp, .AllocationId]'
下記のように一覧される。^のnotを外せばAWS Resourceに紐付いたEIP一覧になるよ。
..(snip)..
["52.xxx.xx.xxx","eipalloc-xxx"]
["52.xxx.xx.xxx","eipalloc-xxx"]
["52.xxx.xx.xxx","eipalloc-xxx"]
..(snip)..
Tips
- jqのnotはbooleanを返す。Select対象が存在しない場合はfalseを返すので超便利
[EIP]AWS Resourceに紐付いたEIP一覧を取得する
[EIP]AWS Resourceに紐付けられていないEIP一覧を取得する
のjq中のnotを外せばOK