操作场景
腾讯云云函数默认部署在公共网络中,本文介绍了通过私有网络配置实现云函数访问内网中的资源,例如 TencentDB、CVM、Redis、Kafka 等,确保了数据安全及连接安全。
注意事项
在进行私有网络配置时,需注意以下几点:
部署在 VPC 中的云函数默认隔离外网。若想使云函数同时具备内网访问和外网访问能力,可通过以下两种方式实现:
云函数目前不支持对接到基础网络里的资源。
前提条件
操作步骤
修改网络配置
1. 登录云函数控制台,单击左侧导航栏中的 函数服务。 2. 在页面上方选择地域,单击需要配置的函数名。
3. 在“函数配置”页面中,单击右上角的编辑。
4. 开启私有网络功能,选择需要接入的 VPC 网络和所需要的使用的子网。
使用 VPC 网络
在云函数完成内网访问配置,并开始使用 VPC 网络时,云函数将从当前独立的网络环境切换至已配置的 VPC 中。云函数启动时,将占用用户 VPC 子网中的 IP 地址作为云函数运行环境的 IP 地址。为了降低云函数对子网的 IP 地址占用,运行中的云函数实例会共享一组 proxy 对,并根据网络带宽使用率对 proxy 对进行扩缩容。
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 网络中的自定义域名(推荐)
如果需要对接自定义域名解析服务器,需要在云函数环境内自定义 name server
配置,当前可通过配置 OS_NAMESERVER
环境变量来实现。实际配置如下表:
|
OS_NAMESERVER | 可以为一个或多个 IP 地址、或域名,多个地址时使用;分号分隔。 最多可以支持配置5个自定义 name server。 | 配置自定义 name server。 |
使用如下 Python 语言实现的示例代码,可通过打印输出 /etc/resolv.conf
文件检查配置生效情况。
with open("/etc/resolv.conf") as f:
print(f.readlines())
相关操作
查看网络配置
1. 登录云函数控制台,单击左侧导航栏中的函数服务。 2. 在页面上方选择地域,并单击已配置内网访问的函数名,即可通过所属网络和所属子网了解到具体配置。
本页内容是否解决了您的问题?