赛尔校园公共服务平台 Logo
平台使用
阿里云
百度云
移动云
智算服务
教育生态
登录 →
赛尔校园公共服务平台 Logo
平台使用 阿里云 百度云 移动云 智算服务 教育生态
登录
  1. 首页
  2. 阿里云
  3. 函数计算 FC 2.0
  4. 操作指南
  5. 服务管理
  6. 配置网络

配置网络

  • 服务管理
  • 发布于 2025-04-16
  • 0 次阅读
文档编辑
文档编辑

您在函数计算创建的函数,默认可以通过公网调用,无法通过VPC调用。如果您需要函数能够访问VPC内的资源,或允许指定的VPC来调用函数,那么您需要手动为服务配置网络访问能力。网络配置为服务级别,即对服务下的所有函数生效。本文介绍如何通过函数计算控制台为服务配置网络。

注意事项

  • 为服务绑定VPC资源时,请确保配置的服务角色包含vpc:DescribeVSwitchAttributes和vpc:DescribeVpcAttribute权限。

  • 针对使用ACR企业版实例容器镜像创建的Custom Container函数,为该函数所在服务配置访问VPC的能力时,专有网络和交换机的选择必须遵循以下原则。

    • 如果ACR企业版实例的访问控制页面的访问 IP存在默认解析标识,则服务的专有网络和交换机必须设置为默认解析的IP地址对应的专有网络和交换机。db-serviceconf-default

    • 如果ACR企业版实例的访问控制页面的访问 IP不存在默认解析标识,则服务的专有网络和交换机可以设置为该实例绑定的任意一组。db-serviceconf-nodefault

网络访问能力

使用VPC功能会降低函数计算的冷启动效率,建议非必要勿配置该功能。您可优先选择使用RAM授权方式访问资源,例如表格存储Tablestore。

通过网络地址访问函数或通过函数访问网络地址时,会产生流量。流量可分为以下类型。

  • 公网流量:访问Internet地址,例如阿里云官网、淘宝网和云服务的公网地址。

  • VPC内网流量:访问用户VPC内的地址,例如RDS地址、NAS地址和VPC中ECS的内网地址。

根据对网络的不同设置,函数有以下网络访问能力,您可按需设置。

  • 函数出流量:是否允许函数访问公网或VPC内资源的出流量,对应的配置包含允许访问 VPC和允许函数访问公网。

    表 1. 函数出流量

    网络配置

    说明

    仅允许函数访问公网

    通过函数网络访问公网和内网,禁止通过用户VPC访问。所需的网络配置如下:

    • 设置允许访问 VPC为否。

    • 设置允许函数访问公网为是。

    仅允许函数访问VPC

    仅通过用户VPC访问公网和内网,适用于PrivateZone、NAT网关和函数绑定VPC等场景。所需的网络配置如下:

    • 设置允许访问 VPC为是,并配置允许函数访问的VPC信息。

    • 设置允许函数访问公网为否。

    允许函数既能访问公网,也能访问VPC

    通过函数网络访问公网和通过用户VPC访问内网。所需的网络配置如下:

    • 设置允许访问 VPC为是,并配置允许函数访问的VPC信息。

    • 设置允许函数访问公网为是。

    既不允许函数访问公网,也不允许访问VPC

    通过函数网络访问内网,禁止访问公网和禁止通过用户VPC访问。所需的网络配置如下:

    • 设置允许访问 VPC为否。

    • 设置允许函数访问公网为否。

  • 函数入流量:是否允许通过公网地址或VPC地址访问函数的入流量,对应的配置为仅允许指定 VPC 调用函数。

    表 2. 函数入流量

    网络配置

    说明

    允许通过公网和VPC同时访问函数

    函数创建完成后,默认可以通过公网和VPC调用函数。默认的网络配置如下:

    • 设置仅允许指定 VPC 调用函数为否。

    仅允许通过VPC访问函数

    允许通过指定的VPC调用函数,并禁止通过公网调用函数。所需的网络配置如下:

    • 设置仅允许指定 VPC 调用函数为是,并配置允许调用函数的VPC信息。

函数计算支持的可用区

展开查看函数计算支持的可用区

地域

地域ID

函数计算支持的可用区

华东1(杭州)

cn-hangzhou

  • cn-hangzhou-h

  • cn-hangzhou-i

  • cn-hangzhou-j

  • cn-hangzhou-k

  • cn-hangzhou-f

  • cn-hangzhou-g

华东2(上海)

cn-shanghai

  • cn-shanghai-m

  • cn-shanghai-l

  • cn-shanghai-n

  • cn-shanghai-b

  • cn-shanghai-e

  • cn-shanghai-g

  • cn-shanghai-f

华北1(青岛)

cn-qingdao

cn-qingdao-c

华北2(北京)

