上次聊了一下企业云上治理的几种架构,包括最简单的单账号单VPC架构、中型的多账号共享VPC架构、大型的多账号云企业网架构。这个中庸的多账号共享VPC架构具备上下通吃的特点,今天就给大家介绍一下这个架构要如何落地实施。
(来自阿里云网络白皮书)
多账号共享VPC的基础是要有多个加入到同一个资源目录里的阿里云账号。资源目录的配置入口在【控制台】——【企业】——【资源管理】下。资源目录是一种目录结构,可以将阿里云账号作为资源的载体映射到组织内的实际层级关系中,方便对资源进行集中的管理,满足企业在财务、审计、权限及合规方面的要求。资源目录是阿里云企业云上治理解决方案的重要组成部分之一。不过今天我们不准备一下子把事情搞的这么复杂,我们只需要实现多账号共享同一个VPC。
资源目录有一个根(root),可以在根下建立组织架构层级关系并在对应的位置创建或者邀请账号加入到资源目录中。对于邀请的账号要求邀请和被邀请的账号的实名认证信息相同。
在资源目录中创建的账号是一个独立的阿里云账号,其实名认证信息和源账号相同,其余和一个正常的阿里云账号无异,包括财务支付、工单、RAM子账号和权限设置都独立于源账号。
默认情况下资源目录中的账号被称为资源账号,只能通过在源账号中进行身份切换,可以通过绑定安全手机的方法将资源账号升级为正常的云账号,这样就可以直接在控制台通过安全手机进行密码重置和登录。
创建和管理资源目录账号的阿里云账号被称为MA账号。通过该MA账号可以对资源目录进行管理,可以看到上图中的资源目录包含5个账号,其中包括一个邀请加入到资源目录的账号,四个从资源目录中创建的账号。这四个账号中包括两个资源账号和两个云账号。因为这里只是要实现简单的多账号共享VPC的功能,所以并没有创建多层组织架构,实际应用中可以根据需要进行设置。
通过资源共享既可以将MA账号本身的资源共享给资源目录下的成员账号,也可以将成员账号下的资源共享给资源目录下的其余成员账号。
我们这里要共享的对象是VPC,共享VPC就像一个企业的局域网,多个部门(账号)都可以在这个局域网上部署服务器,这些服务器天然能够相互通信。要想对访问进行限制可以通过VPC的访问控制列表或者云服务器的安全组来实现。
不过使用共享VPC有一些限制:
- 默认的VPC无法共享,我们必须创建一个新的VPC用于共享。
- ECS无法迁移到共享VPC,对于共享VPC的使用者来说,除非重新创建一个新的ECS才能使用共享VPC。 只有共享VPC的创建者可以将现有的ECS迁移到共享VPC。
- 共享VPC的使用者目前只支持创建ECS,而不支持创建NAT网关等其他网络资源,可以由共享VPC的创建者来创建和维护NAT网关给共享VPC上的其他ECS使用。
- 负载均衡不支持跨账号挂载其他账号下的ECS作为后端服务器。
上述限制和现有的资源分布情况决定了我们要由哪一个账号来创建共享VPC。
对于全新环境,建议专门设置一个网络运维账号,在这个账号下创建VPC并共享给其他账号使用,未来像NAT网关、云企业网等共享的网络服务也在这个账号下购买和运维。
例如在资源目录中创建一个全新的账号ax04,然后在这个账号下创建一个全新的VPC,并在这个VPC下创建每一个可用区对应的虚拟交换机以方便后续的资源购买。
然后再回到资源管理的界面下,创建一个共享单元,将刚才新创建的VPC及其下的交换机共享给资源目录。
这时,在资源目录中的其他阿里云账号就能看到这个共享的VPC并可以在该VPC之上创建资源了。
对于在云账号下已经包含云资源的情况,假如不想重新购买云资源,可以在包含云资源的账号下创建VPC并将现有ECS迁移到新的VPC。
例如在A账号下这个云服务器本来位于默认VPC,需要在A账号下创建一个新的VPC并在资源目录中进行共享,接着再把该云服务器迁移到共享的VPC之上,该服务器在迁移到新的VPC之后公网IP保持不变,而内网IP将随新的VPC的网段设置而发生变化,可以看到该服务器的内网IP变为:172.20.10.172 。
同一个资源目录中的另一个阿里云账号B可以在该共享VPC下创建ECS。创建的ECS的网段信息根据共享VPC预置的网段而定,可以看到这个新创建的ECS的IP地址为:172.20.10.173 。
在阿里云账号B下只能看到本账号创建的ECS而无法看到和管理阿里云账号A下的ECS。且在账号B下的SLB在选择后端服务器时只能选择本账号下的ECS,而无法选择在账号A下的ECS,如下图所示:只能看到一台内网IP为 172.20.10.173 的ECS。
最后,来确认一下账号A和账号B下的ECS能够进行内网通信。
使用SSH登录账号A 下ECS的外网IP,确认该服务器的内网IP为172.20.10.172 ,以该服务器为跳板使用SSH登录账号B下的ECS 172.20.10.173 。