- 最新动态
- 功能总览
- 产品介绍
- 计费说明
- 快速入门
- 用户指南
-
最佳实践
- FunctionGraph最佳实践汇总
-
数据处理类实践
- 使用FunctionGraph函数对OBS中的图片进行压缩
- 使用FunctionGraph函数为OBS中的图片打水印
- 使用FunctionGraph函数对DIS数据进行格式转换并存储到CloudTable
- 使用FunctionGraph函数实现通过API方式上传文件
- 使用FunctionGraph函数对IoTDA中的设备坐标数据进行转换
- 使用FunctionGraph函数对OBS中的文件进行加解密
- 使用FunctionGraph函数识别LTS中的异常业务日志并存储到OBS
- 使用FunctionGraph函数对LTS中的日志进行实时过滤
- 使用FunctionGraph函数流对OBS中的图片进行旋转
- 使用FunctionGraph函数流对图片进行压缩和打水印
- 功能应用类实践
- 函数构建类实践
- 开发指南
- API参考
- SDK参考
- 场景代码示例
-
常见问题
-
产品咨询
- 使用FunctionGraph是否需要开通计算、存储、网络等服务?
- 使用FunctionGraph开发程序之后是否需要部署?
- FunctionGraph为函数分配的磁盘空间有多少?
- 是否支持在函数中启动TCP的监听端口,通过EIP接收外部发送过来的TCP请求?
- 函数发起HTTP请求的源地址如何获取?
- FunctionGraph是否支持对上传的zip文件进行反编译?
- FunctionGraph的函数是否支持功能扩展?
- FunctionGraph中的代码是如何隔离的?
- 函数常规信息中的“应用”如何理解?
- 用户需要为函数的冷启动时间付费吗?
- 函数计费中的调用次数,是某一账号下在不同region的所有函数的调用次数总和吗?
- Python语言的函数从V1版本迁移到V2版本时需注意哪些兼容性问题?
- FunctionGraph函数支持哪些编程语言?
- 创建函数
-
配置函数
- 能否在函数环境变量中存储敏感信息?
- FunctionGraph的函数如何读写上传的文件?
- 为函数挂载文件系统时,报“failed to mount exist system path”
- FunctionGraph如何实现域名解析?
- FunctionGraph如何通过域名访问专享版APIG中注册的接口?
- FunctionGraph函数通过域名访问APIG中注册的接口时,报域名无法解析?
- 使用定制运行时语言的函数能操作哪些目录?
- FunctionGraph的函数支持哪些中文字体?
- 能否在函数代码中使用线程和进程?
- 函数如何访问MySQL数据库?
- 函数无法通过VPC连接对应的Redis?
- 如何读取函数的请求头?
- Python语言的函数中,中文注释报乱码错误
-
调用函数
- FunctionGraph的函数执行需要多长时间?
- FunctionGraph的函数执行包含了哪些过程?
- FunctionGraph函数长时间不执行时,相关的实例会如何处理?
- 如何获取函数运行过程中的内存使用量信息?
- 为什么首次调用函数时速度会比较慢?
- 为什么函数实际使用内存大于预估内存,甚至触发内存溢出OOM?
- 函数执行失败返回“runtime memory limit exceeded”时,如何查看内存占用大小?
- 自定义镜像函数执行失败报“CrashLoopBackOff”
- 同步调用函数时,未收到调用响应的可能原因?
- 函数中os.system("command &")命令的执行日志未采集,应如何处理?
- 函数执行超时的可能原因有哪些?
- 使用APIG触发器调用一个返回String的FunctionGraph函数时,报500错误
- Python2.7在执行reload(sys)后无法通过print打印日志
- 运行函数时报错error while loading shared libraries时如何处理?
- 配置触发器
- 配置依赖包
-
产品咨询
- 视频帮助
- 文档下载
- 通用参考
链接复制成功!
配置函数访问公网或VPC网络
本章节介绍如何通过函数工作流控制台,配置函数访问公网或访问VPC内资源。
操作场景
函数的网络访问能力如表1所示,可根据业务需求配置。
网络配置 |
说明 |
---|---|
函数访问公网 |
函数访问公网的配置有以下两种:
|
函数访问VPC的配置有以下两种:
|
约束与限制
- 在一个项目下所有的函数最多能绑定4个不同的子网。(不区分VPC,此处的项目指在创建账号的时候分配的一个32位的唯一值project_id,且主账户和子账户的project_id相同。)
- 开启“函数访问VPC内资源”时,函数将禁用默认网卡并使用VPC绑定的网卡,是否允许公网访问由配置的VPC决定,开关“函数访问公网”将不生效。
配置函数访问公网
配置函数访问公网有以下两种方式:
如遇函数访问公网上的服务需要固定公网出口IP的场景(例如被访问服务需要白名单验证),可通过在VPC内配置公网NAT网关绑定EIP的方式实现,是否允许公网访问将由配置的VPC决定,开关“允许函数访问公网”将不再生效。
前提条件:
- 已创建虚拟私有云和子网,请参见创建虚拟私有云基本信息及默认子网。
- 已申请弹性云公网IP,请参见申请弹性公网IP。
- 已配置函数访问VPC。
创建公网NAT网关步骤:
- 在服务控制台左侧导航栏,继续选择“ 网络> NAT网关”进入NAT网关控制台,单击“购买公网NAT网关”。
- 在公网NAT网关购买页面,输入相关信息,选择已创建的虚拟私有云及子网,确认规格信息后提交,完成购买。具体操作步骤请参见购买公网NAT网关。
- 购买完成后,单击公网NAT网关名称进入详情页面,选择“添加SNAT规则”,单击“确定”完成配置。
操作视频参考:
配置函数访问VPC
FunctionGraph支持函数访问自行创建的VPC内资源,或配置其他用户共享的VPC子网,共享VPC的相关介绍请参考共享VPC。
在函数工作流控制台中,配置函数访问VPC有以下两种选项:
- 允许函数访问VPC内资源:允许函数访问所选VPC内的资源,不再具有默认的公网访问权限。如需访问公网,请先开启此功能,再参见配置VPC内固定公网IP进行公网访问配置。
- 仅允许指定的VPC调用函数:仅允许通过指定的VPC调用函数,并禁止通过公网调用。此配置适用于需严格控制函数调用来源的场景,确保函数只能通过特定网络环境访问。
配置委托权限:
函数使用VPC访问能力时,必须为函数配置VPC管理权限的委托,配置委托权限的操作步骤请参见配置委托权限。
以下为配置函数访问VPC内资源涉及的委托权限:
- 使用VPC功能:需要为函数配置“VPC Administrator”委托权限,或参见表2和创建自定义策略授予访问VPC需要配置的最小权限,确保函数能操作相关云服务。
- 解析内网域名:如VPC中配置了内网域名,需要为函数配置“DNS ReadOnlyAccess”委托权限以解析内网域名。
开启函数访问VPC内资源操作步骤:
- 登录函数工作流控制台,在左侧的导航栏选择“函数 > 函数列表”。
- 选择待配置的函数,单击函数名称进入函数详情页。
- 选择“设置 > 网络设置”,如图1所示,开启“函数访问VPC内资源”,并参考表3配置参数。
表3 网络配置参数说明 参数
说明
VPC
必选参数。
选择需要访问的虚拟私有云VPC。创建虚拟私有云VPC和子网请参见创建虚拟私有云基本信息及默认子网。
子网
必选参数。
选择VPC下的子网。
域名
可选参数。“拉美-圣保罗一”区域暂不支持配置域名。
如果函数需要通过内网域名访问VPC内的服务,可配置和VPC绑定的域名,域名可以配置多个。
以下为与配置域名相关的操作,请根据业务需求参考使用:
- 创建内网域名请参见创建内网域名。
- 配置函数实现域名解析请参见内网域名配置及验证。当前函数仅支持对A记录集类型的域名解析,记录集添加请参见记录集类型及配置规则。
- 函数如何访问VPC内的Redis请参见函数访问VPC内的Redis。
VPC对等连接网段
可选参数。
您可以声明函数代码中使用到的VPC网段,用以检测是否与服务使用VPC网段冲突。
开启IPv6
可选参数。当前仅“华东二”区域支持函数VPC配置开启IPv6。
在创建虚拟私有云VPC时,确保默认子网配置中支持开启IPv6,此处将自动开启,具体详情请参见创建虚拟私有云和子网。
开启IPv6功能后,将自动为子网分配IPv6网段,暂不支持自定义设置IPv6网段。该功能一旦开启,将不能关闭,更多介绍请参见IPv6网络。
共享VPC
共享VPC是基于资源访问管理(Resource Access Manager,简称RAM)服务的机制,VPC的所有者可以将VPC内的子网共享给其他账号使用,实现网络资源跨租户共享。在函数中可以配置其他用户共享给您的子网,从而可以在函数中访问该子网下的资源。
如需在函数中访问其他用户共享给您的子网,请先确保该子网的拥有者已经正常为您配置了子网共享(如何配置请参考VPC子网共享给其他账号),然后在函数的网络配置中选择共享的子网即可,具体操作请参考配置函数访问VPC。如果后续VPC子网拥有者取消了共享,您将无法在函数中访问该子网。
有关VPC子网共享的更多信息,请参见《虚拟私有云用户指南》的“共享VPC”相关内容。