【AWS CLI】セキュリティグループが紐づくENIを知りたい!!

記事タイトルとURLをコピーする

こんにちは。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

終わりに

どなたかのお役に立てれば幸いです。

福島 和弥 (記事一覧)

2019/10 入社

AWS CLIが好きです。

AWS資格12冠。2023 Japan AWS Partner Ambassador/APN ALL AWS Certifications Engineer。