こんにちは。AWS CLIが好きな福島です。
今回はタイトル通り、セキュリティグループが紐づくENIを表示するコマンドをご紹介です。
利用するコマンド,サブコマンド
まず、AWS CLIの構造は以下の通りです。
aws <command> <subcommand> [options and parameters]
上記を前提に今回使う <command>,<subcommand>
は、以下の通りです。
<command>
ec2
<subcommand>
describe-network-interfaces describe-security-groups
結論
- 実行コマンド
調査したいSGIDを環境変数に定義する。
SGID=sg-00c78fbf089ace674
aws ec2 describe-network-interfaces \ --filters "Name=group-id,Values=$SGID" \ --query "NetworkInterfaces[].\ [Groups[?GroupId=='$SGID'] | [0].GroupId,\ Groups[?GroupId=='$SGID'] | [0].GroupName,\ InterfaceType,\ NetworkInterfaceId,\ Attachment.InstanceId,\ PrivateIpAddress,\ Description]" \ --output text
- 実行結果例
sg-00c78fbf089ace674 fk-test-public-sg interface eni-0c99dceab1ca21568 i-07c8cdb5cb90c9663 10.88.1.150 Primary network interface sg-00c78fbf089ace674 fk-test-public-sg interface eni-0a2e31f40331dd63a i-0807173c03bac7939 10.88.1.46 Primary network interface sg-00c78fbf089ace674 fk-test-public-sg interface eni-0be4d8d2ecc002aff i-0b56103f063dfd717 10.88.1.52 Primary network interface
全セキュリティグループの情報が欲しい
- 実行コマンド
echo "GroupId,GroupName,InterfaceType,NetworkInterfaceId,InstanceId,PrivateIpAddress,Description" > /tmp/awscli.tmp ;\ aws ec2 describe-security-groups --query "SecurityGroups[].GroupId" --output text | tr "\t" "\n" | while read line do aws ec2 describe-network-interfaces \ --filters "Name=group-id,Values=$line" \ --query "NetworkInterfaces[].\ [Groups[?GroupId=='$line'] | [0].GroupId,\ Groups[?GroupId=='$line'] | [0].GroupName,\ InterfaceType,\ NetworkInterfaceId,\ Attachment.InstanceId,\ PrivateIpAddress,Description]"\ --output text | tr "\t" "," >> /tmp/awscli.tmp ;\ done ;\ column -s, -t /tmp/awscli.tmp ;\ rm /tmp/awscli.tmp
- 実行結果
GroupId GroupName InterfaceType NetworkInterfaceId InstanceId PrivateIpAddress Description sg-00c78fbf089ace674 fk-test-public-sg interface eni-0c99dceab1ca21568 i-07c8cdb5cb90c9663 10.88.1.150 Primary network interface sg-00c78fbf089ace674 fk-test-public-sg interface eni-0a2e31f40331dd63a i-0807173c03bac7939 10.88.1.46 Primary network interface sg-00c78fbf089ace674 fk-test-public-sg interface eni-0be4d8d2ecc002aff i-0b56103f063dfd717 10.88.1.52 Primary network interface sg-00c78fbf089ace674 fk-test-public-sg lambda eni-0ae088dd8cc938e37 None 10.88.11.110 AWS Lambda VPC ENI-redshift-long-session-check-a15589ff-9f5d-460a-bc8f-a1e145d9c71d
終わりに
どなたかのお役に立てれば幸いです。