程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了AWS ECS 网络 ACL 要求大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决AWS ECS 网络 ACL 要求?

开发过程中遇到AWS ECS 网络 ACL 要求的问题如何解决?下面主要结合日常开发的经验,给出你关于AWS ECS 网络 ACL 要求的解决方法建议,希望对你解决AWS ECS 网络 ACL 要求有所启发或帮助;

我目前在 AWS 中进行了如下设置:

AWS ECS 网络 ACL 要求

来自 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 pulldocker push 使用 httpS,并且私有子网允许来自所有来源的所有流量和出站流量相同。

公共子网的 NACL

AWS ECS 网络 ACL 要求

请建议如何修改网络 ACL 以仅将特定端口列入白名单。

P.S:最后的方法是使用 AWS Privatelink 访问 ECR 存储库,但我还不想这样做。

解决方法

您的 NACL 中只允许端口 80 和 443。这还不够,因为您还需要允许 ephemeral ports。

是因为对 ECR 的请求将使用临时端口返回到您的容器,而不是 80 和 443。这两个端口仅用于您的容器连接到 ECR,不用于返回流量从 ECR 到您的容器。

大佬总结

以上是大佬教程为你收集整理的AWS ECS 网络 ACL 要求全部内容,希望文章能够帮你解决AWS ECS 网络 ACL 要求所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。