永久免费云服务 · AWS篇
前言
2026年的云计算世界,有一个公开的秘密:AWS远比你想象的更慷慨,也远比你听说的更 “危险” 。
说它慷慨,是因为你完全可以不花一分钱,搭建一个支撑日均几千请求的后端服务——Lambda处理逻辑、DynamoDB存储数据、SQS削峰填谷,这套组合拳在永久免费套餐内就能跑起来。
说它 “危险” ,是因为网上充斥着 “醒来收到上千美元账单” 的血泪帖。那些踩坑的人,往往不是用了多高级的服务,而是没搞懂免费额度的计算方式,或者注册时选错了计划。
这篇指南,就是我给“想用好AWS免费套餐”的你,准备的一份完整地图。
注意事项
注册账户的时候,如果你需要的是白嫖,那就选择 “Free Plan(免费计划)”
如果你是付费党,那就选择另一个
计算与容器
AWS Lambda
介绍
一个只需上传即可运行代码的服务
属于FaaS (函数即服务) 类型
不需要关心服务器,不需要关心资源容量,只需要写函数逻辑,事件触发时执行即可
可用性极高,部署在 AWS 多个数据中心中
类似于 Cloudflare Workers (详见Cloudflare篇),但是可以运行 JS 、 Python 、 Java 、 Go 、 C# 、Ruby 、 PowerShell ,
还可以通过 Runtime API 使用任何语言
并且一次性运行时间比 Cloudflare Workers 多得多,最长15分钟,内存最高可选10GB
使用场景
- 文件处理:图片/视频上传到 S3 后,自动触发 Lambda 生成缩略图。
- 后端 API:配合 API Gateway 构建无服务器的 Web 或移动应用后端。
- 数据处理:实时处理 Kinesis 或 DynamoDB Streams 的流数据。
- 定时任务:通过 CloudWatch Events 定时运行 Lambda 做数据库清理、报表生成等。
- 事件驱动自动化:监控 AWS 资源变化并自动响应,如自动停止未关机的 EC2 实例。
费套餐的具体边界:每月 100 万次请求 + 40 万 GB-秒
这是你必须知道的硬性指标。超出就会开始产生费用。
免费额度
每月免费请求次数:1,000,000 次
每月免费计算时间:400,000 GB-秒
如何理解 “40万 GB-秒” ?
这是一个组合单位。简单来说:
函数内存配置 × 每月累计运行秒数 = **400000**
| 配置的内存 | 每月可免费运行的总时长 (不计算请求次数) |
|---|---|
| 128 MB (最小配置) | 约 36 天 ( 400000 / 0.125 GB / 3600秒 ) |
| 512 MB (常见配置) | 约 9 天 |
| 1024 MB (1 GB) | 约 4.6 天 |
| 3072 MB (3 GB) | 约 1.5 天 |
示意图:

