Amazon web services EC2上带有ELB和S3的文件上载API
我正在用NodeJS和AWS开发appserver 我正在使用ELB和EC2s设置服务器环境 我使用ELB作为负载平衡器,并将几个AppServerEC2实例连接到它 一个EC2实例用于MongoDB 我的问题是关于请求,包括文件上传 我认为上传的文件不应该在appserver(EC2实例)中,所以我将尝试将上传的文件保存在S3中,并允许appserver(EC2实例)访问它 粗略的解决方案是,如果应用服务器从客户端接受文件,将其移动到S3并删除应用服务器上的文件 但是这样会造成一些性能损失,我觉得这不是一种干净的方式 这是最好的方式吗?或者有另一种解决方法 我认为这是将文件上传到S3的最佳方式 但该文件与其他数据一起上传。(例如,配置文件上载-名称:字符串、年龄:编号、配置文件图像:文件) 我需要在AppServer上处理其他数据,所以客户端不应该直接上传到S3 还有更好的办法吗 请救救我Amazon web services EC2上带有ELB和S3的文件上载API,amazon-web-services,architecture,amazon-ec2,amazon-s3,amazon-elb,Amazon Web Services,Architecture,Amazon Ec2,Amazon S3,Amazon Elb,我正在用NodeJS和AWS开发appserver 我正在使用ELB和EC2s设置服务器环境 我使用ELB作为负载平衡器,并将几个AppServerEC2实例连接到它 一个EC2实例用于MongoDB 我的问题是关于请求,包括文件上传 我认为上传的文件不应该在appserver(EC2实例)中,所以我将尝试将上传的文件保存在S3中,并允许appserver(EC2实例)访问它 粗略的解决方案是,如果应用服务器从客户端接受文件,将其移动到S3并删除应用服务器上的文件 但是这样会造成一些性能损失,我
附言:如果你不能理解我的表达,请告诉我,因为我不是本地人。如果是这样的话,我会用我最好的解释来补充 您可以使用允许最终用户向您写入的临时凭据直接上载到S3 这里有一篇很好的文章,详细介绍了如何使用node.js执行您正试图执行的操作 引用外部链接的答案不受欢迎,因此简言之:
- 在应用程序中包括aws sdk
- 为其提供适当的凭据
- 使用这些凭据生成具有短生命周期的签名URL
- 向最终用户提供他们可以用来上传的签名URL,最好是与进度反馈异步上传