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

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

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

1.打开VPC控制台

aws S3使用总结_第1张图片

2.选择终端节点

aws S3使用总结_第2张图片

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

服务这里选的是S3服务

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

aws S3使用总结_第3张图片

4.测试

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

wKioL1iAX3yiwuJtAAAf-Sg1SZo714.png

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

aws S3使用总结_第4张图片