为什么租户看不到RDS实例虚拟机
【摘要】 在华为云上申请RDS实例,可以选择实例所在AZ、规格、存储大小,表明RDS实例数据库是运行在虚拟机上的。但实例申请成功后,租户并未看的虚拟机。那虚拟机去哪里了呢,用户又是怎么样通过云主机连上数据库的呢?
这里跟大家简单介绍下。
在华为云上申请RDS实例,可以选择实例所在AZ、规格、存储大小,表明RDS实例数据库是运行在虚拟机上的。但实例申请成功后,租户并未看的虚拟机。那虚拟机去哪里了呢,用户又是怎么样通过云主机连上数据库的呢?这里跟大家简单介绍下。
无图无真相,首先上个图。
我们知道云服务都是多租户隔离的,每一个租户申请的云资源也都是相互隔离的,这点在RDS服务上也是一样。不同租户的申请的RDS实例虚拟机也是隔离开的,但是是通过一个叫做“资源租户”的内部租户隔离开的,这个租户对外部实际租户不可见,可以说是实际租户的影子,和最终租户是一一对应的关系。
“资源租户”本质上和实际租户没有什么不同,也可以创建VPC网络、创建虚拟机。当真正的租户提交了一个RDS实例申请后,RDS服务第一个动作就是找到跟这个租户关联的“资源租户”,然后使用“资源租户”完成虚拟机的创建,由于“资源租户”对实际租户不可见,那在资源租户中创建的虚拟机实际租户也就看不到了。就像上图中的租户A<->资源租户A,租户B<->资源租户B。
接下来问题又来了,既然虚拟机属于不同的租户,那为什么实际租户创建的云主机又能连上RDS实例数据库呢?
还是看上面的图。简单来说,RDS实例虚拟机有两个网卡,第一个网卡作为管理网络;用于和RDS服务管理面互通,第二个网卡是业务网卡,用于用户访问数据库。同样的,第一个网卡的端口来自“资源租户”的VPC网络和子网,对最终租户不可见,仅用于数据库的内部管理。第二块网卡的创建则是由用户指定的,大家还记得申请RDS时,界面上还需要我们选择RDS实例所在VPC和子网,这个VPC和子网就是用来创建第二块网卡的端口的,这个端口由于天然就是从租户自己的VPC和子网中创建的,自然和相同子网的云主机可以网络互通了。
当然,这里还有一个小技巧,就是第一块管理网卡和第二块业务网卡的网段不能重叠,否则就会导致路由错乱了。为达到这个目的,系统在选择第一块网卡的网络时,参考了用户选择的子网网段,特地选择了一个不冲突的网段作为管理网段。
好啦,到这里大家基本明白为什么RDS实例虚拟机看不到,但是又能通过云主机直接访问的原理了,希望能解答大家心中的小小疑惑。
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
热门文章
happyhorse2019/12/26 00:09:321楼编辑删除举报