amazon-ec2 - 如果我知道名称,如何获取 AWS 安全组的 ID?
问题描述
我正在使用 AWS CLI,我想获取我知道其名称的安全组的 ID ( kingkajou_sg
)。我该怎么做?
当我要求它列出所有安全组时,它很高兴:
$ aws ec2 describe-security-groups | wc -l
430
当我通过此信息 grep 时,我看到有问题的 SG 已列出:
$ aws ec2 describe-security-groups | grep -i kingkajou_sg
"GroupName": "kingkajou_sg",
但是,当我尝试仅获取有关该安全组的信息时,它不会让我这样做。为什么?
$ aws ec2 describe-security-groups --group-names kingkajou_sg
An error occurred (InvalidGroup.NotFound) when calling the
DescribeSecurityGroups operation: The security group 'kingkajou_sg' does not exist in default VPC 'vpc-XXXXXXXX'
有人可以提供我可以用来提取安全组 ID 的单行命令吗?您可以假设该命令将从与安全组位于同一 VPC 的 EC2 中运行。
解决方案
从 API 文档:
--组名(列表)
[仅限 EC2-Classic 和默认 VPC] 一个或多个安全组名称。您可以指定安全组名称或安全组 ID。对于非默认 VPC 中的安全组,使用 group-name 过滤器按名称描述安全组。
如果您使用的是非默认 VPC,请使用过滤器
aws ec2 describe-security-groups --filter Name=vpc-id,Values=<my-vpc-id> Name=group-name,Values=kingkajou_sg --query 'SecurityGroups[*].[GroupId]' --output text
推荐阅读
- html - 如何使用我从 css 文件中导入的字体
- python-3.x - 如何使用starts_with jmespath.search 字典键
- python - 如何评估 Jupyter Notebook 中的分数(代入变量值)?
- javascript - Chrome DevTools:如何从 Sources 选项卡或 Watch 窗格中将 JSON 对象复制为文本
- spring-boot - Spring Boot 安全性在响应标头 cookie 中添加 2 个 XSRF-TOKEN
- php - PHP Laravel PDOException 一般错误引用列和外键约束中的引用列不兼容
- python - 这个函数在我的代码中扮演什么角色?
- ios - 多个故事板是让我的图形密集型应用在所有 iPhone 上看起来都不错的唯一方法吗?
- android - Android Studio 3.3 没有显示构建失败的确切错误
- matlab - 如何绘制通过 Jacobi 迭代获得的解和错误?