Amazon AWS —— 免费的午餐不好吃

2023-11-15

       转自acgcss

       众技术宅所周知,Amazon AWS 之前提供了“新用户凭有效信用卡免费试用一年”的活动,至今没有给出截止日期。虽说免费的午餐很诱人,而且由于信用卡的门槛,也避免了一部分的滥用,但是要安心吃好这顿饭,没有第一个吃螃蟹的人提供一点经验,多多少少心里还是会没底的。那么,在消失了这么多天鼓捣本站彩蛋至今终于算是基本完成于是我又可以继续写博客之后(这半句可以简单理解为:我终于滚回来了),打算和大家分享一下这段时间使用 AWS 的一些经验,希望有所帮助。

预警:本文不适合纯小白(比如不知道啥是 AWS 的人),请确保至少是和博主一样的小白级别

       AWS 和传统的 VPS 不太一样(这不是废话么(╯‵□′)╯︵┻━┻),因为把它当普通 VPS 一样直接在 EC2 上安装 WDCP 之类的管理后台,然后建站什么的就很容易超出免费套餐额度,从而被扣费。So, 请允许我先祭出免费使用 AWS 的终极奥义:官方优惠信息介绍 。所有的免费额度请务必以该页面的说明为准,其他地方的信息很可能已经过时。

于是我要做的就是稍稍给大家解读一下了。接下来进入正题:

免费资源那么多,为何只用 EC2?

       很多人可能只是把 AWS 当做免费一年的 VPS 使用,但是这往往只利用到了 AWS 中的 EC2。要知道 AWS 可是包含了 EC2, S3, RDS, CloudFront 等32种服务在内的豪华套餐啊,只用到其中的 EC2 岂不是太不符合社会主义节约型社会的建设了?

AWS - Amazon Web Services

       有人可能会说,我的网站没什么访问量,有一个 VPS 够用。少年你图样图森破了好么!当初我也是这样想的,可是头一个月就收了我0.45刀,折合人民币2.754元啊,说好的免费一年呢?!来来来,看看官方怎么说的:

AWS 免费套餐包括为期一年每月 750 小时 Linux 和 Windows 微型实例的试用时间。

       注意,是“和”,也就是说你可以同时运行一个 Linux 微型实例和一个 Windows 微型实例,各免费750小时。而且一个月最多也就24×31=744h,时间是肯定不用担心了。但是别高兴得太早。要用免费的你必须用微型实例,而微型实例只能使用以 EBS 作为存储的系统镜像;再看一下 EBS 的免费额度,区区30GB——鉴于所有 Windows 镜像要求最小存储容量为30GB,要同时再运行一个 Linux 实例就得为 EBS 埋单了。所以归根到底,Amazon只允许你同时运行一个微型实例。如果你想先用一会 Linux,再换 Windows 玩玩,这样也是可以的,只要保证运行新的实例之前已经彻底关闭(Terminate)旧的实例。所以别误会我大亚马逊是腾讯这一类小气货色,更何况 EC2 只是 AWS 免费套餐的(三十六分之)一部分,其他免费资源用起来啊!

EBS 好东西,天价 I/O 是问题

       其实我那0.45刀的费用就出自 EBS 的 I/O 上。根据官方信息,AWS 免费套餐包括

30 GB 的 Amazon Elastic Block Storage (EBS),加上 2 百万个 I/O 和 1 GB 的快照存储

       快照存储我还没研究,反正像我这种小站是够用的。30GB的 EBS 其实也够用,关键就在于 I/O 上。 I/O 简单说就是“磁盘读写操作”,不论读还是写都算数,而且读写的东西太大的话,还会分作几个小的区块来读写。像我之前只用 EC2,把它当 VPS, 静态文件、数据库什么的都在上面读写,I/O 一下就上去了。要知道,超过 200万 以后就按 0.12刀/ 100万I/O (不同数据中心的价格不一样)的价格给你算账了!我一个月居然超了约 375万 I/O ,最后收取 0.45刀的费用 (┬_┬) 加上免费的200万,我一个月就 575万 I/O 啊,这数据你能忍?