cn-beijing

  • cn-beijing-i

  • cn-beijing-h

  • cn-beijing-k

  • cn-beijing-j

  • cn-beijing-l

  • cn-beijing-c

  • cn-beijing-e

  • cn-beijing-g

  • cn-beijing-f

华北3(张家口)

cn-zhangjiakou

  • cn-zhangjiakou-b

  • cn-zhangjiakou-c

  • cn-zhangjiakou-a

华北5(呼和浩特)

cn-huhehaote

  • cn-huhehaote-a

  • cn-huhehaote-b

华南1(深圳)

cn-shenzhen

  • cn-shenzhen-e

  • cn-shenzhen-d

  • cn-shenzhen-f

西南1(成都)

cn-chengdu

  • cn-chengdu-a

  • cn-chengdu-b

中国香港

cn-hongkong

  • cn-hongkong-d

  • cn-hongkong-c

  • cn-hongkong-b

新加坡

ap-southeast-1

  • ap-southeast-1a

  • ap-southeast-1c

  • ap-southeast-1b

马来西亚(吉隆坡)

ap-southeast-3

ap-southeast-3a

印度尼西亚(雅加达)

ap-southeast-5

  • ap-southeast-5a

  • ap-southeast-5b

日本(东京)

ap-northeast-1

  • ap-northeast-1c

  • ap-northeast-1b

  • ap-northeast-1a

英国(伦敦)

eu-west-1

eu-west-1a

德国(法兰克福)

eu-central-1

  • eu-central-a

  • eu-central-1a

  • eu-central-1b

美国(硅谷)

us-west-1

  • us-west-1a

  • us-west-1b

美国(弗吉尼亚)

us-east-1

  • us-east-1b

  • us-east-1a

关于各地域最新支持的可用区,您可以在OpenAPI Explorer调用APIGetAccountSettings - 获取可用区获取。

如果您的资源所在的可用区不在函数计算支持的可用区中,可以通过在您的VPC环境中创建一个函数计算支持的可用区内的交换机,并在函数计算的服务的VPC配置中设置此交换机ID。由于同一VPC内不同交换机之间私网互通,因此函数计算可以通过该交换机访问在其他可用区的VPC内的资源。具体步骤,请参见遇到vSwitch is in unsupported zone的错误怎么办?。

前提条件

  • 创建服务

  • (可选)创建网络资源

    如果您未创建相关资源,可在具体配置时,选择自动配置。否则,需按以下文档操作指导提前创建相关资源:

    • 创建专有网络和交换机

    • 创建安全组

配置网络和角色

函数计算访问VPC的配置和权限的配置是服务级别的,为一个服务配置了访问VPC的能力后,此服务下的所有函数都可以访问VPC。

  1. 登录函数计算控制台,在左侧导航栏,单击服务及函数。
  2. 在顶部菜单栏,选择地域,然后在服务列表页面,单击目标服务操作列的配置。
  3. 在编辑服务页面的角色配置区域,选择服务角色,授予服务访问VPC的权限。

    推荐您按照最小权限原则为您提供的角色授权。如需更细粒度的权限管控,请参见权限策略及示例。

  4. 在网络配置区域,根据实际情况修改以下配置项。

    • 允许访问 VPC:是否允许函数访问VPC内资源。取值说明如下。

      • 是:允许函数访问VPC内资源。选择是后,需选择配置方式,取值说明如下:

        • (推荐)自动配置:函数计算会为您自动创建专有网络、交换机和安全组等资源,无需您手动创建。创建完成后,也可再次按需修改。

          说明

          自动创建的网络资源均以fc.auto.create开头。

        • 自定义配置:您需手动选择已有的网络资源,请确保您已提前创建好相关资源。vpc_config_new_console

          • 专有网络:在列表中选择要访问的VPC ID。

          • 交换机:在列表中选择交换机ID,至少需选择一个交换机ID。

            该字段限定了函数计算可以访问的子网,建议设置两个或多个交换机ID。当一个可用区出现故障或IP地址不足时,您的函数可以在其他子网下运行。

          • 安全组:在列表中选择安全组ID。

            此安全组是函数计算所在的安全组,安全组限定了函数计算在VPC中的出入站规则。需要设置您的VPC所在安全组的入站规则为允许函数计算所在的安全组访问。否则,函数计算无法顺畅地访问您的VPC内资源。

      • 否:不允许函数访问VPC内资源。

    • 固定公网 IP:是否通过NAT网关和弹性公网IP地址获得一个固定的公网出口IP地址。具体信息,请参见配置固定公网IP地址。

    • 允许函数访问公网:是否允许函数访问公网。取值说明如下。

      • 是:允许函数访问公网。

      • 否:不允许函数访问公网。

    • 仅允许指定 VPC 调用函数:是否允许指定的VPC调用函数。取值说明如下。

      • 是:允许指定的VPC调用函数。需注意以下事项。

        • 同一个服务最多绑定20个VPC。

        • 设置仅允许指定VPC调用函数后,使用触发器调用函数不受影响。

        • VPC绑定后对服务的所有版本和别名生效。

        • 设置允许指定VPC调用函数后,会拒绝来自公网和其他VPC的调用请求,StatusCode为403,ErrorCode为AccessDenied,错误信息为Resource access is bound by VPC: VPC ID。

        • 只允许使用私网HTTP接入点绑定VPC,不允许使用公网接入点和私网HTTPS接入点绑定VPC。

      • 否:不允许指定VPC调用函数,仅允许通过公网调用函数。

  5. 单击保存。

