AWS Amplify Hosting

与 Git 仓库联动,自动化前端应用 CI/CD 和全球 CDN 分发的全托管托管服务

概述

AWS Amplify Hosting 是一项全托管服务,支持使用 React、Next.js、Vue、Angular、Nuxt 等前端框架构建的应用,以 Git 推送为触发器自动构建和部署,并通过基于 CloudFront 的全球 CDN 进行分发。支持 SSR(服务端渲染)、SSG(静态站点生成)、ISR(增量静态再生成),并标配预览环境自动生成和按分支独立部署功能。

基于 Git 的 CI/CD 与构建配置

Amplify Hosting 连接 GitHub、GitLab、Bitbucket、AWS CodeCommit 仓库,检测到指定分支的推送后自动执行构建和部署。构建配置通过 amplify.yml 文件定义,描述 preBuild(安装依赖)、build(构建命令)、postBuild(后处理)各阶段。框架自动检测功能可在无配置的情况下为 Next.js 或 Nuxt 项目推断适当的构建命令。环境变量可按分支设置,开发分支和生产分支可使用不同的 API 端点或功能标志。还支持 Monorepo 结构,可设置仅在特定目录下的变更时触发构建。通过自定义构建镜像,可满足需要特定 Node.js 版本或系统库的项目需求。

SSR・ISR 支持与边缘执行

部署 Next.js 的 SSR(服务端渲染)应用时,Amplify 会自动构建服务端执行环境,在请求时动态渲染页面。还支持 ISR(增量静态再生成),在后台重新生成静态页面的机制透明运行。API Routes 和 Middleware 也在 Amplify 的执行环境中运行,因此可以直接部署充分利用 Next.js 全部功能的应用。Image Optimization(next/image)也在服务端执行,根据设备自动分发最佳尺寸和格式的图片。自定义头部和重定向规则可通过 amplify.yml 或 Amplify 控制台配置,便于添加 SEO 对策和安全头部。

预览环境与团队开发工作流

启用 Pull Request 预览功能后,每次创建 PR 时会自动部署独立的预览环境并发行唯一 URL。审查者可在预览 URL 上确认实际运行效果,PR 合并后预览环境会自动删除。与 GitHub 的 Checks API 集成,构建成败会作为 PR 的状态检查显示。按分支自动设置子域名(develop.example.com、staging.example.com)的功能简化了各环境的 URL 管理。可按分支设置 Basic 认证访问限制,便于将预发布环境仅向内部成员公开。自定义域名设置通过与 Route 53 的集成,实现 SSL 证书发行和 DNS 记录设置的自动化。

共有するXB!