我在S3存储桶上托管了一个单页应用程序。它使用位于网络负载平衡器后面的EC2实例的应用程序API。由于这种特定的负载均衡器约束,我无法使用SG并控制流向EC2实例的流量。理想的情况应该是:
不幸的是,现在要维持S3和EC2之间的通信,我需要打开特定的端口并允许从0.0.0.0/0开始的流量,这是我的噩梦。 也许有人知道任何解决方案对我来说都是很好的。也许有什么方法可以限制来自S3服务的流量?
答案 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实例。