AWS仅允许来自S3的EC2流量

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AWS仅允许来自S3的EC2流量相关的知识,希望对你有一定的参考价值。

我在S3存储桶中托管了一个单页应用程序。它使用位于网络负载均衡器后面的EC2实例的app API。由于这种特定的负载均衡器约束,我无法使用SG和控制流量到EC2实例。理想情况应该是:

  1. S3呼叫NLB
  2. EC2上的NLB调用API
  3. 到EC2实例的流量仅限于NLB,其他所有流量都被阻止,

不幸的是现在为了维持S3和EC2之间的通信,我需要打开特定的端口并允许来自0.0.0.0/0的流量,这是我的噩梦。也许有人知道任何解决方案对我来说都是好的。也许有办法限制S3服务的流量?

答案

您似乎可以将Amazon EC2实例上的安全组配置为仅接受来自NLB的流量。

来自Register Targets with Your Target Group - Elastic Load Balancing

网络负载均衡器没有关联的安全组。因此,目标的安全组必须使用IP地址来允许来自负载均衡器的流量。

...您可以授予对负载均衡器节点使用的专用IP地址的访问权限。每个负载均衡器子网有一个IP地址。

但是,任何人都可以调用网络负载均衡器,因此可以访问EC2实例。

另一答案

Amazon S3是一种对象存储服务。如果您的应用程序由S3提供,则意味着S3向您的客户的浏览器提供html,CSS和javascript内容。 JavaScript在客户端执行,而不是在S3上执行。因此无法限制S3的EC2 API访问。

我建议使用Amazon Cognito对您的客户进行身份验证,并限制对经过身份验证的客户的API访问。

以上是关于AWS仅允许来自S3的EC2流量的主要内容,如果未能解决你的问题,请参考以下文章

在 AWS 中,如何将 Web 服务器安全组配置为仅接受来自 AWS 中的负载均衡器的流量?

适用于 RDS 的 AWS 安全组 - 出站规则

AWS 负载均衡器到 EC2 实例防火墙规则

AWS 安全组不允许入站流量

amazonaws ec2怎么配置ssl

我允许 EC2 安全组中的哪些 IP 地址允许客户端 *** 流量通过?