首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何访问亚马逊的S3数据通过AWS CloudFront在r?

如何访问亚马逊的S3数据通过AWS CloudFront在r?
EN

Stack Overflow用户
提问于 2021-09-10 14:47:36
回答 1查看 102关注 0票数 0

我在rStudio中构建了一个r闪亮的web应用程序,它使用访问键、秘密访问密钥和通过Sys.setenv()中的EC2获取区域从亚马逊的S3桶中提取数据,但我想利用AWS CloudFront。我已经通过AWS在线控制台为亚马逊S3存储桶建立了一个S3发行版,但我不太明白如何真正确保数据通过CloudFront而不是EC2来提取。我也可能误解了亚马逊S3和EC2/CloudFront之间的关系,因此任何信息都是非常感谢的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-09-10 15:02:25

Cloudfront位于S3桶(或http“原产地”)的“前面”,接收传入的请求,并将请求转发到源。然后缓存响应。Cloudfront是一个“内容分发网络”,这意味着它在各地都有边缘节点,并将请求流量路由到附近的边缘节点,最大限度地增加amazon网络上的网络路径数量(这是快速和高质量的,并且与AWS的其他部分具有良好的连接性),并将路径中的消费者级部分(慢、潜在和不可靠)最小化。

这种缓存和edge cdn可以显著加快速度-对于远程用户或高度重复的请求(如繁忙的网站)。但是这会对你在R中的表现产生什么影响呢?如果R运行在一个EC2实例中,那么您已经非常接近s3服务器了,因此更接近您的边缘cdn服务器对您没有任何帮助。

Cloudfront提供超文本协议,因此对cloudfront的请求将通过https提出,但它不提供s3 api,因此您的s3代码必须更改为更基于http的进程。您必须解决您的authNZ与您在S3中使用的Sigv4 aws签名不同。

亚马逊S3与EC2/CloudFront的关系

你可以认为云前线几乎是一个负载均衡器前面的一个起源。该来源可以是S3,也可以是http服务器,可能是EC2实例。但它的消费者总是http客户端。消费者可能在EC2上,也可能在其他地方运行,但他们仍然会说https。所以EC2/Cloudfront这个短语的选择让我有点困惑,因为EC2位于客户端,而cloudfront“更接近”方程的S3源端。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69134026

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档