EC2,属于公有子网,如果没有分配公网IP,会出现上网问题

问题描述 投票:0回答:1

我在同一 VPC(自定义)和同一可用区内有 3 个 EC2 实例(Amazon-Linux AMI)。全部使用相同的安全组和相同的 ACL。

“A”和“B”位于公共子网下,其路由表包含 IGW 条目,而“C”位于私有子网下,其路由表包含 NAT 网关条目。 “A”有公共IP,但“B”和“C”没有任何公共IP。 “A”用于通过 SSH 连接到“B”和“C”。 “sudo yum update”命令在“A”和“C”中有效,但在 B 中出现超时错误。

这是预期的行为还是我做错了什么。

安全组:

                Type            Protocol    Port    Source/Destination
               ---------------------------------------------------------
Inbound rule:   All Traffic     All         All     Security Group itself
                SSH             TCP         22      Anywhere
Outbound rule:  All Traffic     All         All     Anywhere

ACL(入站和出站)

Type         Protocol   Port    Source/Destination  Allow/Deny
-------------------------------------------------------------
All Traffic  All        All     Anywhere            Allow
amazon-web-services amazon-ec2 amazon-vpc
1个回答
0
投票

实例“B”位于公共子网中,但没有公共 IP 地址。因此,它无法直接与互联网通信以进行更新,除非它使用实例“A”等中介作为 NAT 实例(您的设置中未提及)。要消除该错误,如果需要直接访问互联网,您需要为“B”分配一个公共 IP。

如果实例“B”缺少公共 IP,即使路由表正确,它也将无法使用 IGW。

或者您可以将实例 A 配置为代理或 NAT 实例,以允许 B 无需公网 IP 即可访问互联网。

并确保“A”已启用 IP 转发并正确设置路由。

(即使是公共子网中的实例,如果它没有公共 IP,您也需要像私有子网中的实例一样对待它)

© www.soinside.com 2019 - 2024. All rights reserved.