创建沙箱模板
您可以创建新的沙箱模板,调整沙箱镜像或参数配置。本文介绍如何创建沙箱模板。
前提条件
- 如果您需要创建自定义沙箱模板,需要先构建沙箱镜像,详情请参见构建沙箱镜像。
- 如果您需要使用OBS对象存储,需要先配置访问OBS服务的VPC终端节点,详情请参见配置访问OBS服务的终端节点。
创建沙箱模板
- 登录AgentSphere控制台。
- 在左侧导航栏中选择“沙箱模板”,并单击右上角的“创建沙箱模板”。
- 选择沙箱模板类型。
- 代码解释器沙箱:基于函数计算的多语言代码执行环境。
- 自定义沙箱:基于自定义镜像的完全可控开发环境。
- 填写基础配置。
参数
参数说明
沙箱模板名称
自定义沙箱模板名称。
沙箱模板名称需以小写字母开头,以小写字母或数字结尾,可以包含小写字母、数字和中划线,长度为1-48个字符。
描述
您可以添加该沙箱模板的描述信息,最多1000字符。
资源配额
选择沙箱实例使用的CPU和内存,支持不同的CPU/内存配比。
您可以根据沙箱程序运行需求进行选择,资源配额过小可能导致沙箱运行失败,过大则会导致资源浪费。
沙箱实例配额
设置此沙箱模板创建实例的上限,所有模板实例配额总数上限为10000。
启动命令
沙箱实例启动时执行的命令,适用于需要指定应用入口、挂载点或端口映射等初始化场景。
您可以增加64个镜像启动命令,每个命令长度为1-4096个字符。
环境变量
支持通过键值对的形式为沙箱运行环境设置变量,可用于把外部信息传递给沙箱中运行的程序。
您可以添加50个环境变量。
- 填写网络配置。
参数
参数说明
入站(Inbound)网关
入站网关用于接收外部请求,配置后可通过网关访问沙箱内的服务。
如果没有可选网关,请单击“新建入站网关实例”进行创建,完成创建后单击刷新按钮。
注意:系统将自动创建工作负载身份,用于E2B身份验证。
出站(Outbound)网络配置
VPC模式
沙箱实例可以访问虚拟私有云VPC内的其他服务。
- 虚拟私有云:选择一个虚拟私有云VPC。
若没有可选虚拟私有云,请单击“新建虚拟私有云”进行创建,完成创建后单击刷新按钮。操作步骤详情请参见创建虚拟私有云和子网。
- 子网:在选定的VPC下选择一个子网。
- 安全组:为沙箱实例选择安全组,支持同时选择多个安全组(此时安全组规则取并集)。
您可以单击“展开安全组规则”查看具体的“入方向规则”和“出方向规则”。
公网模式
沙箱实例可通过公网对外访问,适用于需要联网调用第三方API、下载依赖等场景。
运行时信任委托
用于授予OBS桶的访问权限。当配置了OBS对象存储时,此项必填。
- 虚拟私有云:选择一个虚拟私有云VPC。
- 填写存储配置。
参数
参数说明
SFS Turbo文件存储
选择是否挂载SFS Turbo文件存储,勾选后,您可以选择将指定的文件系统目录挂载至沙箱目录。只有出站(Outbound)网络配置为“VPC模式”时支持SFS Turbo文件存储,同时SFS Turbo安全组需要放通沙箱模板选择的VPC网段。
如果没有可选文件系统,您可单击“创建文件系统”进行创建,完成创建后单击刷新按钮。相关配置说明请参见创建SFS Turbo文件系统。
您最多可以同时挂载5个存储路径(支持选择不同文件系统)。
- 存储路径:填写文件系统的存储路径,存储路径必须以/开头,且不能包含“..”。
- 读写权限:为此挂载路径设置“读写”或“只读”权限。 说明:
如果要对挂载路径进行读写操作,不仅要保证沙箱开启挂载路径的读写权限,还需要保证SFS Turbo文件系统目录允许Linux用户进行读写,具体说明请参见访问文件无权限。
- 挂载路径:挂载路径必须为绝对路径,以/home、/mnt、/data、/tmp开头,且不能包含“..”。
OBS对象存储
选择是否挂载OBS对象存储,勾选后,您可以选择将指定的OBS对象存储桶目录挂载至沙箱目录。只有出站(Outbound)网络配置为“VPC模式”时支持OBS对象存储。
如果没有可选对象桶,您可单击“创建OBS桶”进行创建,完成创建后单击刷新按钮。相关配置说明请参见创建桶。
注意:部分多AZ存储的对象桶可能挂载失败,如果需要挂载多AZ存储的对象桶,请提交工单给OBS服务并提供对象桶名称进行确认。
您最多可以同时挂载5个桶目录(支持选择不同对象桶)。
- 桶目录:填写对象桶目录。
- 挂载路径:挂载路径必须为绝对路径,以/home、/mnt、/data、/tmp开头,且不能包含“..”。
托管会话存储
选择是否将Session会话进行持久化存储,通过配置托管的文件存储,保留Agent会话状态,开启后需填写Session会话存储的挂载路径。
- 填写日志监控配置。
参数
参数说明
日志对接LTS
将沙箱的标准输出和标准错误日志采集到LTS日志服务中。您可以使用LTS对云服务日志进行关键词搜索、日志可视化分析、日志告警、日志转储等多种操作。
对接AOM
启用后沙箱的系统指标(如CPU、内存使用率)会上报到您选择的AOM实例,其中基础指标免费,其他指标按需收费,关于价格详情请参见计费项。
如果没有可选AOM实例,您可单击“新建实例”进行创建,完成创建后单击刷新按钮。相关配置说明请参见管理Prometheus实例。
- 填写高级配置。
参数
参数说明
闲置超时时间
沙箱无操作时保持活跃的时长,沙箱在闲置超时时间结束后,自动释放或者休眠,若沙箱有新任务或操作时,闲置超时时间会重置。
若持续有新任务及操作时,沙箱最大运行时长不超过24小时。
健康检查
- 使用默认配置:默认为ENVD 49983端口,协议为HTTP、检查路径为/health。
- 自定义配置:配置应用程序健康检查的协议、端口和路径。
说明:当镜像内有多个进程时,建议配置健康检查指向启动慢的进程。
- 完成上述配置后,单击“创建”。
- 填写基础配置。
参数
参数说明
沙箱模板名称
自定义沙箱模板名称。
沙箱模板名称需以小写字母开头,以小写字母或数字结尾,可以包含小写字母、数字和中划线,长度为1-48个字符。
描述
您可以添加该沙箱模板的描述信息,最多1000字符。
选择镜像
单击“选择镜像”,选择沙箱使用的镜像,镜像数据来源于容器镜像服务(SWR)。
如果您需要使用第三方镜像,可直接输入镜像地址,但需要同时保证沙箱环境可访问镜像仓库。
资源配额
选择沙箱实例使用的CPU和内存,支持不同的CPU/内存配比。
您可以根据沙箱程序运行需求进行选择,资源配额过小可能导致沙箱运行失败,过大则会导致资源浪费。
启动命令
沙箱实例启动时执行的命令,适用于需要指定应用入口、挂载点或端口映射等初始化场景。
您可以增加64个镜像启动命令,每个命令长度为1-4096个字符。
环境变量
支持通过键值对的形式为沙箱运行环境设置变量,可用于把外部信息传递给沙箱中运行的程序。
您可以添加50个环境变量。
- 填写网络配置。
参数
参数说明
入站(Inbound)网关
入站网关用于接收外部请求,配置后可通过网关访问沙箱内的服务。
如果没有可选网关,请单击“新建入站网关实例”进行创建,完成创建后单击刷新按钮。
注意:系统将自动创建工作负载身份,用于E2B身份验证。
出站(Outbound)网络配置
VPC模式
沙箱实例可以访问虚拟私有云VPC内的其他服务。
- 虚拟私有云:选择一个虚拟私有云VPC。
若没有可选虚拟私有云,请单击“新建虚拟私有云”进行创建,完成创建后单击刷新按钮。操作步骤详情请参见创建虚拟私有云和子网。
- 子网:在选定的VPC下选择一个子网。
- 安全组:为沙箱实例选择安全组,支持同时选择多个安全组(此时安全组规则取并集)。
您可以单击“展开安全组规则”查看具体的“入方向规则”和“出方向规则”。
公网模式
沙箱实例可通过公网对外访问,适用于需要联网调用第三方API、下载依赖等场景。
运行时信任委托
用于授予OBS桶的访问权限。当配置了OBS对象存储时,此项必填。
- 虚拟私有云:选择一个虚拟私有云VPC。
- 填写存储配置。
参数
参数说明
SFS Turbo文件存储
选择是否挂载SFS Turbo文件存储,勾选后,您可以选择将指定的文件系统目录挂载至沙箱目录。只有出站(Outbound)网络配置为“VPC模式”时支持SFS Turbo文件存储,同时SFS Turbo安全组需要放通沙箱模板选择的VPC网段。
如果没有可选文件系统,您可单击“创建文件系统”进行创建,完成创建后单击刷新按钮。相关配置说明请参见创建SFS Turbo文件系统。
您最多可以同时挂载5个存储路径(支持选择不同文件系统)。
- 存储路径:填写文件系统的存储路径,存储路径必须以/开头,且不能包含“..”。
- 读写权限:为此挂载路径设置“读写”或“只读”权限。 说明:
如果要对挂载路径进行读写操作,不仅要保证沙箱开启挂载路径的读写权限,还需要保证SFS Turbo文件系统目录允许Linux用户进行读写,具体说明请参见访问文件无权限。
- 挂载路径:挂载路径必须为绝对路径,以/home、/mnt、/data、/tmp开头,且不能包含“..”。
OBS对象存储
选择是否挂载OBS对象存储,勾选后,您可以选择将指定的OBS对象存储桶目录挂载至沙箱目录。只有出站(Outbound)网络配置为“VPC模式”时支持OBS对象存储。
如果没有可选对象桶,您可单击“创建OBS桶”进行创建,完成创建后单击刷新按钮。相关配置说明请参见创建桶。
注意:部分多AZ存储的对象桶可能挂载失败,如果需要挂载多AZ存储的对象桶,请提交工单给OBS服务并提供对象桶名称进行确认。
您最多可以同时挂载5个桶目录(支持选择不同对象桶)。
- 桶目录:填写对象桶目录。
- 挂载路径:挂载路径必须为绝对路径,以/home、/mnt、/data、/tmp开头,且不能包含“..”。
托管会话存储
选择是否将Session会话进行持久化存储,通过配置托管的文件存储,保留Agent会话状态,开启后需填写Session会话存储的挂载路径。
- 填写日志监控配置。
参数
参数说明
日志对接LTS
将沙箱的标准输出和标准错误日志采集到LTS日志服务中。您可以使用LTS对云服务日志进行关键词搜索、日志可视化分析、日志告警、日志转储等多种操作。
对接AOM
启用后沙箱的系统指标(如CPU、内存使用率)会上报到您选择的AOM实例,其中基础指标免费,其他指标按需收费,关于价格详情请参见计费项。
如果没有可选AOM实例,您可单击“新建实例”进行创建,完成创建后单击刷新按钮。相关配置说明请参见管理Prometheus实例。
- 填写高级配置。
参数
参数说明
闲置超时时间
沙箱无操作时保持活跃的时长,沙箱在闲置超时时间结束后,自动释放或者休眠,若沙箱有新任务或操作时,闲置超时时间会重置。
若持续有新任务及操作时,沙箱最大运行时长不超过24小时。
健康检查
- 使用默认配置:默认为ENVD 49983端口,协议为HTTP、检查路径为/health。
- 自定义配置:配置应用程序健康检查的协议、端口和路径。
说明:当镜像内有多个进程时,建议配置健康检查指向启动慢的进程。
- 完成上述配置后,单击“创建”。