AWS EC2 安全组文档提到"EC2-VPC 安全组具有 EC2-Classic 安全组不支持的其他功能",但安全组控制面板未提供有关安全组属性"功能"的任何信息,这些信息使我能够区分我正在查看的安全组类型或它附加到什么, 因此,例如,我无法确定是否可以整合安全组并在 EC2 实例之间共享它们(以便于管理):
- 如何确定给定安全组是否适合给定实例?
- 如何确定安全组是否与哪些实例关联(我了解如何在实例控制台中执行反向操作)?
要查找与安全组关联的所有实例My-SG
,请使用以下 AWS CLI 命令:
aws ec2 describe-instances --filters "Name=instance.group-name,Values=My-SG" --query 'Reservations[*].Instances[*].[Tags[?Key==`Name`].Value]' --output text
EC2-VPC 的安全组具有其他功能,这些功能不是 受 EC2-经典版安全组支持
仅当您拥有实际支持 EC2 classic 的 AWS 账户时,这才有意义。 如果账户不到几年,则您不支持 EC2 经典版。 安全组在 EC2 classic 中的工作方式不同,因为它是一个完全扁平的网络。 随着 VPC 的创建,安全组现在由 VPC 隔离。
- 如何确定给定安全组是否适用于 给定实例?
这完全取决于您以及实例上的内容。 安全组是一个通用概念,可以应用于任何实例。例如,如果实例正在运行需要联系 DynamoDB 的内容,则需要为该实例创建一个支持该交互的安全组。同样,如果您有一个运行 Web 服务器的实例,则可能需要一个公开端口 80 的安全组。
- 如何确定安全组是否与哪些实例相关联(我看到如何在实例中执行反向操作 控制台)?
通过 GUI 完成这可能非常艰巨,具体取决于实例数量,即使您只想查看 EC2 组而不是 RDS 之类的东西。 使用 CLI 和如下命令最容易完成此操作:
$ aws ec2 describe-instances --output text | grep sg-{Some id}