将IP地址输入EC2安全组规则时使用的格式是什么?

时间:2016-10-09 07:12:00

标签: linux amazon-web-services ssh aws-security-group

我正在尝试将堡垒主机(位于公共子网中)的安全ssh连接配置到同一VPC中的私有linux实例(位于私有子网中)。

当我为我的私有Linux实例添加安全组规则时,最初它将规则显示为:

enter image description here

enter image description here

请注意,在添加堡垒主机的IP地址之前,水印显示“CIDR,IP或安全组”,但是当我添加堡垒主机的IP地址时,它会抛出错误:

  

源需要是CIDR块或安全组ID。

为什么不允许我在这里输入堡垒主机的IP地址?

1 个答案:

答案 0 :(得分:12)

您的情况似乎是:

  • 您在公有子网中拥有EC2实例("堡垒实例"),并且您可以通过SSH连接到它
  • 您在私有子网中有一个EC2实例("私有实例")
  • 您正在配置与私有实例关联的安全组,以仅允许从Bastion实例进行SSH访问

我注意到您正在安全组中输入公共IP地址(52.63.198.234)。您应该实际输入Bastion实例的私有IP地址。这样,实例之间的流量完全在VPC内流动,而不是离开VPC(访问公共IP地址),然后再次返回。

实际上,配置此设置的推荐方式是:

  • 为Bastion实例创建一个安全组(" Bastion-SG")
  • 为您的私人实例创建一个安全组(" Private-SG")
  • 配置Private-SG以允许来自Bastion-SG的入站SSH流量

通过引用安全组的名称,将自动允许来自与命名安全组关联的任何EC2实例的流量(在这种情况下,与Bastion关联的任何实例) -SG)。这意味着可以添加/替换实例,并且仍然可以根据关联的安全组允许流量,而不必更新特定的IP地址。

所以,回答你的问题......是的,有三种方式可以参考来源。来自EC2文档Security Group Rules

  
      
  • 个人IP地址,采用CIDR表示法。请务必在IP地址后使用/ 32前缀;如果在IP地址后使用/ 0前缀,则会打开所有人的端口。例如,将IP地址203.0.113.1指定为203.0.113.1/32。
  •   
  • IP地址范围,采用CIDR表示法(例如,203.0.113.0 / 24)。
  •   
  • 安全组的名称(EC2-Classic)或ID(EC2-Classic或EC2-VPC)。
  •   

因此,IP地址实际上必须使用CIDR表示法,最后使用/32。如果您认为这与" IP"的提示不相符。 (我倾向于同意你的意见),随时点击控制台中的反馈按钮,并向EC2控制台团队提供反馈。