aws S3使用总结

最近公司要上海外项目,要用到亚马逊。可把我折腾的够呛。好多坑。不得不说亚马逊的东西挺好最起码服务器性能比阿里云强多了。但在人性化这一点做的不如阿里。反正是各有千秋

这里说一下我的案例:要把图片cdn上的图片传到S3。这里我试了很多方法。把cdn的图片下载到本地通过挂载s3来cp,效果不是很好,官方也不建议这么做。s3cmd,s3的一个命令行工具。在文件数量很多的情况下很耗费资源。分析了下原因是什么导致的。经过网友的一番提点,觉得可能是他默认传输走的是外网。结果用traceroute解析了下还真是。这可是把我折磨够呛。

解决方法:在数据量很大的情况下,用s3cmd. s3fs 或者是aws 自带的工具传输数据,都不如内网传输效率要快。EC2 传数据到S3存储。默认走的是外网,如果想要走内网传输需要创建VPC终端节点。这里写一下他的教程

1.打开VPC控制台

2.选择终端节点

VPC这里选择的是跟你EC2主机关联的vpc策略

服务这里选的是S3服务

3.配置路由表,创建终端节点

4.测试

这时候我们再传输数据的时候。用iftop -i eth0查看一下他的带宽

这里出现了两个地址,左边的地址是ec2的私有dns。右边的地址解析是S3的地址。通过解析你能看到

时间: 2024-08-04 22:04:46

aws S3使用总结的相关文章

AWS s3 python sdk code examples

Yet another easy-to-understand, easy-to-use aws s3 python sdk code examples. github地址:https://github.com/garyelephant/aws-s3-python-sdk-examples. """ Yet another s3 python sdk example. based on boto 2.27.0 """ import time imp

用Node完成AWS S3的Upload流程之全世界最简版

开场: 查了两天文档,Error了38次,最后索性去掉所有附加条件, 连界面也不要了,在命令行里跑通了一坨最干瘪的Upload流程! 还冒着热气…… 在此先做记录,明天可以搭配美美的界面继续调试了. 近来压抑的心情顿时舒畅了百分之十. 1. 注册以及相关配置: 注册一枚Amazon账户,如果你经常在Amazon上买买买, 那你其实已经有了Amazon的Retail账户,可以直接登录为AWS账户, 但要变身为这么高大上的账户,不出血怎么可能? 在这过程中,需要花费1美元的认证费用…… 我把信用卡的

AWS S3 CLI的权限bug

使用AWS CLI在S3上创建了一个bucket,上传文件的时候报以下错误: A client error (AccessDenied) occurred when calling the CreateMultipartUpload operation: Anonymous users cannot initiate multipart uploads. Please authenticate. 执行命令:aws s3 ls s3://mybucket-1 同样提示权限错误. 之前使用AWS C

AWS S3使用小结

使用场景一:储存网站的图片,并能被任何人访问 1. 创建一个bucket,名字与需要绑定的域名一致. 例如,根域名是mysite.com,希望把所有图片放在pic.mysite.com下面,访问的时候用pic.mysite.com/a.jpg就能直接访问,那么这个bucket的名字就应该设置成pic.mysite.com 这时候就能在控制台上传文件了,当然做实际应用的话需要用他的SDK写程序来实现上传功能. 我们上传一个a.jpg,右边Properties里面给出了一个link "https:/

Python使用boto3操作AWS S3中踩过的坑

最近在AWS上开发部署应用. 看了这篇关于AWS中国区填坑的文章,结合自己使用AWS的经历,补充两个我自己填的坑. http://www.jianshu.com/p/0d0fd39a40c9?utm_source=tuicool&utm_medium=referral 1. V4 签名认证 官方文档中给出的例子: import boto3 s3 = boto3.resource('s3') s3.meta.client.upload_file('/tmp/hello.txt', 'mybucke

AWS S3 API实现文件上传下载

近日项目需要使用AWS S3的API实现文件的上传和下载功能,才发现网上关于.net实现该功能的文章不多,有几篇也都是很老版本的AWS的使用描述了,写法和封装的类等等都基本上报废了.虽然这样,但还是很感谢那几篇文章给我指点了方向.下面我就把实现API的方法提供给大家: 注:此API实现方法是基于AWSSDK.2.3.50.1版本实现的. 1.首先必须拥有 Amazon Web Services 账户才能访问此服务,目前有一定流量的适用,当流量超过之后会自动收费 2.根据提供的Access Key

【原创】aws s3 lambda缩略图生成

参考资料: https://github.com/sagidm/s3-resizer https://aws.amazon.com/cn/blogs/compute/resize-images-on-the-fly-with-amazon-s3-aws-lambda-and-amazon-api-gateway/ https://medium.com/swlh/how-to-get-started-with-aws-lambda-9f2ac14d863a https://www.obytes.c

aws s3 上传 binary 数据 (通过stringstream)

有个需求需要将二进制istream上传到s3上暂存,但苦于没能直接找到接口,官方提供的设置数据块的接口如下: inline void SetBody(const std::shared_ptr<Aws::IOStream>& body) { m_bodyStream = body; } 这个Aws::IOStream其实就是std::iostream的封装. 在实际寻找传入参数的时候没找到比较好的传入对象:fstream意味着我需要先将数据存到磁盘再去读取,感觉不是很好:而string

aws s3 连接建立

遇到的问题是  errorCode:301 是  网站永久重定向了 主要的错误原因: 1.aws 的服务方式与国内不一样,它们的后台技术支持服务是要自己买的. 这个原因造成了出现问题时,不解决特别麻烦. 2.中国区有自己的域名:  s3.cn-north-1.amazonaws.com.cn 3.他们的技术资料是06年的,已经垃圾到家了.呈现方式不直观.一个pdf文档中, 有种语言掺杂在一起.应该java 的放在一起 正题: System.setProperty(SDKGlobalConfigu