如何查找关联指定AWS安全组的所有资源?是否有AWS CLI命令可用?
查询关联特定AWS安全组的所有资源
不用逐个检查,直接用AWS CLI就能批量查出关联目标安全组的所有资源,核心思路是通过网络接口关联关系或者资源自身的安全组配置来查询:
通用查询(覆盖大部分EC2及托管服务)
大部分关联安全组的资源(EC2实例、RDS数据库、ElastiCache集群等)都会绑定网络接口,用describe-network-interfaces命令可以直接过滤出关联目标安全组的资源信息:aws ec2 describe-network-interfaces --filters Name=group-id,Values=sg-xxxxxx --query 'NetworkInterfaces[*].{资源ID:Attachment.InstanceId,资源类型:Attachment.InstanceOwnerId,关联安全组:Groups[*].GroupId}' --output table把命令里的
sg-xxxxxx替换成你要检查的安全组ID即可,输出会以表格形式展示关联的资源ID、类型等关键信息。针对特定资源类型补充查询
对于部分特殊资源(比如负载均衡、VPC内的Lambda函数),可以用对应服务的CLI命令单独查询:- 查询关联该安全组的应用负载均衡/网络负载均衡:
aws elbv2 describe-load-balancers --query 'LoadBalancers[?contains(SecurityGroups, `sg-xxxxxx`)].{负载均衡名称:LoadBalancerName,ARN:LoadBalancerArn}' - 查询配置了该安全组的VPC内Lambda函数:
aws lambda list-functions --query 'Functions[?VpcConfig.SecurityGroupIds[?@==`sg-xxxxxx`]].{函数名称:FunctionName,ARN:FunctionArn}'
- 查询关联该安全组的应用负载均衡/网络负载均衡:
内容的提问来源于stack exchange,提问作者jithu
相关产品推荐
相关产品推荐