常见问题

  • 为什么函数计算无法成功接入VPC调试?

    如果您的服务中已经设置允许函数访问VPC,却无法成功接入VPC,可能原因如下。

    • 交换机所在的子网故障或子网中的IP地址已用尽,您可以在配置VPC时提供两个或者多个交换机ID,如果一个可用区出现故障,您的函数可以在其他可用区运行,提高容错能力。

    • 安全组配置错误,请您按照以下要求配置安全组。

      • 需要设置VPC中的安全组的入站规则为允许函数计算所在的安全组访问。

      • 安全组出口方向需要允许ICMP协议,函数计算会通过ICMP协议检查VPC网络联通性。

      安全组的具体配置步骤,请参见添加安全组规则。

  • 新增网络资源时,发现资源不足该怎么办?

    如果您在创建VPC网络资源时,自动配置提供的网络前缀长度为24,可用IP地址数量是252个,如果实例数量过多,有可能会超出限制。此时,您需手动调整交换机IP地址网段,以及对应的安全组。

故障排查

函数计算无法在设置vpcConfig时对访问VPC的权限进行检测,而需要在执行函数时检测,因此在通过InvokeFunction接口调用函数时会引入一些新的错误类型。下表描述了接入VPC时一些常见的错误,以便您迅速排查问题。

错误码

状态码

问题原因

解决方案

InvalidArgument

400

函数计算不支持您提供的vSwitchId所在的可用区。

重新设置vSwitchId。具体信息,请参见函数计算支持的可用区。

未找到vpcConfig中的vpcId、vSwitchIds或securityGroupId对应的资源。

检查vpcConfig参数设置。

设置的交换机或安全组不在相应的VPC中。

检查vpcConfig参数设置,确保vSwitchId和securityGroupId对应的资源在vpcId对应的VPC中。

AccessDenied

403

未提供对ENI的操作授权。

检查服务的权限。更多信息,请参见授予函数计算访问其他云服务的权限。

ResourceExhausted

429

交换机的网段内可用IP不足,函数计算无法创建更多的ENI。

创建一个网段更大的交换机,并更新vpcConfig的vSwitchId参数。

说明

建议您使用/24或/16网段。

相关文档

  • 如需访问VPC内的数据库,建议您使用配置IP地址白名单的方式访问数据库,白名单中填写的IP地址段为您在此页面配置的交换机所属IP地址段。更多信息,请参见访问数据库。

  • 如需限制函数公网访问出口流量,需使用固定IP地址来实现。具体操作,请参见配置固定公网IP地址。

相关文章

管理服务 2025-04-16 14:22

服务是函数计算的资源管理单位。创建函数前必须先创建服务,服务就像函数的集合,同一个服务下的所有函数共享一些相同的设置,例如服务授权和日志配置等。本文介绍

管理版本 2025-04-16 14:22

函数计算支持版本管理功能,帮助您更高效地管理服务、函数以及触发器。您可以通过版本管理功能发布多个版本的服务,实现软件开发生命周期中的持续集成和发布。本文介绍版本的含义以及如何在函数计算控制台管理版本。

管理别名 2025-04-16 14:22

函数计算支持为服务版本创建别名。结合别名和版本功能,实现软件开发生命周期中的持续集成和发布。本文介绍别名的含义以及如何通过函数计算控制台管理别名。

使用版本和别名实现灰度发布 2025-04-16 14:22

您可以为服务发布一个或多个版本,版本就相当于服务的快照,当您发布版本时,函数计算会为服务生成快照,并自动分配一个版本号与其关联。您还可以为服务的版本创建别名,指向该版本。结合服务的版本和别

配置网络 2025-04-16 14:22

您在函数计算创建的函数,默认可以通过公网调用,无法通过VPC调用。如果您需要函数能够访问VPC内的资源,或允许指定的VPC来调用函数,那么您需要手动为服务配置网络访问能力。网络配置为服务级别,即对服务下的所有函数生效。本文介绍如何通过函数计算控制台为服务配置网络。

配置固定公网IP地址 2025-04-16 14:22

函数计算系统默认的出口IP是动态的,无固定网段。而

目录
Copyright © 2025 your company All Rights Reserved. Powered by 赛尔网络.
京ICP备14022346号-15
gongan beian 京公网安备11010802041014号