AWS仅允许来自S3的EC2流量

问题描述 投票:-1回答:2

我在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-web-services amazon-s3 amazon-ec2
2个回答
1
投票

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

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

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

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

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


2
投票

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

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

© www.soinside.com 2019 - 2024. All rights reserved.