在阿里函数计算中,FC 内网访问 VPC 内的资源不通的原因可能有以下几点:函数默认可以访问公网,但无法直接访问VPC内的资源。如果想让函数能够访问VPC内的资源或允许指定的VPC来调用函数,需要手动为函数配置网络和权限。
解决此问题的主要方法是进行网络和权限配置。具体来说,需要进行以下步骤:
首先,您需要确保访问的服务选择与函数计算相同的VPC实例。由于相同的VPC实例下不同可用区交换机内网是互通的,因此您可以配置和函数计算不同可用区的交换机。例如,如果函数计算在上海的可用区是 E,F,G, 但是您的服务可以在 A 区。
其次,对于数据库如RDS的访问,由于FC不像ECS有固定IP,所以只能通过外网IP(0.0.0.0/0段白名单)或者vpc内网(具体vpc内网段白名单)来访问。在调试阶段,采用前者方式比较方便。
为服务绑定VPC资源时,请确保配置的服务角色包含vpc:DescribeVSwitchAttributes和vpc:DescribeVpcAttribute权限。
https://help.aliyun.com/zh/fc/user-guide/configure-network-settings?spm=a2c4g.11186623.0.i53
网络访问能力
使用VPC功能会降低函数计算的冷启动效率,建议非必要勿配置该功能。您可优先选择使用RAM授权方式访问资源
公网访问不通
Service 配置中的internetAccess 是否开启了公网访问
访问的服务是否设置了白名单
vpc 内网访问不通
访问的服务需要选择与函数计算相同的VPC实例。由于相同的VPC实例下不同可用区交换机内网是互通的,因此您可以配置和函数计算不同可用区的交换机。比如函数计算在上海的可用区是 E,F,G, 但是您的服务可以在 A 区, 只要在该VPC 下面创建一个 A 的交换机即可
如果您的服务是有白名单的, 比如数据库,则需要在设置过程中的组内白名单文本框中输入相应的VPC的内网IP段或者交换机内网IP段, 当然最简单是直接设置 0.0.0.0/0, 允许所有ip 访问(因为函数计算执行环境的机器ip是不固定的)
安全组出口方向必须放行服务(比如数据库)的端口和内网IP段。。此回答整理自钉群:阿里函数计算官网客户。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。