我正在尝试配置从堡垒主机(位于公共子网中)到同一 VPC 中的私有 linux 实例(位于私有子网中)的安全 ssh 连接。
当我为我的私有 Linux 实例添加安全组规则时,最初它显示的规则为:
请注意,在添加堡垒主机的 IP 地址之前,水印显示“CIDR、IP 或安全组”,但是当我添加堡垒主机的 IP 地址时,它会抛出错误:
源必须是 CIDR 块或安全组 ID。
为什么不允许我在这里输入堡垒主机的IP地址?
Answer recommended by
AWS /collectives/aws
Collective
看来你的情况是:
- 您在公有子网中有一个 EC2 实例(“堡垒实例”),并且您可以通过 SSH 访问它
- 您在私有子网中有一个 EC2 实例(“私有实例”)
- 您正在配置与私有实例关联的安全组,以仅允许来自堡垒实例的 SSH 访问
我注意到您在安全组中输入公共 IP 地址 (52.63.198.234)。您实际上应该输入私有IP地址堡垒实例的。这样,实例之间的流量完全在 VPC 内流动,而不是离开 VPC(访问公共 IP 地址)然后再次返回。
事实上,推荐方式配置此设置的方法是:
- 为您的 Bastion 实例创建安全组(“Bastion-SG”)
- 为您的私有实例创建安全组(“Private-SG”)
- 配置 Private-SG 以允许来自 Bastion-SG 的入站 SSH 流量
通过参考安全组名称,将自动允许来自与指定安全组关联的任何 EC2 实例(在本例中为与 Bastion-SG 关联的任何实例)的流量。这意味着可以添加/替换实例,并且仍将根据关联的安全组允许流量,而不必更新特定的 IP 地址。
所以,回答你的问题......是的,有三种方法可以参考来源。来自 EC2 文档安全组规则 https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html#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)。
-
The name安全组的 (EC2-Classic) 或 ID(EC2-Classic 或 EC2-VPC)。
因此,IP 地址实际上必须使用 CIDR 表示法,其中/32
在最后。如果您认为这与“IP”的暗示不太相符(我倾向于同意您的观点),请随时点击Feedback按钮,并向 EC2 控制台团队提供您的反馈。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)