配置VPC功能
私有网络 VPC 是一个用户能够定义的虚拟网络,不同的私有网络之间相互隔离。您可以在自己创建的私有网络内创建和管理云产品实例,比如云服务器 BCC、云数据库 SCS等。在默认情况下,因为 VPC 的网络隔离,函数计算无法访问您在 VPC 中的资源。要让函数计算能够访问,需要您手动为函数配置 VPC 功能,提供包括 VPC 子网 ID 和安全组 ID 在内的配置信息。
配置VPC
VPC 有两个配置字段 SubnetIds
和 SecurityGroupIds
,均不可为空。
"VpcConfig":{
"SubnetIds": ["string", "string"],
"SecurityGroupIds": ["string", "string"],
}
SubnetIds
表示函数执行期间进入的子网,您可以同时配置最多16个子网。函数执行期间会随机选择其中一个子网,当这个子网因不存在或者无空闲 IP 时而不可用时,函数会自动尝试进入其它子网。建议您至少配置两个子网,以提高函数的可用性。
SecurityGroupIds
表示函数所关联的安全组。您可以同时配置最多个5个安全组。安全组是函数在 VPC 中的出入站规则,当有多个安全组时,函数会应用安全组的全部规则。
注意事项
使用VPC的场景
由于使用 VPC 功能会带来一些额外的耗时,所以建议当且仅当您的函数要访问 VPC 内的资源时,比如访问 BCC、RDS、SCS等,才给函数配置 VPC。
访问公网
函数未配置 VPC 前,函数的出站流量从函数计算服务的公共公网出口流出,因此能够正常访问公网。给函数配置 VPC 后,函数会进入 VPC 内的子网,所有出站流量均进入 VPC。如果函数同时需要访问 VPC 和公网,那么您需要在 VPC 中配置 NAT 网关 ,并绑定 弹性公网 IP。
安全组配置
安全组规则是允许访问的规则集合,表示函数能够访问的 VPC 内的网段和端口,请确保这些规则包含了要访问的资源地址,若未正确设置可能导致函数无法访问您的资源。
使用示例
使用控制台设置函数 VPC 功能,开启接入 VPC 网络,设置子网与安全组,最后点击“确定”,如下图所示。