如何在AWS中的安全组内配置安全组?

时间:2015-08-14 20:02:52

标签: security amazon-web-services amazon-ec2 amazon-vpc

我最近在我们的VPC中使用亚马逊AWS安全组进行了一些测试。

我在sg_office内部有一个LAMP堆栈服务器,并且端口22,80和3306对我们的办公室IP / 32开放。一切都很好。

我认为您可以将SG B添加到SG A以稍微组织IP。例如,我想创建一个sg_contractors和一个sg_office来组织可以访问单独安全组的远程IP,因为远程承包商的IP很容易发生变化,而我们的办公室IP是静态的。

以下是我遵循的步骤。

  1. 我添加了一个新的sg_contractors安全组,并在22,80和3306上添加了他们的IP / 32和入口,
  2. 回到sg_office并添加了入口ALL TCP到"自定义IP" sg_contractors。当我输入sg时,它出现在其他安全组列表中......所以我认为这必须是这样做的。
  3. 远程用户无法连接。

    我再试一次,

    1. 编辑sg_contractors以使入口ALL TCP设置为0.0.0.0/0
    2. 远程用户仍然无法连接。我甚至

      1. 作为测试,将ingress ALL TCP contractors_sg添加到contractors_sg。
      2. 远程用户仍然无法连接到服务器。

        当然,如果我将远程承包商的IP / 32直接放入sg_office并为其IP / 32重新添加端口22,80和3306,它工作正常,它只会使sg_office规则更加混乱并且令人困惑,因为没有办法标记任何IP,每个承包商必须有多个规则。

        那么我错过了什么,你是如何做到这一点的?

1 个答案:

答案 0 :(得分:2)

您希望将两个安全组应用于同一个实例。

当存在与Amazon EC2实例的传入连接时,将检查与该实例关联的所有安全组。如果任何规则允许入站访问,则允许连接。

这与一个引用另一个安全组的安全组不同,后者用于连接两个实例。

例如,如果您希望允许实例A与实例B通信,那么您将为两个实例(例如SG-A和SG-B)分配安全组。然后,您将配置SG-B以允许从“SG-A”到所需协议的入站访问。这通常是为了允许Web服务器与App Server通信。

在您的情况下,只有一个实例,您应该将sg_officesg_contractors关联到同一个实例。

相关问题