路人甲:废话怎么这么多,到底怎么降低 I/O 你大爷的倒是说啊!

       这位客官莫急!据说方法之一就是使用缓存技术,不过我昨天鼓捣了一天还是不知道怎么弄… 呃,前面这句话你们就当没看到吧= = 提示:AWS 支持 Memcached 和 Redis 缓存引擎,而 AWS 免费套餐包括:

750 小时的 Amazon ElastiCache 服务时间,足够整月持续运行微缓存节点。

所以还没用上这个服务的赶紧去开启吧,不要钱~~ 不过记得要和 EC2 一样使用“微型”实例,不然扣费!

S3真高端,静态资源往里搬

       降低 I/O 方法二,减少静态资源的读写。方法很简单啦,尽可能多地把静态资源放别处去。比如你有 BAE 开发者帐号,那就存点东西在 BCS 里;你有七牛帐号,就把 (WordPress 的)图片、附件什么的同步到那边去;你买了又拍云,闲置在那做摆设不成?你要是啥都没有,也可以想办法把 (WordPress) 要用到的一些 js 文件(比如 jQuery)、css 文件(比如 Bootstrap)替换成 CDN 公共库的,比如度娘的数字的,以及谷歌的,能省一点是一点,对吧?当然别忘了,AWS 免费套餐包括

5 GB 的 Amazon S3 标准存储,20 000 个获取请求以及 2 000 放入请求。

       所以有什么较大的附件就可以放在 S3 里面,因为容量大,却又限制获取次数,而对流量则没有限制。只放几张图片岂不亏大了?但是这又涉及到另一个问题了,注意防盗链,不然就可能像某位老外一样,一个月10000刀的账单寄到家了。

其实 S3 对存储内容的控制功能十分强大,比国内一些同类产品(比如 BCS)强大得多,你甚至可以把一个静态网站直接托管到 S3 上面。建议自己去体验一下,我就不多说了~

RDS也帮忙,I/O 不再飞快涨

       降低 I/O 方法三,“取消”数据库读写。既然是动态站,没有数据库读写是不可能的。只是,你的数据库完全不该像我一样放在 EC2 上,而应该放在 RDS 上。看看AWS免费套餐包括什么:

  1. 750 小时的 Amazon RDS 单一可用区域微型数据库实例使用时间,此类型数据库上运行 MySQL、Oracle BYOL 或 SQL Server(运行 SQL Server Express Edition),这足够整月持续运行数据库实例
  2. 20 GB 数据库存储
  3. 1 000 万 I/O
  4. 20 GB 备份存储,用于数据库自动备份和用户发起的数据库快照

       懂了吧?或许一开始我用 WDCP 直接生成站点就是个错误,因为数据库是放在 EC2 上的,而这将消耗不少的 I/O 。可是 RDS 有1000万 I/O 啊,这还不够用?唯一需要你注意的就是加了颜色的字了,请务必遵守这些限制,不然就会和我一样杯具,运行一个实例,仅仅一天就被收1.4 刀,真是欲哭无泪了QAQ

一天1.4刀,觉累不爱

       看到高亮区域了么?看不清就点一下图片看原图,一定要记住这些雷区啊!这是我用绳命实践出来的宝贵经验,请各位同志务必珍惜。不过也大可不必被我吓到,毕竟我是摸着石头过河,辛酸史是必须有的。如果你看了上图还是不知道该怎么办,请看下图,关于启用数据库实例(Step 3)时的注意事项:

