Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services AWS只允许从S3到EC2的通信_Amazon Web Services_Amazon S3_Amazon Ec2 - Fatal编程技术网

Amazon web services AWS只允许从S3到EC2的通信

Amazon web services AWS只允许从S3到EC2的通信,amazon-web-services,amazon-s3,amazon-ec2,Amazon Web Services,Amazon S3,Amazon Ec2,我有一个单页应用程序托管在S3 bucket。它使用位于网络负载平衡器后面的EC2实例上的应用程序API。由于这种特定的负载平衡器约束,我不能使用SG来控制EC2实例的流量。理想情况应该是: S3呼叫NLB EC2上的NLB调用API 到EC2实例的流量仅限于NLB,其他所有流量均被阻止, 不幸的是,现在为了维持S3和EC2之间的通信,我需要打开特定的端口并允许来自0.0.0.0/0的流量,这是我的噩梦。 也许有人知道任何对我有利的解决办法。也许有什么方法可以限制S3服务的流量?Amazon S

我有一个单页应用程序托管在S3 bucket。它使用位于网络负载平衡器后面的EC2实例上的应用程序API。由于这种特定的负载平衡器约束,我不能使用SG来控制EC2实例的流量。理想情况应该是:

S3呼叫NLB EC2上的NLB调用API 到EC2实例的流量仅限于NLB,其他所有流量均被阻止, 不幸的是,现在为了维持S3和EC2之间的通信,我需要打开特定的端口并允许来自0.0.0.0/0的流量,这是我的噩梦。
也许有人知道任何对我有利的解决办法。也许有什么方法可以限制S3服务的流量?

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


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

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

发件人:

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

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


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

您似乎对设置中的某些内容存在根本性的误解。1.S3调用NLB是不可能的。S3只存储内容;它从不以任何理由联系任何服务器。听起来你只是想限制那些正在显示你的应用程序的浏览器访问EC2,而这些应用程序恰好存储在一个存储桶中,并且正在从浏览器连接到你的服务器。。。但这与说S3正在连接到您的服务器非常不同。事实并非如此。