大佬教程收集整理的这篇文章主要介绍了AWS ECS 网络 ACL 要求,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我目前在 AWS 中进行了如下设置:
来自 task networking in aws fargate 的图片来源。
我使用 AWS ECR 来存储我的 docker 镜像,并且在我的任务定义中,作为容器镜像,我使用了提供的存储库 URI。一切都在同一个地区,他们工作得很好。
但是我想通过仅将特定端口列入白名单来加强 AWS 上的安全性。从安全组的角度来看,我已经根据需要更新了它们,一切仍然按预期工作。但是,对于网络 ACL,我在 Fargate 任务中遇到了一些问题。在公共子网的 ACL 部分,对于入站规则,我只想允许从 Internet (0.0.0.0/0) 访问 httpS 和 http。这样做会导致我的 fargate 任务出现此问题:resourceInitializationError: unable to pull secrets or registry auth: pull command Failed: : signal: killed
。需要注意的是,两个子网(私有和公共)的出站规则都允许流量到达任何地方 (0.0.0.0/0)。
我知道 Fargate 任务需要连接到 Internet 才能在 ECR 中提取 docker 映像,而 NAT 可以帮助做到这一点。 docker pull
或 docker push
使用 httpS,并且私有子网允许来自所有来源的所有流量和出站流量相同。
公共子网的 NACL
请建议如何修改网络 ACL 以仅将特定端口列入白名单。
P.S:最后的方法是使用 AWS Privatelink 访问 ECR 存储库,但我还不想这样做。
您的 NACL 中只允许端口 80 和 443。这还不够,因为您还需要允许 ephemeral ports。
这是因为对 ECR 的请求将使用临时端口返回到您的容器,而不是 80 和 443。这两个端口仅用于您的容器连接到 ECR,不用于返回流量从 ECR 到您的容器。
以上是大佬教程为你收集整理的AWS ECS 网络 ACL 要求全部内容,希望文章能够帮你解决AWS ECS 网络 ACL 要求所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。