CodeBuild 提供以下计算实例集:
-
按需实例集
-
预留容量实例集
通过按需实例集,CodeBuild 可为您的构建提供计算能力。构建完成后,计算机就会被销毁。按需实例集是完全托管式的,并包括自动扩展功能以应对需求激增。
注意
按需实例集不支持 macOS 或 Windows Server 2022。
CodeBuild 还提供预留容量实例集,其中包含由 Amazon EC2 提供支持、由 CodeBuild 维护的实例。使用预留容量实例集,您可以为构建环境配置一组专用实例。这些计算机保持闲置状态,可以立即处理生成或测试,并缩短构建持续时间。使用预留容量实例集,您的计算机将始终处于运行状态,并且只要预调配完毕,它们就会继续产生成本。
重要
无论您运行实例多长时间,预留容量实例集的每个实例都会产生初始费用,之后可能会有额外的相关费用。有关更多信息,请参阅 https://aws.amazon.com/codebuild/pricing/
主题
创建预留容量实例集
按照以下说明创建预留容量实例集。
创建预留容量实例集
登录 AWS Management Console并打开 AWS CodeBuild 控制台(https://console.aws.amazon.com/codesuite/codebuild/home
)。 -
在导航窗格中,选择计算实例集,然后选择创建实例集。
-
在计算实例集名称文本字段中,输入实例集的名称。
-
从操作系统下拉菜单中,选择操作系统。
-
从架构下拉菜单中,选择架构。
-
在计算字段中,选择您的计算机的计算机类型。
-
在容量文本字段中,输入实例集中的最少实例数。
-
在溢出行为字段中,选择在需求超过实例集容量时的行为。有关这些选项的详细信息,请参阅 预留容量实例集属性。
-
(可选)在其他配置中,执行以下操作:
-
在 VPC - 可选下拉菜单中,选择您的 CodeBuild 实例集将要访问的 VPC。
-
在子网下拉菜单中,选择 CodeBuild 用于设置 VPC 配置的子网。
-
在安全组下拉菜单中,选择 CodeBuild 用于与 VPC 结合使用的安全组。
-
在实例集服务角色字段中,选择已有服务角色。
注意
确保实例集角色具有必要的权限。有关更多信息,请参阅 允许用户为实例集服务角色添加权限策略。
-
如果您选择了 Amazon Linux 操作系统,请选择定义代理配置 - 可选,以便对您的预留容量实例应用网络访问控制。
-
对于默认行为,选择在默认情况下是允许还是拒绝发往所有目标的传出流量。
-
对于代理规则,选择添加代理规则,以便指定允许或拒绝网络访问控制的目标域或 IP。
-
-
选择创建计算实例集。
-
创建计算实例集后,创建一个新的 CodeBuild 项目或编辑现有项目。从环境中,选择预置模型下的预留容量,然后在实例集名称下选择指定的实例集。
最佳实践
使用预留容量实例集时,我们建议您遵循以下这些最佳实践。
-
我们建议使用源代码缓存模式,通过缓存源代码来帮助提高构建性能。
-
我们建议使用 Docker 层缓存,通过缓存现有 Docker 层来帮助提高构建性能。
我能否在多个 CodeBuild 项目之间共享预留容量实例集?
可以,您可以通过在多个项目中使用实例集的容量来最大限度地提高其利用率。
重要
使用预留容量特征时,同一账户内的其他项目可以访问实例集实例中缓存的数据,包括源文件、Docker 层和 buildspec 中指定的缓存目录。这是设计使然,让同一账户内的项目可以共享实例集实例。
哪些区域支持预留容量实例集?
以下 AWS 区域支持 Amazon Linux 和 Windows 预留容量实例集:美国东部(弗吉尼亚州北部)、美国东部(俄亥俄州)、美国西部(俄勒冈州)、亚太地区(孟买)、亚太地区(新加坡)、亚太地区(悉尼)、亚太地区(东京)、欧洲地区(法兰克福)、欧洲地区(爱尔兰)和南美洲(圣保罗)。有关 CodeBuild 可用的 AWS 区域 的信息,请参阅按区域划分的 AWS 服务
以下 AWS 区域支持 macOS Medium 预留容量实例集:美国东部(弗吉尼亚州北部)、美国东部(俄亥俄州)、美国西部(俄勒冈州)、亚太地区(悉尼)和欧洲地区(法兰克福)。以下 AWS 区域支持 macOS Large 预留容量实例集:美国东部(弗吉尼亚州北部)、美国东部(俄亥俄州)、美国西部(俄勒冈州)和亚太地区(悉尼)。
如何配置 macOS 预留容量实例集?
配置 macOS 预留容量实例集
登录 AWS Management Console并打开 AWS CodeBuild 控制台(https://console.aws.amazon.com/codesuite/codebuild/home
)。 -
在导航窗格中,选择计算实例集,然后选择创建实例集。
-
在计算实例集名称文本字段中,输入实例集的名称。
-
在操作系统下拉菜单中,选择 macOS。
-
在计算字段中,选择以下计算机类型之一:Apple M2、24 GB 内存、8 个 vCPU 或 Apple M2、32 GB 内存、12 个 vCPU。
-
在容量文本字段中,输入实例集中的最少实例数。
-
(可选)如果您为实例集选择自定义映像,请确保您的亚马逊机器映像(AMI)满足以下先决条件:
-
AMI 架构为 64 位
Mac-Arm
。 -
AMI 允许 CodeBuild 服务组织 ARN。有关组织 ARN 的列表,请参阅Amazon Machine Images (AMI)。
-
如果使用 AWS KMS 密钥来加密 AMI,则 AWS KMS 密钥还必须允许 CodeBuild 服务组织 ID。有关组织 ID 的列表,请参阅Amazon Machine Images (AMI)。有关 AWS KMS 密钥的更多信息,请参阅《Amazon EC2 用户指南》中的允许组织和 OU 使用 KMS 密钥。
-
在实例集服务角色字段中,授予以下 Amazon EC2 权限:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ec2:DescribeImages", "Resource": "*" } ] }
-
-
(可选)要使用您的实例集配置 VPC,请在其他配置中执行以下操作:
-
在 VPC - 可选下拉菜单中,选择您的 CodeBuild 实例集将要访问的 VPC。
-
在子网下拉菜单中,选择 CodeBuild 用于设置 VPC 配置的子网。
-
在安全组下拉菜单中,选择 CodeBuild 用于与 VPC 结合使用的安全组。
-
在实例集服务角色字段中,选择已有服务角色。
注意
确保实例集角色具有必要的权限。有关更多信息,请参阅 允许用户为实例集服务角色添加权限策略。
-
-
选择创建计算实例集并等待实例集实例启动。启动后,容量将为
,其中n
/n
n
是提供的容量。 -
启动计算实例集后,创建一个新的 CodeBuild 项目或编辑现有项目。从环境中,选择预置模型下的预留容量,然后在实例集名称下选择指定的实例集。
预留容量实例集的局限性
在预留容量实例集不支持的某些用例中,如果它们对您产生影响,请改用按需实例集:
-
预留容量实例集不支持批量构建或构建利用率指标。
-
macOS 预留容量实例集不支持调试会话。
有关限制和限额的更多信息,请参阅计算实例集。