AWS仅允许从S3到EC2的流量

时间:2019-03-15 10:14:13

标签: amazon-web-services amazon-s3 amazon-ec2

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

  1. S3通话NLB
  2. EC2上的NLB调用API
  3. EC2实例的流量仅受NLB限制,所有其他实例均被阻止,

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

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:1)

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

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

  

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

     

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

但是,任何人都可以调用网络负载平衡器,从而进入EC2实例。