为什么租户看不到RDS实例虚拟机

举报
ssd007 发表于 2019/12/25 21:06:11 2019/12/25
【摘要】 在华为云上申请RDS实例,可以选择实例所在AZ、规格、存储大小,表明RDS实例数据库是运行在虚拟机上的。但实例申请成功后,租户并未看的虚拟机。那虚拟机去哪里了呢,用户又是怎么样通过云主机连上数据库的呢? 这里跟大家简单介绍下。

在华为云上申请RDS实例,可以选择实例所在AZ、规格、存储大小,表明RDS实例数据库是运行在虚拟机上的。但实例申请成功后,租户并未看的虚拟机。那虚拟机去哪里了呢,用户又是怎么样通过云主机连上数据库的呢?这里跟大家简单介绍下。

无图无真相,首先上个图。

image.png


我们知道云服务都是多租户隔离的,每一个租户申请的云资源也都是相互隔离的,这点在RDS服务上也是一样。不同租户的申请的RDS实例虚拟机也是隔离开的,但是是通过一个叫做“资源租户”的内部租户隔离开的,这个租户对外部实际租户不可见,可以说是实际租户的影子,和最终租户是一一对应的关系。

“资源租户”本质上和实际租户没有什么不同,也可以创建VPC网络、创建虚拟机。当真正的租户提交了一个RDS实例申请后,RDS服务第一个动作就是找到跟这个租户关联的“资源租户”,然后使用“资源租户”完成虚拟机的创建,由于“资源租户”对实际租户不可见,那在资源租户中创建的虚拟机实际租户也就看不到了。就像上图中的租户A<->资源租户A,租户B<->资源租户B。

接下来问题又来了,既然虚拟机属于不同的租户,那为什么实际租户创建的云主机又能连上RDS实例数据库呢?

还是看上面的图。简单来说,RDS实例虚拟机有两个网卡,第一个网卡作为管理网络;用于和RDS服务管理面互通,第二个网卡是业务网卡,用于用户访问数据库。同样的,第一个网卡的端口来自“资源租户”的VPC网络和子网,对最终租户不可见,仅用于数据库的内部管理。第二块网卡的创建则是由用户指定的,大家还记得申请RDS时,界面上还需要我们选择RDS实例所在VPC和子网,这个VPC和子网就是用来创建第二块网卡的端口的,这个端口由于天然就是从租户自己的VPC和子网中创建的,自然和相同子网的云主机可以网络互通了。

当然,这里还有一个小技巧,就是第一块管理网卡和第二块业务网卡的网段不能重叠,否则就会导致路由错乱了。为达到这个目的,系统在选择第一块网卡的网络时,参考了用户选择的子网网段,特地选择了一个不冲突的网段作为管理网段。

好啦,到这里大家基本明白为什么RDS实例虚拟机看不到,但是又能通过云主机直接访问的原理了,希望能解答大家心中的小小疑惑。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。