【发布时间】:2016-10-02 15:23:06
【问题描述】:
我按照以下说明设置并使用 NAT 网关:
AWS Lambda: How to setup a NAT gateway for a lambda function with VPC access
使用私有子网和 NAT 网关的 Lambda 函数现在似乎能够访问 Internet。所以这很好。
但是,我在私有子网中启动了一个具有公共 IP 地址的 EC2 微实例,但我无法通过 SSH 连接到它。我在上面链接的问题中有一些关于这个问题的参考,即它在技术上是一个错误配置,但我希望有人能详细解释为什么会出现这种情况以及 EC2 实例无法访问的原因。
【问题讨论】:
-
实例在私有子网中?如果是,则附加公共 IP 无济于事,只能从公共子网中的实例访问它
-
@Shibashis 根据我的问题描述,我已经确认无法通过我自己的测试访问它。我不明白 EC2 实例怎么可能拥有公共 IP 地址但无法从 Internet 访问。
-
即使实例有一个公共 IP,它也需要互联网连接才能进行 SSH。当您创建 NAT 网关/实例时,与私有子网中 EC2 实例的 Internet 连接会通过 NAT,因此您无法从其他任何地方直接通过 SSH 连接到 EC2 实例。很简单,您的笔记本电脑也有一个公共 IP 地址,但如果它没有连接到互联网,您就无法从远程位置 RDP 进入您的笔记本电脑。
-
@oliakaoil 去阅读整个答案:stackoverflow.com/questions/22188444/…
-
去服务器故障或网络工程堆栈交换中问这个问题。
标签: amazon-web-services amazon-ec2 aws-lambda nat