6个注意事项

  1. 一定要选择 db.t1.micro ,默认给你选的是 large ,那个贼费钱!
  2. 一定要选择 No,默认给你选的是 Yes,于是就有了我账单上的 Multi-AZ 字样... 选 No 以后可以无视右边的黄色感叹号。要高可用性还是要免费,自己掂量→_→
  3. 数据库容量。建议填一个不超过 AWS免费套餐中 “20 GB 数据库存储” 的数字,其实5GB就够用了吧...
  4. 识别名。只要能让你自己搞清楚这是个什么数据库就行,随便填。不是数据库名!
  5. 数据库用户名。2-16个字符
  6. 数据库用户密码,至少8个字符

       填好进入第四步然后填一下数据库名,其他默认就差不多了,一路点“下一步”吧。最后等个5分钟左右,等 Status 那一栏变成绿色的Available以后,就可以点击一下看到你的 Endpoint 了。那个就是你的数据库主机地址。如果是新安装 WordPress 什么的,主机地址不是填 localhost,而是填这里的这个地址哦~ 可以不加:3306端口号。

至于怎么管理,由于没有提供 phpmyadmin 这样的图形界面,不妨使用 Navicat 这款软件,应该很简单,多多探索吧~ 使用这个软件的时候,主机地址就要填一开始的 Endpoint 了,而不是 Private DNS。

免费服务很多,其他不再多说

至此,我只希望从今天起,我的 I/O 可以降下来→_→

而你,勇敢的少年,如果对于 AWS 的其他免费服务还有兴趣,不妨自己实践探索。毕竟是按小时计费,随便玩玩也不会扣很多钱的,只要你记得彻底关闭(Terminate)不再使用的实例。

2014年3月4日更新:

贴一下我现在使用的实例的参数吧,其实我自己也只用到 AWS 中的 EC2 和 RDS 而已,连 S3 都没用上...

EC2 控制面板条目 数据
EC2 Region(地区) Asia Pacific (Singapore)
EC2 Instance Type(实例类型) t1.micro
EC2 Availability Zone(数据中心) ap-southeast-1b
EBS Capacity(容量) 10GiB
EBS Zone(数据中心) ap-southeast-1b
RDS 控制面板条目 数据
Multi-AZ(多数据中心容灾) No
Class(实例类型) db.t1.micro
Storage(容量) 20GB
Engine(数据库类型) MySQL
Zone(数据中心) ap-southeast-1b

       要切换不同的控制面板,请点击左上角的Services,然后在一大堆列表里找你要的服务。

