Amazon web services 私有子网未与公共健康检查对话失败
我试图实现本文中描述的以下体系结构 我有一个使用ENI(专用IP为10.0.241.85)的Fargate服务,运行在一个专用子网(我们称之为“子网-1”)中。ENI也有一个弹性IP,因为如果没有,它无法从ECR中提取图像。但我认为这无关紧要?我的服务中的容器正在暴露端口3000/4000。然后我将我的ALB&NAT网关放在一个公共子网中(我们称之为“子网2”)。ALB将端口80/443上的流量转发到必要的目标组。目标组有2个注册任务,目标是ENI上的专用IP(1个在端口3000上,另一个在端口4000上)。据我所知,这应该允许车辆进入,对吗 对于流量输出,子网1有一个默认路由(0.0.0.0/0)到子网2中的NAT网关,这应该允许流量输出,对吗 所有服务均位于相同的专有网络和相同的可用区(如适用) 我有两个安全组,由这些服务使用:Amazon web services 私有子网未与公共健康检查对话失败,amazon-web-services,nat,aws-fargate,aws-application-load-balancer,Amazon Web Services,Nat,Aws Fargate,Aws Application Load Balancer,我试图实现本文中描述的以下体系结构 我有一个使用ENI(专用IP为10.0.241.85)的Fargate服务,运行在一个专用子网(我们称之为“子网-1”)中。ENI也有一个弹性IP,因为如果没有,它无法从ECR中提取图像。但我认为这无关紧要?我的服务中的容器正在暴露端口3000/4000。然后我将我的ALB&NAT网关放在一个公共子网中(我们称之为“子网2”)。ALB将端口80/443上的流量转发到必要的目标组。目标组有2个注册任务,目标是ENI上的专用IP(1个在端口3000上,另一个在端
任何帮助都将不胜感激:)如果您的任务正在侦听端口3000和4000,则您的安全组(
test
我猜,根据您的评论)将需要允许这些端口。按照现在的配置,我不认为端口3000和4000是允许的
还有几点需要注意的是,由于私有子网无法直接访问internet,因此,在您的ENI上的私有子网中使用弹性IP不会起任何作用。如果您在没有ECR的情况下连接到ECR时遇到问题,则肯定存在其他问题
此外,您的SG规则允许非常大的CIDR块,如
0.0.0.0/0
。更安全的配置只允许需要访问的特定安全组。在这种情况下,您可能希望应用程序的端口(听起来像3000和4000)来自负载平衡器的SG ID。非常感谢!这不是完整的答案,但肯定是其中的一半。另一半是,如果重定向到HTTPS,我们的应用程序将抛出301状态码。运行状况检查是通过HTTP进行的,因此被重定向,在运行状况检查中,301不在我的成功代码范围内
| Service | Security Groups |
|---------|-----------------|
| ENI | test |
| | api |
|---------|-----------------|
| ALB | api |
|---------|-----------------|