配置函数的网络环境
本章节介绍如何通过函数工作流控制台,配置函数访问公网或访问VPC内资源。
操作场景
函数的网络访问能力如表1所示,可根据业务需求配置。
网络配置 |
说明 |
---|---|
函数访问公网的配置方式有以下两种:
|
|
函数访问VPC的配置方式有以下两种:
|
约束与限制
- 在一个账号下所有的函数最多能绑定4个不同的子网。
- 开启“函数访问VPC内资源”时,函数将禁用默认网卡并使用VPC绑定的网卡,是否允许公网访问由配置的VPC决定,开关“函数访问公网”将不生效。
函数创建成功后,“函数访问公网”功能默认开启,无需手动配置即可使用默认网卡访问公网,允许函数访问公网上的服务。
其公网访问带宽为用户间共享,不保证可靠性,适用于测试场景,生产环境建议配置VPC内固定公网IP。
在生产环境中如需配置函数访问公网,以及在函数访问公网服务时需要固定公网出口IP的场景(例如被访问服务需要白名单验证),可通过在VPC内配置公网NAT网关绑定EIP的方式实现。开启是否允许公网访问将由配置的VPC决定,开关“允许函数访问公网”将不再生效。
前提条件:
- 已创建虚拟私有云和子网,请参见创建虚拟私有云基本信息及默认子网。
- 已申请弹性公网IP,请参见申请弹性公网IP。
- 已配置函数访问VPC。
创建公网NAT网关步骤:
配置函数访问VPC
FunctionGraph支持函数访问自行创建的VPC内资源,或配置其他用户共享的VPC子网,共享VPC的相关介绍请参考共享VPC。
在函数工作流控制台中,配置函数访问VPC有以下两种选项:
- 允许函数访问VPC内资源:允许函数访问所选VPC内的资源,不再具有默认的公网访问权限。如需访问公网,请先开启此功能,再参见配置VPC内固定公网IP进行公网访问配置。
- 仅允许指定的VPC调用函数:仅允许通过指定的VPC调用函数,并禁止通过公网调用。此配置适用于需严格控制函数调用来源的场景,确保函数只能通过特定网络环境访问。
前提条件:
- 入方向规则:配置“策略”为“允许”、“协议端口”为“ICMP”、“源地址”设置的最小范围为函数所选VPC网段的规则。
例如图1所示,函数的VPC网段为192.168.x.x/24,安全组的入方向需增加一个规则:“策略”选择“允许”、“协议端口”选择“ICMP”、“源地址”设置最小范围的网段为192.168.x.x/24。
- 出方向规则:配置“策略”为“允许”的相关业务端口规则。
步骤一:配置函数的委托权限
函数使用VPC访问能力时,必须为函数配置VPC管理权限的委托,配置委托权限的操作步骤请参见配置委托权限。以下为涉及的委托权限:
- VPC Administrator:使用VPC功能需要为函数配置“VPC Administrator”委托权限,或参见表2和创建自定义策略授予访问VPC需要配置的最小权限,确保函数能操作相关云服务。
- DNS ReadOnlyAccess:如VPC中配置了内网域名,需要为函数配置“DNS ReadOnlyAccess”委托权限以解析内网域名。
步骤二:开启函数访问VPC内资源
- 登录函数工作流控制台,在左侧的导航栏选择“函数 > 函数列表”。
- 选择待配置的函数,单击函数名称进入函数详情页。
- 选择“设置 > 网络设置”,如图2所示,开启“函数访问VPC内资源”,并参考表3配置参数。
开启时,函数将使用配置的VPC所绑定的网卡进行网络访问,同时禁用函数工作流的默认网卡。
表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子网拥有者取消了共享,将无法在函数中访问该子网。