我从 AWS 账户 A 上的 VPC ECS 访问 AWS 账户 B 上的 redis,但收到以下错误:
redis.exceptions.ConnectionError:连接到 my_redis 时出现错误 110:6379。连接超时
它间歇性地成功,并且大多会出现连接超时。
为什么redis大多数时候连接失败?
我认为我已在两个账户上正确设置了 VPC 配对和路由。为什么会出现这种情况?
我知道这是一个老问题,但以防万一其他人发现它,这是我遇到间歇性反向代理错误的经验。
我的 VPC 具有阻止传入和传出端口的 ACL(无状态防火墙)。面临的挑战是传出允许的端口范围没有涵盖后端服务器期望的全部临时端口范围。因此,所有流量都会到达服务器,但间歇性地某些连接会被分配一个 VPC ACL 阻止的临时接收端口。客户端(代理)会看到它已尝试建立连接,但响应永远不会返回。
VPC ACL 确实是一种过于生硬的工具,在许多情况下无法用于阻止传出端口范围。