**函数计算(Function Compute)**:[函数计算](https://yq.aliyun.com/go/articleRenderRedirect?url=https%3A%2F%2Fstatistics.functioncompute.com%2F%3Ftitle%3DServerless%2520%25E8%25A7%25A3%25E6%2583%2591%25E2%2580%2594%25E2%2580%2594%25E5%2587%25BD%25E6%2595%25B0%25E8%25AE%25A1%25E7%25AE%2597%25E5%25A6%2582%25E4%25BD%2595%25E8%25AE%25BF%25E9%2597%25AE%2520MySQL%2520%25E6%2595%25B0%25E6%258D%25AE%25E5%25BA%2593%26amp%3Bauthor%3D%25E5%25B0%258F%25E9%25BB%2598%26amp%3Bsrc%3Darticle%26amp%3Burl%3Dhttps%253A%252F%252Fhelp.aliyun.com%252Fdocument_detail%252F52895.html) 是事件驱动的全托管计算服务。使用函数计算,您无需采购与管理服务器等基础设施,只需编写并上传代码。函数计算为您准备好计算资源,弹性地可靠地运行任务,并提供日志查询、性能监控和报警等功能。借助函数计算,您可以快速构建任何类型的应用和服务,并且只需为任务实际消耗的资源付费。
![](https://data-analysis.cn-shanghai.log.aliyuncs.com/logstores/article-logs/track_ua.gif?APIVersion=0.6.0&title=Serverless%20%E8%A7%A3%E6%83%91%E2%80%94%E2%80%94%E5%87%BD%E6%95%B0%E8%AE%A1%E7%AE%97%E5%A6%82%E4%BD%95%E8%AE%BF%E9%97%AE%20MySQL%20%E6%95%B0%E6%8D%AE%E5%BA%93&author=%E5%B0%8F%E9%BB%98&src=article)
访问 MySQL 数据库是指在函数计算中通过编写代码调用数据库驱动库通过 TCP 协议实现对数据库进行的插入、查询等操作。通常函数计算中运行的不同函数实例之间是不共享状态的,对于结构化的数据可以通过数据库的形式进行持久化以实现状态共享。由于用户函数运行在函数计算的 VPC 中,而用户的数据库运行在用户所属的 VPC 中,所以在函数计算平台访问数据库会涉及到跨 VPC 访问的场景,下面我们先来介绍一下其工作机制。
工作机制
----
运行函数时,访问 IP 是不固定的,因此您无法通过设置白名单的方式访问 MySQL。基于最小权限原则,不建议在生产环境中将所有 IP(0.0.0.0/0)设置到数据库白名单中。函数计算已经支持专有网络 VPC 功能,您可以为函数所在的服务开启 VPC 访问的功能,安全地访问 VPC 中的资源。
您可以将 MySQL 放置于安全的 [专有网络VPC](https://yq.aliyun.com/go/articleRenderRedirect?url=https%3A%2F%2Fstatistics.functioncompute.com%2F%3Ftitle%3DServerless%2520%25E8%25A7%25A3%25E6%2583%2591%25E2%2580%2594%25E2%2580%2594%25E5%2587%25BD%25E6%2595%25B0%25E8%25AE%25A1%25E7%25AE%2597%25E5%25A6%2582%25E4%25BD%2595%25E8%25AE%25BF%25E9%2597%25AE%2520MySQL%2520%25E6%2595%25B0%25E6%258D%25AE%25E5%25BA%2593%26amp%3Bauthor%3D%25E5%25B0%258F%25E9%25BB%2598%26amp%3Bsrc%3Darticle%26amp%3Burl%3Dhttps%253A%252F%252Fhelp.aliyun.com%252Fknowledge_detail%252F34217.html) 中,并配置函数计算访问 VPC 中的资源,函数计算就可以通过 VPC 安全地访问您的云数据库。
函数计算访问 MySQL 工作流程如下图所示:
![1](http://docs-aliyun.cn-hangzhou.oss.aliyun-inc.com/assets/pic/147916/cn_zh/1577690221891/20201230151530.jpg)
1. 函数计算访问用户 VPC 原理如下:
```
用户的 VPC 是用户私有的网络,需要用户授权赋予 [弹性网卡 ENI](https://statistics.functioncompute.com/?title=Serverless%20%E8%A7%A3%E6%83%91%E2%80%94%E2%80%94%E5%87%BD%E6%95%B0%E8%AE%A1%E7%AE%97%E5%A6%82%E4%BD%95%E8%AE%BF%E9%97%AE%20MySQL%20%E6%95%B0%E6%8D%AE%E5%BA%93&author=%E5%B0%8F%E9%BB%98&src=article&url=https%3A%2F%2Fhelp.aliyun.com%2Fknowledge_detail%2F58496.html) 访问 VPC 的能力,并将此 ENI 插入到 FC 中执行用户函数的机器上,从而使函数可以访问用户 VPC 内资源。函数计算配置VPC功能,可参考 [详情](https://statistics.functioncompute.com/?title=Serverless%20%E8%A7%A3%E6%83%91%E2%80%94%E2%80%94%E5%87%BD%E6%95%B0%E8%AE%A1%E7%AE%97%E5%A6%82%E4%BD%95%E8%AE%BF%E9%97%AE%20MySQL%20%E6%95%B0%E6%8D%AE%E5%BA%93&author=%E5%B0%8F%E9%BB%98&src=article&url=https%3A%2F%2Fhelp.aliyun.com%2Fknowledge_detail%2F72959.html).
```
![](data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==)![](data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw== "点击并拖拽以移动")
> 如果用户的 VPC 资源不在函数计算当前可用区,可以通过在用户 VPC 环境中创建一个与函数计算相同可用区的 VSwitch ,并在函数计算的服务的 VPC 配置中设置此 VSwitchID。由于同一专有网络内不同交换机之间内网互通,因此函数计算可以通过该 VSwitch 访问在其他可用区的用户 VPC 内资源。
1. MySQL 实例创建成功后,您需要设置白名单,进入相应实例,左侧点击**数据安全性**,选择**白名单设置**,将专有网络中 default 设置为配置的 VPC 实例内网 IP 段或者配置 FC 配置的交换机内网 IP 段。
2. 访问 MySQL 数据库 host 为实例的内网地址,可以登录阿里云控制台查看:
```
![2](http://docs-aliyun.cn-hangzhou.oss.aliyun-inc.com/assets/pic/147916/cn_zh/1577688164978/rds-host.png)
```
![](data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==)![](data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw== "点击并拖拽以移动")
配置
--
### 公共配置
#### 创建专有网络VPC
1. 登录 [VPC控制台](https://yq.aliyun.com/go/articleRenderRedirect?url=https%3A%2F%2Fstatistics.functioncompute.com%2F%3Ftitle%3DServerless%2520%25E8%25A7%25A3%25E6%2583%2591%25E2%2580%2594%25E2%2580%2594%25E5%2587%25BD%25E6%2595%25B0%25E8%25AE%25A1%25E7%25AE%2597%25E5%25A6%2582%25E4%25BD%2595%25E8%25AE%25BF%25E9%2597%25AE%2520MySQL%2520%25E6%2595%25B0%25E6%258D%25AE%25E5%25BA%2593%26amp%3Bauthor%3D%25E5%25B0%258F%25E9%25BB%2598%26amp%3Bsrc%3Darticle%26amp%3Burl%3Dhttps%253A%252F%252Fvpcnext.console.aliyun.com%252Fvpc%252Fcn-shanghai%252Fvpcs)。
2. 参阅 _VPC_ [搭建专有网络](https://yq.aliyun.com/go/articleRenderRedirect?url=https%3A%2F%2Fstatistics.functioncompute.com%2F%3Ftitle%3DServerless%2520%25E8%25A7%25A3%25E6%2583%2591%25E2%2580%2594%25E2%2580%2594%25E5%2587%25BD%25E6%2595%25B0%25E8%25AE%25A1%25E7%25AE%2597%25E5%25A6%2582%25E4%25BD%2595%25E8%25AE%25BF%25E9%2597%25AE%2520MySQL%2520%25E6%2595%25B0%25E6%258D%25AE%25E5%25BA%2593%26amp%3Bauthor%3D%25E5%25B0%258F%25E9%25BB%2598%26amp%3Bsrc%3Darticle%26amp%3Burl%3Dhttps%253A%252F%252Fhelp.aliyun.com%252Fknowledge_detail%252F65430.html) 创建VPC和交换机。
#### 创建安全组
在[安全组控制台](https://yq.aliyun.com/go/articleRenderRedirect?url=https%3A%2F%2Fstatistics.functioncompute.com%2F%3Ftitle%3DServerless%2520%25E8%25A7%25A3%25E6%2583%2591%25E2%2580%2594%25E2%2580%2594%25E5%2587%25BD%25E6%2595%25B0%25E8%25AE%25A1%25E7%25AE%2597%25E5%25A6%2582%25E4%25BD%2595%25E8%25AE%25BF%25E9%2597%25AE%2520MySQL%2520%25E6%2595%25B0%25E6%258D%25AE%25E5%25BA%2593%26amp%3Bauthor%3D%25E5%25B0%258F%25E9%25BB%2598%26amp%3Bsrc%3Darticle%26amp%3Burl%3Dhttps%253A%252F%252Fecs.console.aliyun.com%252F%2523%252FsecurityGroup%252Fregion%252Fcn-shanghai) 新建安全组,点击 **创建安全组**,设置安全组名称,网络类型选择 **专有网络**,并选择刚才创建的专有网络。
#### 创建 MySQL 实例
1. 在 [RDS 控制台](https://yq.aliyun.com/go/articleRenderRedirect?url=https%3A%2F%2Fstatistics.functioncompute.com%2F%3Ftitle%3DServerless%2520%25E8%25A7%25A3%25E6%2583%2591%25E2%2580%2594%25E2%2580%2594%25E5%2587%25BD%25E6%2595%25B0%25E8%25AE%25A1%25E7%25AE%2597%25E5%25A6%2582%25E4%25BD%2595%25E8%25AE%25BF%25E9%2597%25AE%2520MySQL%2520%25E6%2595%25B0%25E6%258D%25AE%25E5%25BA%2593%26amp%3Bauthor%3D%25E5%25B0%258F%25E9%25BB%2598%26amp%3Bsrc%3Darticle%26amp%3Burl%3Dhttps%253A%252F%252Frdsnew.console.aliyun.com%252F%2523%252FrdsList%252Fcn-hongkong%252Fbasic%252F) 新建RDS实例,点击**创建实例**。
2. 基本配置选择您需要的配置,没有特殊要求选择默认配置即可。
3. 网络类型选择**专有网络**,并选择您已经创建的 VPC 和交换机。
4. 选择您需要的存储空间和购买量,立即购买。即成功创建了 RDS 实例。
5. 实例创建成功后,您需要设置白名单,进入相应实例,左侧点击 **数据安全性**,选择**白名单设置**,将专有网络中 default 设置为配置的 VPC 实例内网 IP 段或者配置 FC 配置的交换机内网 IP 段。
6. 白名单设置成功后,点击左侧**数据库管理**,点击**创建数据库**,设置数据库名称。
7. 新建账号访问数据库。点击左侧**账号管理**,填写**数据库账号**、**授权数据库**,**登录密码**。您可以通过此账号登录数据库。
8. 实例详情页,点击右上角**登录数据库**,使用刚才创建的账号登录数据库。(如果没有 DMS 访问权限,控制台会弹出授权页面,根据提示授权即可)。
9. 登录到 DMS 系统后,左上角选择数据库,就可以进行创建表、插入数据等操作了。
至此,您已经成功创建了 VPC、安全组、RDS。
[原文链接](https://link.zhihu.com/?target=https%3A//yq.aliyun.com/articles/739645%3Futm_content%3Dg_1000094672)
本文为阿里云内容,未经允许不得转载。
分享到:
相关推荐
在这个"利用Serverless架构下函数计算实现网站文件处理的最佳实践"的资源中,我们将深入探讨如何在无服务器环境下,通过函数计算高效地处理网站文件。 一、Serverless架构基础 1. 定义:Serverless并不意味着完全...
Serverless函数计算是一种新兴的云计算模型,它将服务器管理和资源分配的任务交给了云服务提供商,开发者只需要关注自己的业务代码,即所谓的“函数”。在这种模式下,应用程序由一系列可独立部署和执行的微小函数...
Serverless 设计原则——有效架构选择实践.pdf
阿里云的函数计算(Function Compute)是一个事件驱动的Serverless计算平台,它允许开发者专注于编写代码,而无需关心基础设施的管理。Serverless架构的核心理念在于,开发者只需关注业务逻辑,而计算资源的管理和...
首先,我们要了解“腾讯云-云函数”(Tencent Cloud Function)这一服务,它是一种无服务器计算(Serverless)平台,允许开发者在无需管理底层基础设施的情况下运行代码。这种模式可以显著降低运维成本,提高开发...
《触摸云端编程之道——利用函数计算快速构建弹性可扩展的云原生应用》 在数字化转型的浪潮中,云计算已经成为企业构建和运行应用程序的核心技术。阿里云作为国内领先的云服务提供商,提供了诸多创新的解决方案,...
"Serverless 函数应用架构升级" Serverless 函数应用架构升级是当前 IT 行业的热门话题。Serverless 架构升级是指在 Serverless 环境下,使用函数应用架构来构建应用程序的过程。这项技术可以帮助开发者快速构建和...
读书笔记:函数计算 FC + 函数工作流 FnF 轻松构建Serverless 架构的弹性高可用视频处理系统
首先,我们需要理解函数计算(Function Compute),这是实现Serverless的关键组件。函数计算允许开发者编写并上传代码片段(函数),在事件触发时自动执行这些函数,而无需关心运行环境的配置和维护。这种模型消除了...
函数计算是Serverless架构中的关键组成部分,它是一个事件驱动的计算服务。开发者只需定义并上传自定义函数,当特定事件触发时,如HTTP请求、数据变化等,函数计算会自动执行这些函数,并且根据负载情况实时弹性伸缩...
在IT行业中,Serverless架构是一种新兴的计算模型,它强调开发者只需关注业务逻辑,而无需关心底层基础设施的管理和运维。在这种模式下,平台会自动处理资源的分配和扩展,从而实现高效率和低成本的运行。"中间件...
3. 阿里云函数计算:阿里云函数计算是 Serverless 计算平台的一种,它提供了函数计算、API 网关、自动扩展、监控等功能。 4. Puppeteer 框架:Puppeteer 框架是一种 Node.js 库,它提供了 Headless Chrome 浏览器的...
函数计算 FC 是一个事件驱动的全托管 Serverless 计算服务,无需管理服务器等基础设施,只需编写代码并上传,函数计算会为您准备好计算资源,并以弹性、可靠的方式运行您的代码。函数计算 FC 通过触发器与事件源进行...
【Serverless数据库技术架构介绍】 Serverless数据库技术是云计算领域的一种新兴模式,它旨在消除对服务器管理和运维的需求,让开发者可以专注于应用逻辑,而非底层基础设施的运维。在本文中,我们将深入探讨...
函数计算作为后容器时代的重要服务,在各种解决方案中层出不穷。可以预见的一点,在5G时代中,函数计算作为各个服务模块的桥梁,将会大幅度提升研发效率,降低研发总体拥有成本TCO,对整个IT行业的管理模式产生深远...
POLARDB的演进体现了云数据库技术架构的不断进步,包括云服务的高可用、可扩展和高可靠性,以及读写分离和Serverless云数据库服务的创新。贺军(仝一)在云数据库技术沙龙·北京站的分享强调了POLARDB的创新四维:...
首先,函数计算(Function Compute)是一种通用的Serverless计算平台,它允许开发者只需关注业务逻辑,而无需关心底层基础设施的管理和运维。通过与云端事件源无缝集成,函数计算可以实时响应各类事件触发,实现灵活...
在腾讯教育的实践中,Serverless被用于高并发场景,如CloudRedis和Mysql的集成,以应对大规模用户访问。通过SCF,腾讯教育能够灵活应对流量波动,自动扩展资源,降低成本,提高效率。同时,针对Serverless的特性,...
Serverless 架构的核心技术包括函数计算、事件驱动模型、函数生命周期管理以及函数代码的部署和管理等。函数计算是指计算资源按需分配,仅在函数执行时才进行计费。事件驱动模型意味着函数是被事件触发的,如HTTP...