当安全组和网络 ACL 允许入站流量时,为什么我无法连接到服务?

1 分钟阅读
0

我无法连接到 Amazon Elastic Compute Cloud (Amazon EC2) 实例上运行的服务。我已允许至安全组和网络访问控制列表(网络 ACL)的必要端口的入站流量,但仍不起作用。如何解决此问题?

简短描述

安全组是有状态的,因此,允许至必要端口的入站流量将会激活连接。网络 ACL 是无状态的,因此,您必须允许入站和出站流量。

解决方法

要开启至实例上运行的服务的连接,关联的网络 ACL 必须允许如下内容:

  • 服务所侦听的端口上的入站流量
  • 至临时端口的出站流量

当客户端连接到服务器时,临时端口范围 (1024-65535) 中的随机端口将会成为客户端的源端口。

指定的临时端口将会成为服务返回流量的目标端口。必须在网络 ACL 中允许至临时端口的出站流量。有关修改网络 ACL 规则的更多信息,请参阅添加和删除规则

默认情况下,网络 ACL 允许所有的入站和出站流量。如果您的网络 ACL 具有更高的限制,则您需要显式允许至临时端口范围的流量。

**注意:**如果您接受来自互联网的流量,则您还必须通过互联网网关建立路由。如果您接受通过 VPN/AWS Direct Connect/Transit Gateway 的流量,则您必须通过虚拟私有网关/传输网关建立相应的路由。


相关信息

使用网络 ACL 控制流向子网的流量

使用安全组控制流向资源的流量

AWS 官方
AWS 官方已更新 1 年前