我无法从互联网连接到 Amazon Virtual Private Cloud (Amazon VPC) 中的 Amazon Elastic Compute Cloud (Amazon EC2) 实例。
简短描述
从互联网连接到 Amazon EC2 实例出现的连接问题通常与以下配置设置有关:
解决方法
开始之前,请先确认您的 Amazon EC2 实例已通过系统状态检查和实例状态检查。
如果您使用的是 Network Firewall,请参阅如何排查规则未按预期运行时 Network Firewall 出现的问题?
检查安全组
确认与实例的弹性网络接口关联的安全组允许来自所需端口的连接。由于安全组是有状态的,您无需配置安全组出口规则。
**重要信息:**在生产环境中,应仅允许特定 IP 地址或地址范围访问您的实例。用于测试目的时,指定自定义 IP 地址 0.0.0.0/0,允许所有 IP 地址使用 SSH 或 RDP 访问实例。
例如,如果您使用 SSH 从互联网连接到实例,则在端口 22 上添加规则。确保规则允许源 IP 地址访问实例。要允许任何人连接,请添加规则以允许 IP 地址 0.0.0.0/0 使用端口 80。
检查网络 ACL
检查您的网络 ACL 是否具有以下配置设置:
- 与 VPC 子网关联的网络 ACL 必须允许流量通过所需端口。有关更多信息,请参阅使用网络 ACL 控制流向子网的流量以及添加和删除规则。
- 同时允许入站和出站流量。网络 ACL 是无状态的。对允许的入站流量的响应受出站流量规则的约束。对允许的出站流量的响应受入站流量规则的约束。
- 确保只对出站网络 ACL 开放临时端口。最佳做法是只允许您需要的端口。
**重要信息:**如果您仍然无法确定是什么阻止了流量访问您的实例,请打开 VPC 流日志。流日志会捕获流经 VPC 的 IP 地址流量。如果您在流日志中看到被拒绝的流量,请再次检查安全组和网络 ACL 设置。
检查路由表
要检查您的 VPC 是否已连接到互联网网关,请完成以下步骤:
- 打开 Amazon VPC 控制台。
- 在导航窗格的 Virtual Private Cloud(虚拟私有云)部分中,选择 Internet Gateways(互联网网关)。
- 搜索连接到您的 VPC 的互联网网关。您也可以搜索 Attached VPC ID(附加的 VPC ID),例如,vpc-xxxxxxxx。
- 记下互联网网关的 ID,例如,igw-xxxxxxxx。
如果互联网网关已连接到您的 VPC,请完成以下步骤:
- 查看 VPC 的路由表,找到您的互联网网关的路由。查找 Target(目标)为连接到 VPC 的互联网网关的 ID、Destination(目标地)为 0.0.0.0/0 的路由条目。
- 如果该路由不存在,则添加一个将互联网网关作为目标、使用 0.0.0.0/0 作为目标地的路由条目。
- 确保子网路由表中也有指向互联网网关的路由条目。如果此条目不存在,则表明实例在私有子网中,无法从互联网访问。
**注意:**确认操作系统级别的路由表允许来自互联网的流量。根据您的配置,为 Linux 实例使用 route -n 命令,或为 Linux 或 Windows 实例使用 netstat -rn 命令。
检查 IP 地址
相关信息
为什么我的 EC2 实例无法使用 NAT 网关访问互联网?
Amazon VPC 中的互联网络流量隐私