鉴于留言中有朋友询问最低月费用,感觉我用的已经是最低配置了,如果全部收费的话,Linux 实例按每个月(按31天不间断使用算)2000访客,每个访客平均查看3个页面,每个页面30个请求,数据库、EC2 均不作备份来计算,费用大概要:

  • EC2实例:0.02x24x31=14.88
  • EBS存储:0.08x10=0.8
  • EBS I/O:0.08x2000x3x30/1000000=0.0144
  • RDS实例:0.035x24x31=26.04
  • RDS存储:0.11x10=1.1
  • RDS I/O:0.11x2000x3x30/1000000=0.0198
  • 总费用:14.88+0.8+0.0144+26.04+1.1+0.0198=42.8542,单位:美刀
  • 结论:略贵

       或者你可以试试不用 RDS,全靠 EBS 进行 I/O 操作,然后算算费用是多少,应该可以便宜不少。另外,EBS 和 RDS 存储可以相应降低一些,毕竟像我这样的小网站用不了那么多空间。当然,实在觉得博主实在不靠谱的也可以到官方计算工具自行计算~

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Amazon AWS —— 免费的午餐不好吃 的相关文章

  • 物联网毕设 -- 智能热水器(GPRS+APP+OneNET)

    目录 前言 一 连线图 1 原理图 2 PCB效果 3 实物效果 4 功能概括 1 硬件端 2 APP端 3 云平台端 演示视频 二 底层代码使用方式 1 使用说明 2 下载程序 3 查看云平台 三 APP使用方式 1 下载APP 1 操作
  • 【XGBoost】第 5 章:XGBoost 揭幕

    大家好 我是Sonhhxg 柒 希望你看完之后 能对你有所帮助 不足请指正 共同学习交流 个人主页 Sonhhxg 柒的博客 CSDN博客 欢迎各位 点赞 收藏 留言 系列专栏 机器学习 ML 自然语言处理 NLP 深度学习 DL fore
  • 增益带宽积 压摆率

    带宽 它指的是电路可以保持稳定工作的频率范围 选高速运放能减少对贷款的影响 只要能够完美再现方波 就是高带宽电路 带宽与压摆率同时变化 高频下 增益就缩小了 说明增益是有带宽的 在一定频率内增益才稳定 一倍放大 与 10倍放大输出用1 10
  • AntDesign-vue-Tree组件-拖动排序

  • c++primer plus第一章复习题和编程练习答案

    复习题 c 程序的模块是 函数 include
  • MATLAB —— 低通滤波器设计与信号滤波

    百度百科 简介 低通滤波器是容许低于截止频率的信号通过 但高于截止频率的信号不能通过的电子滤波装置 1 提取滤波器 系数矩阵 打开工具 MATLAB APP Filter Designer 参数设置 滤波器类型 Response Type
  • 爬虫实例——某翻译网站参数sign的构造

    1 网页分析 该翻译网站为进行Ajax加载的网站 针对这种网页的爬取 一般有两种方式 使用Selenium等模拟浏览器的方式进行爬取 这种方式实现起来较为简单 但是爬取速度相对较慢 直接对网站的接口进行请求 爬取速度相对较快 但是某些网站的
  • 7 125 kHz RFID技术

    ATA5577C应答器芯片 芯片性能和电路组成 主要技术性能 低功耗 低工作电压 非接触能量供给和读 写数据 工作频率范围为100 150 kHz EEPROM存储器容量为363位 分为11块 每块33位 具有7块用户数据 每块32位 共2
  • 算法分析02--分治法

    3 分治法 3 1递归 递归是指子程序 或函数 直接调用自己或通过一系列调用语句间接调用自己 是一种描述问题和解决问题的常用方法 使用递归技术往往使函数的定义和算法的描述简洁且易千理解 递归有两个基本要素 边界条件 即确定递归到何时终止 也
  • FASTAI and Fine-Tuning BERT with FastAI

    这是一篇笔记类型文章 主要是从新学习一下fastai 和实践 pytorch pretrained BERT 和 pytorch transformers 对接fastai 后简洁快速实现bert模型的训练和执行任务 我还是一个小白 大佬看
  • python Elasticsearch 排序

    sort 与query是同级的 Elasticsearch python sort sort score order desc query function score query match all script score lang p
  • 接口报错之number值过大问题

    number的最大的值为2的53次方 9007199254740992 16位 当你传入的参数为Number类型时候超过16位 js就识别不了 接口会出现错误的情况 可以直接改成字符串就好了 1 JavaScript中所有的数字 无论是整数
  • 合工大 编译原理 实验二 LL1 自动生成M[A,a]

    实验目的 通过完成预测分析法的语法分析程序 了解预测分析法和递归子程序法的区 别和联系 使学生了解语法分析的功能 掌握语法分析程序设计的原理和构造方 法 训练学生掌握开发应用程序的基本方法 有利于提高学生的专业素质 为培 养适应社会多方面需
  • C++ *和&

    简单理解 是指向内存的地址变量 是取变量的地址 介绍参见 https www cnblogs com mr stn p 9037773 html简介
  • spring boot项目显示3行日志错误,内置tomcat不可使用

    spring boot项目显示3行日志错误 内置tomcat不可使用 首先这中错误是只显示三行 第一种方法是没有用spring boot starter web 在pom中将这个依赖放在第一个 第二种方法是继承ServletInitiali
  • 详解如何将python3.6软件的py文件打包成exe程序

    本文来源于公众号 csdn2299 喜欢可以关注公众号 程序员学府 这篇文章主要介绍了详解如何将python3 6软件的py文件打包成exe程序 小编觉得挺不错的 现在分享给大家 也给大家做个参考 一起跟随小编过来看看吧 在我们完成一个Py
  • Codeforces Round 867 (Div. 3)(A题到E题)

    链接 Dashboard Codeforces Round 867 Div 3 Codeforces 头一次div3做出来四题 第五题也差临门一脚 赛后看到别人e题跟自己几乎一样的思路肠悔青了 还得练才行 A TubeTube Feed 签
  • 网络系列--如何理解网络“软化”?简要整理分析网络软化的赋能技术。

    文章目录 对网络软化的理解 SDN NFV NFV与SDN简单对比 如何理解网络 软化 简要整理分析网络软化的赋能技术 对网络软化的理解 在互联网飞速发展的今天 通信网络规模爆发式的增长以及客户对网络性能需求的多样性 对网络的灵活性和敏捷性
  • 【0day】复现时空智友企业流程化管控系统SQL注入漏洞

    注 该文章来自作者日常学习笔记 请勿利用文章内的相关技术从事非法测试 如因此产生的一切不良后果与作者无关 目录 一 漏洞描述 二 影响版本 三 资产测绘 四 漏洞复现 一 漏洞描
  • cocos2d-x实例学习(8)之CCJumpTo和CCJumpBy

    CCJumpTo和CCJumpBy概念 CCJumpTo 把某一CCSprite跳到某一位置 CCJumpBy 把某一CCSprite跳起一段距离 它有一个方法reverse 它让对象按原路径返回 CCJumpTo和CCJumpBy示例 创

