我无法连接到 Amazon Elastic Compute Cloud (Amazon EC2) 实例上运行的服务。我已允许至安全组和网络访问控制列表(网络 ACL)的必要端口的入站流量,但仍不起作用。如何解决此问题?
简短描述
安全组是有状态的,因此,允许至必要端口的入站流量将会激活连接。网络 ACL 是无状态的,因此,您必须允许入站和出站流量。
解决方法
要开启至实例上运行的服务的连接,关联的网络 ACL 必须允许如下内容:
- 服务所侦听的端口上的入站流量
- 至临时端口的出站流量
当客户端连接到服务器时,临时端口范围 (1024-65535) 中的随机端口将会成为客户端的源端口。
指定的临时端口将会成为服务返回流量的目标端口。必须在网络 ACL 中允许至临时端口的出站流量。有关修改网络 ACL 规则的更多信息,请参阅添加和删除规则。
默认情况下,网络 ACL 允许所有的入站和出站流量。如果您的网络 ACL 具有更高的限制,则您需要显式允许至临时端口范围的流量。
**注意:**如果您接受来自互联网的流量,则您还必须通过互联网网关建立路由。如果您接受通过 VPN/AWS Direct Connect/Transit Gateway 的流量,则您必须通过虚拟私有网关/传输网关建立相应的路由。
相关信息
使用网络 ACL 控制流向子网的流量
使用安全组控制流向资源的流量