Skip to main content
AWS Lambda 是一项无服务器计算服务,允许您无需配置或管理服务器即可运行代码。 本指南使用 Dockerfile 将 Bun HTTP 服务器部署到 AWS Lambda。
继续之前,请确保您已经具备:
  • 一个准备好部署的 Bun 应用
  • 一个 AWS 账户
  • 已安装并配置好的 AWS CLI
  • 已安装并添加到 PATHDocker

1

创建新的 Dockerfile

在项目根目录中创建一个新的 Dockerfile。此文件包含初始化容器、将本地项目文件复制到容器中、安装依赖项以及启动应用的指令。
Dockerfile
确保启动命令对应您的应用入口点。如果您在 package.json 中有启动脚本,也可以使用 CMD ["bun", "run", "start"]如果您的应用没有依赖项,可以省略 RUN bun install --production --frozen-lockfile 这一行。
在项目根目录中创建一个新的 .dockerignore 文件。它列出了要从容器镜像中_排除_的文件和目录,例如 node_modules,这样可以让构建更快、镜像更小:
.dockerignore
2

构建 Docker 镜像

确保您位于包含 Dockerfile 的目录中,然后构建 Docker 镜像。本示例将镜像命名为 bun-lambda-demo,并将标签设置为 latest
terminal
3

创建 ECR 仓库

推送镜像之前,请创建一个用于存放镜像的 ECR 仓库以下命令:
  • us-east-1 区域创建名为 bun-lambda-demo 的 ECR 仓库
  • 将仓库 URI 导出为环境变量。这是可选的,但可以简化后续步骤。
terminal
如果您使用 IAM Identity Center(SSO),或已为 AWS CLI 配置 profile,请在 AWS CLI 命令中添加 --profile 参数。例如,如果您的 profile 名称为 my-sso-app,请使用 --profile my-sso-app。运行 aws configure list-profiles 可查看可用的 profile。
terminal
4

认证登录 ECR 仓库

登录到 ECR 仓库:
terminal
若使用 profile,需添加 --profile 参数:
terminal
5

标记 Docker 镜像并将其推送到 ECR 仓库

确保您位于包含 Dockerfile 的目录中,然后使用 ECR 仓库 URI 为 Docker 镜像添加标签。
terminal
接着,将镜像推送到 ECR 仓库。
terminal
6

创建 AWS Lambda 函数

打开 AWS 控制台 > Lambda > 创建函数 > 选择 容器映像
确保您选择了正确的区域。此 URL 默认为 us-east-1
创建函数
为函数命名,例如 my-bun-function
7

选择容器映像

前往 容器映像 URI 部分,然后点击 浏览映像。选择您推送到 ECR 仓库的镜像。
选择容器仓库
然后选择 latest 镜像并点击 选择映像
选择容器映像
8

配置函数

要获取函数的公共 URL,请前往 其他配置 > 网络 > 函数 URL将其设置为 启用,认证类型选择 NONE
设置函数 URL
9

创建函数

点击页面底部的 创建函数
创建函数
10

获取函数 URL

函数创建完成后,您会被重定向到其页面。函数 URL 位于 “函数 URL” 部分。
函数 URL
11

测试函数

您的应用现在已经上线。要测试该函数,可以前往 测试 选项卡,或直接调用函数 URL。
terminal