💡 建议:轻量任务用128-256MB,别为了快选大内存
Lambda 免费额度的隐藏坑
免费额度是账户级别,不是每个函数单独计算
请求次数和计算时间是两者都限制:如果你用了 40万 GB-秒 但请求只有 10 次,仍然不会额外收费;但如果请求超过 100万次(即使计算时间很少),超出部分要收费
AWS CloudFormation
介绍
AWS CloudFormation 是一项基础设施即代码(Infrastructure as Code, IaC) 服务(类似 Terraform 或 Pulumi),它允许你使用文本文件(代码)来定义、配置和管理云应用所需的所有AWS资源
简单来说,你可以通过 CloudFormation 建立一个管理你所有云资源的“项目”,实现资源的统一、安全、可重复的创建、更新和删除
类比一下,约等于 docker-compose.yml ,区别如下
| 维度 | docker-compose.yml | CloudFormation 模板 |
|---|---|---|
| 管理对象 | 容器(本地或Swarm集群) | AWS云资源(EC2、S3、RDS、VPC等) |
| 运行环境 | 单一Docker主机或Swarm集群 | AWS全球云平台 |
| 资源类型 | 容器、网络、卷、配置 | 200+种AWS服务(计算、存储、数据库、网络、安全...) |
| 状态管理 | 有限(主要跟踪容器状态) | 完整状态管理(资源创建、更新、删除全生命周期) |
| 更新策略 | 滚动更新(up --force-recreate) | 支持多种更新策略(滚动、替换、自动回滚) |
| 依赖复杂度 | 较简单(主要是服务间调用) | 复杂(网络、安全组、IAM角色、资源引用等深度绑定) |
| 跨主机部署 | 需要Swarm/K8s编排 |
原生支持(跨AZ、跨Region、跨账户) |
| 费用管理 | 不涉及 | 支持预算预警、删除保护、资源标记(Tag) |
注:CloudFormation 原生支持 ECS、EKS 等容器编排服务
主要特点与优势
CloudFormation 提供了大量关键特性来简化云资源的管理:
-
基础设施即代码 (IaC):这是最核心的优势。你可以使用
JSON或YAML格式的文件编写模板,并将其纳入版本控制系统(如 Git)进行管理。这意味着你的基础设施像应用代码一样,可以进行代码审查、版本控制和团队协作。 -
自动化与安全部署:CloudFormation 会自动分析模板中资源的依赖关系,并按正确的顺序创建、更新或删除它们。它内置了自动回滚机制:一旦检测到任何操作失败,会自动恢复到上一个稳定的状态,避免错误扩散。新的预部署校验功能可以在正式部署前,直接在IDE中或创建更改集时,就帮你发现语法错误或命名冲突等问题。
-
广泛的资源支持与管理:支持几乎所有AWS资源:包括
EC2、S3、RDS、VPC等核心服务。 -
支持第三方资源:通过 CloudFormation Registry,你可以使用和管理来自
MongoDB、Datadog、Splunk等合作伙伴的第三方资源。 -
与开发工具集成:你可以使用熟悉的编程语言(如
TypeScript、Python、Java)通过 AWS CDK 来生成CloudFormation模板。同时,许多主流IDE通过 CloudFormation Language Server 获得了语法补全和验证等智能编写支持。 -
安全与风险控制:除了更改集和自动回滚,CloudFormation 还提供偏差检测 (Drift Detection) 功能,可以检测出实际资源的状态是否与模板定义的状态不符(比如有人在控制台手动修改了配置),帮助你保证环境的一致性。
免费额度
每月 1000 次处理程序操作
CloudFormation/CDK 免费额度的“陷阱”
每月 1000 次处理程序操作:创建/更新/删除栈都算操作
每部署一次 CDK 应用,通常会消耗 多个 操作(每个资源创建算一次)
对于复杂架构,1000 次/月可能不够用
AWS Cloud Development Kit (CDK)
介绍
AWS Cloud Development Kit (CDK) 是一个开源的软件开发框架,它允许你使用 TypeScript、Python、Java、C# 等熟悉的编程语言,以代码的形式来定义和部署云基础设施
跟AWS CloudFormation差不多,目标相同(CDK 代码最终会被编译成 CloudFormation 模板,再由 CloudFormation 执行部署。),但是方式不同:
| 特性 | AWS CloudFormation | AWS CDK |
|---|---|---|
| 定义方式 | 用 JSON 或 YAML 编写静态文本文件 |
用 TypeScript, Python, Java, C# 等通用编程语言编写代码 |
| 抽象层次 | 低 (L1):你需要在模板中详细描述每一个资源的每一项属性 | 高 (L2/L3):你使用封装好的 Construct,很多细节(如依赖关系、权限)由框架自动处理 |
| 表达能力 | 有限:没有循环、条件判断、函数等编程语言特性,复杂场景需要依赖 Fn:: 内在函数或 Mappings,代码重复性高且难以维护。 |
强大:你可以使用 for 循环创建多个类似的资源,用 if 条件判断是否创建特定资源,用变量和函数复用逻辑,像写普通程序一样灵活 |
| 复用性 | 困难:通过 嵌套栈 (Nested Stacks) 或 模块 (Modules) 复用,但复用单元较大,分享和版本管理相对不便。 |
天然:你可以将任何基础设施模式封装成一个小的 Construct 类,然后通过 npm、PyPI、Maven 等标准包管理器像普通代码库一样分享和引用 |
| 学习曲线 | 较低:只需学习模板的格式和资源属性,但编写和维护复杂模板的难度很高 | 较高:需要掌握一种编程语言和 CDK 的核心概念(如 App, Stack, Construct)。但一旦掌握,处理复杂场景的效率远高于 CloudFormation |
与 CI/CD 集成 |
命令行工具 (AWS CLI) 部署模板,与其他系统的集成相对独立 |
可以和标准测试框架集成 (如 Jest, Pytest),为基础设施编写单元测试。更容易融入成熟的软件开发 CI/CD 流程 |
一个形象的比喻:搭积木
- CloudFormation:就像是给你一堆最基本的乐高散件(对应
EC2、S3等单个资源)。你需要照着说明书(文档)一块一块地拼,精确到每个凸点和凹槽的位置(每个属性)。 - CDK:就像是给你 预制的标准模块,比如一个带车轮和引擎的汽车底盘(一个
L3 Construct,代表ECS Fargate服务)。你只需要说 “给我两个这样的底盘” ,CDK就会自动为你调取所需的散件并拼装好。
免费额度
不限制
存储与数据库
Amazon DynamoDB
介绍
Amazon DynamoDB 是亚马逊云科技提供的一种完全托管、无服务器的 NoSQL 键值数据库,专为高扩展性、低延迟的场景设计。
核心特点
| 特性 | 说明 |
|---|---|
| 性能 | 毫秒级延迟,可随吞吐量线性扩展 |
| 扩展性 | 自动水平分区,支持 PB 级数据 |
| 高可用 | 数据自动跨多个 **AZ(可用区)**复制(默认 3 副本) |
| 持久性 | 提供 99.999999999%(11个9)的数据持久性 |
| 无服务器 | 无需预置服务器,按实际使用量付费 |
| 一致性 | 最终一致性(默认)或强一致性(可选) |
常见使用场景
- 电子商务:购物车、会话管理
- 游戏:玩家数据、排行榜
- 用户画像:设备信息、偏好设置
- 元数据存储:S3 对象索引
- LoT 设备状态:海量设备遥测数据
免费额度
| 资源类型 | 免费额度 | 说明 |
|---|---|---|
| 数据存储 | 25 GB | 针对使用 “DynamoDB 标准” 表类型的数据和索引存储空间 |
| 预置容量 (RCU/WCU) | 25 个读容量单位 (RCU) + 25 个写容量单位 (WCU) | 这是免费额度的核心,25 RCU 和 25 WCU 足以每月处理约 2 亿次请求 |
| 按需容量 (On-Demand) | 无 | 按需模式不提供针对请求的免费额度,但依然享有 25 GB 的免费存储空间 |
免费额度是 “账户级别” 共享的:
这笔免费额度是以 你的 AWS 账户 为单位的,而不是 按每个表 来算的。
如果你在一个区域内创建了 5 张表 ,并且每张表都设置了 5 个 WCU ,那么加起来就是 25 个 WCU ,恰好用尽免费额度。如果创建了 第 6 张表 ,即使每张表只设置 1 个 WCU ,总额度为 6 WCU ,也还在 免费额度 内(不超过25 WCU)。
应用集成
Amazon Simple Notification Service(SNS)
介绍
Amazon Simple Notification Service(SNS)是一项全托管的消息发布/订阅服务。它允许不同系统或应用之间,以及应用与用户之间,通过 “推送” 的方式发送和接收消息。
用人话来讲,你可以把它理解成朋友圈。
但它和朋友圈的区别在于,SNS是主动推送给接收方,而朋友圈需要手动打开微信才能看
以及它的速度是无与伦比的,朋友圈可能有很长的延迟,但是SNS约等于无**(毫秒级),并且接收方不固定
可以是程序**,可以是服务器,甚至看可以是所有人
还有,当SNS推送的消息接收方无法接收(程序故障……)时,SNS会一直尝试推送,直到成功
可能更好的比喻是 “大喇叭” ,有消息就广播出去,谁听不到就一直发
核心功能
-
应用间消息收发 (A2A):在分布式系统、微服务或无服务器应用之间传递事件。比如,当有新的对象上传到云存储(Amazon S3)时,SNS 可以自动触发一个函数(Lambda)来处理这个文件,或将该事件推送到**消息队列(SQS)**供其他系统处理。
-
用户间消息收发 (A2P):直接向终端用户发送通知,支持的终端非常丰富:
-
移动推送通知:发送到 iOS、Android 等移动设备上的 App。
-
短信 (SMS):向指定手机号发送文本信息。
-
电子邮件 (Email):向指定邮箱地址发送邮件。
-
HTTP/HTTPS 端点:调用你自己的 Web 服务器接口(WebHook)。
-
使用场景
-
“扇出”模式 (Fanout):一个应用产生一条消息,通过 SNS 主题 ,同时推送给多个下游系统,实现异步并行处理。
-
系统监控告警:当云资源(如服务器CPU使用率、数据库连接数)超出阈值时,CloudWatch 可以触发 SNS 消息,向运维人员发送短信或邮件报警。
-
工作流解耦:在电商系统中,当用户下单后,订单系统向 SNS 主题发布一条消息,然后库存、支付、物流等多个系统可以订阅该主题并各自处理,互不干扰。
免费额度
| 操作类型 | 每月免费额度 | 超出后计费(中国区域) |
|---|---|---|
| API 请求(发布消息等操作) | 100 万次 | ¥3.40 / 100万次 |
| HTTP/HTTPS 通知(推送给服务器) | 10 万次 | ¥0.40 / 10万次 |
| 电子邮件通知(Email/Email-JSON) | 1,000 封 | ¥13.70 / 10万封 |
| 移动推送通知(iOS/Android App) | 100 万次 | ¥3.40 / 100万次 |
| 短信(SMS) | 无免费额度 | 按实际发送量和目的地计费 |
双向都算:发布消息要算 API 请求费,推送给订阅者还要算通知发送费,这两者是分开计费的。
Amazon SQS (Simple Queue Service)
介绍
Amazon Simple Queue Service (SQS) 是AWS提供的一款完全托管、高可用、高可靠的消息队列服务。它主要用于帮助分布式系统、微服务和无服务器应用实现松耦合、异步通信。
概念
- 队列 (Queue):消息的容器,用于存储等待被处理的“消息”。
- 消息 (Message):在系统间传递的数据。可以是任何格式的文本(如 JSON、XML 或纯文本),最大为 256 KB。
- 生产者 (Producer):发送消息到队列的组件。
- 消费者 (Consumer):从队列接收并处理消息的组件(例如 EC2 实例、Lambda 函数)。
队列类型
| 特性 | 标准队列 (Standard Queue) | FIFO 队列 (First-In-First-Out) |
|---|---|---|
| 吞吐量 | 近乎无限(每秒 API 调用无上限) | 高吞吐(默认 3000 条/秒,支持批量提升) |
| 消息顺序 | 不保证顺序(可能乱序) | 严格保证消息按发送顺序接收 |
| 消息去重 | 不保证去重(可能重复发送) | 自动去重(基于去重 ID 或内容) |
| 适用场景 | 日志处理、解耦高吞吐系统、默认选型 | 银行交易、库存调整、事件顺序严格要求的场景 |
典型应用场景
- 微服务解耦:订单服务将消息放入队列,库存、支付、物流服务各自消费。
- 异步处理:用户上传视频后,后台触发转码、加水印等耗时任务。
- 削峰填谷:秒杀活动中,所有请求先进入队列,后端按自身能力处理,防止崩溃。
- 任务队列:图像处理、数据渲染、离线报表生成。
- 与 AWS Lambda 集成:直接作为事件源触发无服务器函数,无需编写轮询代码。
主要优势
- 完全托管:无需管理基础设施(服务器、集群、副本)。
- 自动扩展:吞吐量随需求自动调整。
- 高可用:数据自动跨多个可用区复制。
- 安全:支持加密(传输 TLS、静态 SSE-S3/SSE-KMS)、IAM 策略、VPC 端点。
- 成本:按请求量和存储时间计费,无预付费用。
免费额度
每月 100 万个请求
计费方式
API 请求:
- 发送消息:SendMessage 或批量发送 SendMessageBatch
- 接收消息:ReceiveMessage
- 删除消息:DeleteMessage 或批量删除 DeleteMessageBatch
- 修改消息:ChangeMessageVisibility
- 其他:如获取队列属性 GetQueueAttributes 等
安全与身份
AWS Shield
介绍
AWS Shield 是一项托管式的分布式拒绝服务(DDoS)防护服务,旨在保护在亚马逊云科技 (AWS) 上运行的应用程序,能自动检测并缓解网络攻击,最大限度地减少应用程序的停机时间和延迟。分为 AWS Shield Standard(标准版) 和 AWS Shield Advanced(高级版),高级版不免费,这里不讲
标准版提供防御常见、大流量的 网络层(L3) 和 传输层(L4) 攻击,在AWS网络容量内提供免费、无上限的流量清洗
人话 : 免费的DDoS防御服务,所有运行在AWS上的应用程序、服务器……都自动开启
免费额度
AWS Shield Standard 本身就是免费服务,没有额度上限,所有 AWS 客户默认就已自动启用
网络上存在 “单区域最高支持100Gbps攻击流量清洗” 的说法
但AWS官方文档强调的是其全球网络基础设施提供的无上限缓解能力,实际防御能力远超此数值
总结
| 分类 | 服务 | 免费额度 | 用途 |
|---|---|---|---|
| 计算 | AWS Lambda | 100万次请求/月 + 40万GB-秒/月 | 运行代码,无需管理服务器 |
| 基础设施即代码 | CloudFormation / CDK | 1000次/月(仅限第三方资源) | 管理AWS资源,基本免费 |
| 存储 | DynamoDB | 25GB + 25 RCU + 25 WCU | NoSQL数据库 |
| 消息通知 | SNS | 100万次API请求 + 10万次HTTP通知 | 发布/订阅消息 |
| 消息队列 | SQS | 100万次请求/月 | 解耦分布式系统 |
| 安全 | Shield Standard | 无上限(自动启用) | DDoS防护 |
就讲这些,都是些真正能用的
其他的要么是监控,又或者是什么管理多个账户,还有个IDE自动补充代码的,都没有什么实质性功能
如果有时间的话,我会专门写一期用函数搭建后端的博客
评论
游客无需注册即可评论。
你提交的昵称、邮箱、网址和评论内容会保存在服务端,用于展示评论身份、接收回复及必要的安全审计。
浏览器会本地保存已填游客信息和评论草稿,方便下次免填。
回复提醒会通过站内消息和邮件通知。