AWS Amplify
面向前端开发者的全栈开发平台,可用最少代码构建和部署认证、API、存储等后端功能
概述
AWS Amplify 是一个加速 Web 应用和移动应用全栈开发的平台。Amplify Gen 2 使用 TypeScript 定义后端资源(认证、数据、存储、函数),只需 Git 推送即可同时部署前端和后端。支持 React、Next.js、Vue、Angular、Flutter 等主流框架,通过 Cognito 实现认证、AppSync 实现 GraphQL API、S3 实现文件存储,仅需几行代码即可集成。Amplify Hosting 提供带 CI/CD 管道的静态站点和 SSR 托管服务。世代划分(Gen 1 与 Gen 2)、支持的框架列表以及计费模式可能发生变更,本条内容截至 2026 年 9 月。
Gen 2 的代码优先定义与 CDK 基础
Amplify Gen 2 采用基于 CDK 的后端定义。在 amplify/auth/resource.ts 中编写 Cognito 认证配置,在 amplify/data/resource.ts 中编写 AppSync 的 Schema 和访问规则,在 amplify/storage/resource.ts 中编写 S3 存储桶配置,全部使用 TypeScript。这些在内部被转换为 CDK 构造,通过 CloudFormation 部署。与 Gen 1 的一个重要区别在于从 CLI 向导模式迁移到了 TypeScript 代码优先定义,使后端配置可纳入版本管理,团队开发的可重现性得以提升。使用沙盒环境(npx ampx sandbox)可为每位开发者即时构建独立的后端环境,在不影响生产环境的情况下进行开发和测试。作为 BaaS,Google Firebase 常被拿来比较,但 Amplify 可访问整个 AWS 生态系统(Cognito 的 SAML/OIDC 联合认证、DynamoDB、Aurora 等),因此在企业级需求方面可选的方案更多。
Hosting 的 CI/CD 与预览环境
Amplify Hosting 与 GitHub 仓库联动,具备为每个 Pull Request 自动生成预览环境的功能。前端构建和后端部署在一个管道中完成,因此在代码审查阶段即可确认实际运行的环境,有助于缩短团队开发的反馈周期。Hosting 不仅支持静态站点(React、Vue、Angular),还支持 Next.js 的 SSR(服务端渲染),通过 CloudFront 全球分发。自定义域名设置和 SSL 证书自动发行已内置,可以减少生产环境搭建的额外工作。
Amplify 的局限与迁移到 CDK 的判断
Amplify 适用的场景之一是 MVP(最小可行产品)的快速构建。适合初创公司或新项目在较短时间内搭建带认证的 Web 应用。然而,Amplify 生成的后端资源在内部通过 CloudFormation 堆栈管理,因此会出现需要超出 Amplify 框架进行自定义的场景。当需要 VPC 内资源集成、复杂 IAM 策略、多区域架构时,需要通过 CDK 的覆盖功能应对,或做出从 Amplify 毕业迁移到纯 CDK 项目的决策。实务中的判断材料之一是:当后端覆盖增多、配置变得难以把握时,可考虑迁移到 CDK。使用 Amplify 构建的 Cognito 用户池和 DynamoDB 表可通过 CDK 导入,因此可以在不丢失数据的情况下分阶段迁移。
参考资料(AWS 官方)
本页的第一手信息来源是 AWS 官方网站及官方文档。最新的规格与价格请以下列官方页面为准。
如本页内容与官方文档不一致,请以官方文档为准。