AWS Lambda 计算可以提高构建的启动速度。由于 AWS Lambda 启动延迟较低,因此支持更快的构建。AWS Lambda 还可以自动扩展,因此构建无需在队列中等待运行。但是,AWS Lambda 不支持某些用例,如果它们对您造成影响,请使用 EC2 计算。有关更多信息,请参阅 AWS Lambda 计算的局限性。
主题
AWS Lambda 上运行的精心策划的运行时环境 Docker 映像中将包含哪些工具和运行时?
AWS Lambda 支持以下工具:AWS CLI v2、AWS SAM CLI、git、go、Java、Node.js、Python、pip、Ruby 和 .NET。
如果精选映像未包括我需要的工具,该怎么办?
如果精选映像不包括您需要的工具,则可以提供包括所需工具的自定义环境 Docker 映像。
请注意,您需要以下 Amazon ECR 权限才能使用 Lambda 计算的自定义映像:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ecr:GetAuthorizationToken"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"ecr:BatchCheckLayerAvailability",
"ecr:GetDownloadUrlForLayer",
"ecr:BatchGetImage"
],
"Resource": "arn:aws:ecr:image-region
:image-account-id
:repository/image-repo
"
}
]
}
另请注意,要使用自定义映像,必须安装 curl
或 wget
。
哪些区域支持在 CodeBuild 中运行 AWS Lambda 计算?
在 CodeBuild 中,以下 AWS 区域 支持 AWS Lambda 计算:美国东部(弗吉尼亚州北部)、美国东部(俄亥俄州)、美国西部(俄勒冈州)、亚太地区(孟买)、亚太地区(新加坡)、亚太地区(悉尼)、亚太地区(东京)、欧洲地区(法兰克福)、欧洲地区(爱尔兰)和南美洲(圣保罗)。有关 CodeBuild 可用的 AWS 区域 的信息,请参阅按区域划分的 AWS 服务
AWS Lambda 计算的局限性
AWS Lambda 不支持某些用例,如果它们对您造成影响,请使用 EC2 计算。
-
AWS Lambda 不支持需要 root 权限的工具。对于
yum
或rpm
之类的工具,请使用 EC2 计算类型或其他不需要 root 权限的工具。 -
AWS Lambda 不支持 Docker 构建或运行。
-
AWS Lambda 不支持写入到
/tmp
外部的文件。包含的包管理器被配置为默认使用/tmp
目录来下载和引用包。 -
AWS Lambda 不支持环境类型
LINUX_GPU_CONTAINER
,在 Windows Server Core 2019 上不受支持。 -
AWS Lambda 不支持缓存、批量构建、自定义构建超时、队列超时、构建徽章、特权模式、自定义运行时环境或超过 15 分钟的运行时。
-
AWS Lambda 不支持 VPC 连接、固定的 CodeBuild 源 IP 地址范围、EFS、安装证书或使用会话管理器进行 SSH 访问。