随机推荐

  • react中context的使用详解

    先说一说context是干什么的 跨层级通信 一般组件通信的方法都是通过props来传递 不过这种方法当有了第三级或往后孙孙组件的时候就显得比较繁琐 以及不好修改 这时我们可以使用context来管理这些数据 不管多少层级都能让想要使用这些
  • 线程函数不能为类成员函数_GPU编程2CUDA核函数和线程配置

    CUDA核函数 在GPU上执行的函数称为CUDA核函数 Kernel Function 核函数会被GPU上多个线程执行 我们可以在核函数中获取当前线程的ID CUDA核函数的定义 global void addKernel int c co
  • 堆栈桢的生成原理

    摘要 那么Windbg分析Dump时 会如何推理堆栈过程呢 如果每个函数都是有标准的push ebp 那么按照ebp递推就可以了 否这就只能用其他方法分析 比如看看堆栈里某个地址是不是函数返回地址 该地址属于某个模块的代码段 这样就可以确定
  • mac系统下面调用brew报错core_ext/kernel_require.rb:55:in `require': cannot load such file

    mac系统下面调用brew报错 如下所示 usr local Homebrew Library Homebrew vendor portable ruby 2 3 7 lib ruby 2 3 0 rubygems core ext ker
  • [598]Windows版InfluxDB及相关软件安装与配置

    公司在做一个工业监控系统 虽然数据采集点并不算多但是数据量积累下来也非常大 使用mysql数据库进行数据存储和查询时很慢 所以让我调研一下时序数据库 通过调研和了解时序数据库在海量数据的读取和写出都比关系型数据库和NoSql快很多 有人做过
  • 如何向 Pandas DataFrame 添加行

    您可以使用df loc 函数在Pandas DataFrame的末尾添加一行 add row to end of DataFrame df loc len df index value1 value2 value3 您可以使用df appe
  • 计算机网络基本概念相关习题(二)

    一 单项选择题 1 不是对网络模型进行分层的目标 A 提供标准语言 B 定义功能执行的方法 C 定义标准界面 D 增加功能之间的独立性 2 将用户数据分成一个个数据块传输的优点不包括 A 减少延迟时间 B 提高错误控制效率 C 使多个应用更
  • 毕业答辩模板

    毕业答辩准备工作 一 首先是开场白 各位老师 上午好 我叫 是 级 班的学生 我的论文题目是 论文是在 导师的悉心指点下完成的 在这里我向我的导师表示深深的谢意 向各位老师不辞辛苦参加我的论文答辩表示衷心的感谢 并对三年来我有机会聆听教诲的
  • 三层架构、MVC、前后分离的一些知识

    三层架构 MVC 前后分离的一些知识 三层架构模型 MVC模式 三层架构与 MVC 架构区别 前后端分离开发时的变化 一个前后端分离项目的分层 前端 MVVM 后端 Service层 Model层 Mapper映射 BLL业务逻辑层 DAL
  • FreeRTOS笔记(十)中断

    中断 当CPU在执行某一事件A时 发生另外一个更重要紧急的事件B请求CPU去处理 产生了中断 于是CPU暂时中断当前正在执行的事件A任务而对对事件B进行处理 CPU处理完事件B后再返回之前中断的位置继续执行原来的事件A 这一过程统称为中断
  • 第四章 数据的预处理与特征构建(续)

    申请评分卡模型 数据的预处理与特征构建 续 课程简介 逻辑回归模型的特征需要是数值型 因此类别型变量不能直接放入模型中去 需要对其进行编码 此外 为了获取评分模型的稳定性 建模时需要对数值型特征做分箱的处理 最终在带入模型之前 我们还需要对
  • git 拉取分支到本地文件夹!

    前言 我现在需要改项目 我把项目来下来了却发现只需要修改某个分支的项目 所以只需要拉下项目的某个分支就行了 废话不多说直接开始教程 目录 1 创建本地仓库 2 与远程仓库建立联系 3 确定你需要拉的分支名 4 本地创建的分支与远程分支相互连
  • 【java.lang.ref】当WeakReference的referent重写了finalize方法时会发生什么

    问题 question 当WeakReference的referent重写了finalize方法时会发生什么 测试代码 JVM中是存在这样的情况的 一个Java对象 重写了finalize方法 在使用的过程中又被SoftReference或
  • 阿里云服务器搭建FRP实现内网穿透-转发

    前言 1 什么是frp frp是一个专注于内网穿透的高性能的反向代理应用 支持TCP UDP HTTP HTTPS等多种协议 且支持P2P通信 可以将内网服务以安全 便捷的方式通过具有公网IP节点的中专暴露到公网 2 演示环境 一 frp软
  • 火狐插件之(1) 用ScribeFire写csdn博客(很棒)

    ScribeFire 是火狐插件 简单快速的写博客 支持CSDN博客 关键是以下地址 http blog csdn net whyacinth services metablogapi aspx 将红色部分换成你的账号 自动检测回失败 手动
  • 内存卡永久删除的文件如何恢复?

    内存卡是和机械硬盘 U盘一个性质的数据存储工具 可以说是 同行 而作用更是不必多说 就是存储文件数据 谈谈今天的主题 万一真出现了这种情况 那存储我们电脑数据的内存卡永久删除的文件怎么恢复 内存卡永久删除的文件怎么恢复 内存卡永久删除的文件
  • gitee中git不能使用http协议提交项目

    git使用https协议提交项目的时候出现以下错误 error RPC failed curl 56 GnuTLS recv error 110 The TLS connection was non properly terminated
  • mixins详解

    实现一个日志功能 组件在挂载前打印 Component will mount 组件挂载后打印 Component did mount 不能忍受的写法 var AComponent React createClass componentWil
  • README_Albumentations

    一 文档 GitHub https github com albumentations team albumentations 官方文档 Albumentations Documentation 二 Installation pip ins
  • Amazon AWS —— 免费的午餐不好吃

    转自acgcss 众技术宅所周知 Amazon AWS 之前提供了 新用户凭有效信用卡免费试用一年 的活动 至今没有给出截止日期 虽说免费的午餐很诱人 而且由于信用卡的门槛 也避免了一部分的滥用 但是要安心吃好这顿饭 没有第一个吃螃蟹的人提