最佳实践

私有网络通信

最近更新时间:2021-07-28 15:12:34

操作场景

腾讯云云函数默认部署在公共网络中,本文介绍了通过私有网络配置实现云函数访问内网中的资源,例如 TencentDB、CVM、Redis、Kafka 等,确保了数据安全及连接安全。

注意事项

在进行私有网络配置时,需注意以下几点:

  • 部署在 VPC 中的云函数默认隔离外网。若想使云函数同时具备内网访问和外网访问能力,可通过以下两种方式实现:
  • 云函数目前不支持对接到基础网络里的资源。

前提条件

创建云函数

操作步骤

修改网络配置

  1. 登录云函数控制台,单击左侧导航栏中的【函数服务】。
  2. 在页面上方选择地域,单击需要配置的函数名。
  3. 在“函数配置”页面中,单击右上角的【编辑】。
  4. 开启【私有网络】功能,选择需要接入的 VPC 网络和所需要的使用的子网。

使用 VPC 网络

在云函数完成内网访问配置,并开始使用 VPC 网络时,云函数将从当前独立的网络环境切换至已配置的 VPC 中。云函数启动时,将占用用户 VPC 子网中的 IP 地址作为云函数运行环境的 IP 地址。为了降低云函数对子网的 IP 地址占用,运行中的云函数实例会共享一组 proxy 对,并根据网络带宽使用率对 proxy 对进行扩缩容。

云函数启动后,可通过代码及内网 IP 地址访问 VPC 中的资源,例如 云数据库 TencentDB for Redis云关系型数据库、用户配置在 VPC 中的 CVM 等各种访问入口位于 VPC 中的资源。
以下为访问 云数据库 TencentDB for Redis 的示例代码,其中 Redis 实例在 VPC 内的 IP 地址为 10.0.0.86

# -*- coding: utf8 -*-
import redis
def main_handler(event,context):
   r = redis.StrictRedis(host='10.0.0.86', port=6379, db=0,password="crs-i4kg86dg:abcd1234")
   print(r.set('foo', 'bar'))
   print(r.get('foo'))
   return r.get('foo')

VPC 网络中访问自定义域名

在使用 VPC 网络的过程中,若需要通过使用域名来访问内网自建服务,可以通过使用腾讯云提供的 私有域解析 Private DNS 来实现内网自定义域名配置及访问解析。

相关操作

查看网络配置

  1. 登录云函数控制台,单击左侧导航栏中的【函数服务】。
  2. 在页面上方选择地域,并单击已配置内网访问的函数名,即可通过所属网络所属子网了解到具体配置。
目录