如果您需要在函数中访问第三方服务以获取数据或触发其他工作流,需要通过第三方服务的访问控制。而函数计算在执行的过程中,会动态地为函数分配执行机器,因此无法预先将机器外网IP地址添加至第三方服务的访问白名单。本文介绍通过搭建代理赋予函数计算公网IP地址的方案流程。

示例场景

通过函数计算赋予公网IP地址的场景示例如下:

  • 服务A:通过函数计算实现,服务A在执行的过程中需要访问受保护的资源,该资源提供方为服务B。
  • 服务B:对来访者采用白名单方式鉴权。由于函数运行实例的不确定性及不可枚举性,无法在服务B中事先添加白名单。
您可以通过搭建代理的方式解决该问题,方案流程图如下:具体场景

方案实施如下:

  1. 搭建Nginx服务器代理服务A到服务B的访问。
  2. 服务B在白名单中添加代理服务器的IP地址,通过所有经过代理到达的请求并返回受保护资源。

配置流程

  1. 编写函数
  2. 调试函数
说明 如果您的第三方受保护资源保存在RDS中,您可以通过专有网络访问RDS。更多信息,请参见通过VPC访问RDS