本文介绍函数计算访问VPC内数据库的机制。

访问机制

函数运行时,运行函数的实例由函数计算动态分配,函数实例不断变化,IP地址不固定,因此无法将IP地址添加到数据库白名单中,即您无法通过设置白名单的方式访问数据库。此外,基于最小权限原则,不建议您在生产环境中将所有IP(0.0.0.0/0)设置到数据库白名单中。

通过访问专有网络VPC来访问指定VPC中的资源可以帮助解决上述难题。您可以将数据库放置于安全的VPC中,并为函数所在的服务开启VPC访问功能,这样就可以通过VPC安全地访问您的云数据库。

函数计算访问数据库工作流程如下图所示。mysql工作流程
  1. 客户端向函数计算发出请求。
  2. 函数计算通过配置VPC功能,访问指定VPC内的数据库。
    由于VPC是私有网络,函数计算所属的VPC与数据库所属的VPC不同。因此,函数计算需要通过弹性网卡ENI实现跨VPC访问数据库。您需要授予ENI访问VPC的能力,并将此ENI插入到函数运行的实例上。详情请参见配置函数访问VPC内资源
    说明 由于同一VPC内不同交换机之间互通。因此,如果数据库所属VPC中的交换机不在函数计算支持的可用区内,您可以在该VPC下,函数计算支持的可用区中创建一个交换机,并在函数计算的服务的VPC配置中配置该交换机ID,通过不同可用区之间的交换机实现网络互通。
  3. 获取数据后由函数计算返回给客户端。

相关文档