我采取了以下步骤:
我已经完成了这一切,我仍然不能ping或ssh进入实例。 如果我按照相同的步骤减去VPC位,我可以设置这个没有问题。 我错过了什么步骤?
为了在VPC之外进行通信,每个非默认子网需要一个路由表和一个与之关联的网关(默认子网默认获得一个外部网关和一个路由表)。
根据您在VPC中创build公有子网的方式,您可能需要另外明确添加它们。 您的VPC设置听起来像是与场景1相匹配的 – 具有单个公有子网的私有云(VPC),以及允许通过 AWS VPC文档通过Internet进行通信的Internet网关 。
您将需要添加一个互联网网关到您的VPC和公共子网的路由表中分配0.0.0.0/0
(默认路由)去分配的互联网网关。 文档中有精确的networking拓扑图。
此外,有关更多信息,可以查看VPC Internet网关 AWS文档。 不幸的是,它有点混乱,并不明显。
有关连接问题的更多详细信息,另请参阅: 连接到您的实例的疑难解答 。
我注意到(我认为)你需要小心你的实例创build在哪个可用区。SubNet,networking接口和实例需要在同一个可用区域,否则无法连接到公共IP就此而言。
我可能是错的 – 但我不这么认为,这花了我12个小时的工作才弄清楚。
希望这可以帮助别人。
不知道这是否正是这种情况,但是我刚刚创build了一个公用和专用子网的VPC,并注意到有一个默认安全组的源地址是相同的安全组名称。 有效它没有访问权限。 必须改变这个来源到任何地方,它开始工作。
您应该分配一个ENI并将弹性IP分配给此ENI。 另外,您应该将此ENI分配给您的VPC。 路由表也必须正确,才能正确地将外部数据包转发给您的VPC。
由于SSH是有状态的协议,因此您需要确保您的networkingACL中有以下OUTBOUND规则:
Rule # Type Protocol Port Range Destination Allow / Deny 100 Custom TCP Rule TCP (6) 49152-65535 0.0.0.0/0 ALLOW