如何确定给定 AWS 安全组与什么相关联?



AWS EC2 安全组文档提到"EC2-VPC 安全组具有 EC2-Classic 安全组不支持的其他功能",但安全组控制面板未提供有关安全组属性"功能"的任何信息,这些信息使我能够区分我正在查看的安全组类型或它附加到什么, 因此,例如,我无法确定是否可以整合安全组并在 EC2 实例之间共享它们(以便于管理):

  1. 如何确定给定安全组是否适合给定实例?
  2. 如何确定安全组是否与哪些实例关联(我了解如何在实例控制台中执行反向操作)?

要查找与安全组关联的所有实例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 隔离。

  1. 如何确定给定安全组是否适用于 给定实例?

这完全取决于您以及实例上的内容。 安全组是一个通用概念,可以应用于任何实例。例如,如果实例正在运行需要联系 DynamoDB 的内容,则需要为该实例创建一个支持该交互的安全组。同样,如果您有一个运行 Web 服务器的实例,则可能需要一个公开端口 80 的安全组。

  1. 如何确定安全组是否与哪些实例相关联(我看到如何在实例中执行反向操作 控制台)?

通过 GUI 完成这可能非常艰巨,具体取决于实例数量,即使您只想查看 EC2 组而不是 RDS 之类的东西。 使用 CLI 和如下命令最容易完成此操作:

$ aws ec2 describe-instances --output text | grep sg-{Some id}

最新更新