【问题标题】:Reduce data transfer cost in aws降低 AWS 中的数据传输成本
【发布时间】:2019-03-26 18:21:57
【问题描述】:
我为我的网站设置了 aws,我正在做的是当用户上传图像时,我们将其保存到 ec2 上的文件夹,然后将其传输到 s3,发布我们从 s3 获取图像的帖子。
我还将所有的 js 和 css 都存储在 ec2 上,并从 ec2 本身获取所有内容。
我现在的数据传输成本很高,请问在ec2上存储图像是否花费更多?我应该直接将它存储在s3上吗?
【问题讨论】:
标签:
amazon-web-services
amazon-s3
amazon-ec2
【解决方案1】:
如果您的网络流量很高,请始终考虑使用 CDN 或专用网络托管服务。 EC2 仅推荐用于后台处理,而不是服务网页。如果您不小心,AWS 没有免费的午餐。在您想在 AWS 中托管任何东西之前,您必须始终检查 AWS bandwidth pricing。在一定程度上,数据传输成本可能比 EC2 服务器和(s3、EBS)存储贵很多倍。
AWS 只为 EC2 提供 1 GB 的免费数据传输到 Internet。之后,它是 0.09 美元/GB。如果您向所有人开放您的网络服务器,并且 20 个机器人每天从您的 EC2 网络服务器下载 100GB 数据,您将获得巨额账单,即(100GB x 0.09 美元 x 30 天 = 270 美元)- 0.09 美元(免费 1GB)= 269.01 美元
另外请记住,将 S3 数据传输到互联网不是免费的。您只能在同一区域内获得从 S3 到 EC2/lambda 的免费无限制数据传输。如果您将 S3 文件作为 URL 签名以让人们下载该文件,您将按“internet OUT”带宽费用计费。
【解决方案2】:
数据传输费用仅适用于从 AWS 区域传输到 Internet 的数据。上传到 AWS 以及在同一区域的 S3 和 EC2 之间移动数据均不收取任何费用。
如果您的数据传输成本很高,则表明您正在为 Internet 提供大量流量,无论是来自 EC2 还是 S3。