传统系统架构与 AWS 服务
如何得到得到一个AWS的账号,如果是社会人士比较适合免费套餐;如果是在校学生或是新手老师则可以从AWS Educate入手;而如果是打算建立云中心的高等教育机构,则是可以考虑导入AWS Academy。有了账号后,接下来就是了解AWS云计算的内容,本系列以架构(Architech)为主,所以先决条件是希望读者先有架构的基本概念,以下是一张传统的网络架构图。
图 1 、传统的系统架构图
使用 Active Directory/LDAP 来管理使用者账号,或是 SSO (Sigle Sign-On) 的机制,而在应用程序部分采用三层式体系结构,把接口、商用逻辑以及数据管理分开:负载均衡器来对网络流量进行分流,而 Web 服务器负责提供应用程序编程接口;在由下一层的负载均衡器进行分流,分配给后端的应用程序服务器,而考虑硬盘效能、管理及可靠度的情况下,使用 SAN (Storage Area Network) 来做为硬盘存取,而有些需要共同取用的文件夹,则统一放在 NAS (Network-Attached Storage),供所有应用程序服务器存取;最后数据则储存在数据库中,考虑可用性及可靠性,所以使用Master/Slave架构增加冗余可用的机制,还有磁带备份作为灾难复原之用。
这是一个很基本的应用系统架构,下一张图让我们了解一下要如何把这个架构搬到AWS的云端服务中,从这张图,大家就可以看到传统服务与AWS服务之间的对应。
图 2 、AWS云端的系统架构图
服务的替换如下
- 将服务器替换为 EC2,其实ECS(Elastic Container Service)也可以,更轻量
- 将 LDAP 服务器替换为 AWS Directory Service
- 将基于软件的负载均衡器替换为 Elastic Load Balancing (ELB)
- 将 SAN 解决方案替换为 Amazon EBS
- 将 NAS 文件服务器替换为 Amazon EFS
- 将数据库替换为 Amazon RDS
- 磁带备份会换成标准S3或是Glacier
从以上两张图,读者应该就比较理解传统系统架构与AWS服务之间的对应关系,在这里在补充两个AWS的基础服务,在图 1 应该会有但没有画出来,一个是网络架构,也就是所有的服务器应该都是透过因特网串联起来,所以应该要有一个网络支持系统,在AWS里这个服务就是 Amazon Virtual Private Cloud (VPC),允许使用者在 AWS 云端布建一个在逻辑上隔离的部分,并在自己定义的虚拟网络中启动 AWS 资源;另一个资源管理账号,就是 Identity and Access Management (IAM),图 1 中的 LDAP 服务器是用来管理整个应用系统的权限,而IAM则是用来管理整个系统的资源权限,举例来说管理数据库的内容权限是由 LDAP 服务器来负责,但假如我们需要升级数据库的硬设备,如加装内存、升级主机等的权限则是由AWS内的IAM来负责授权,简单来说就是系统硬件权限部分是由IAM来负责,系统软件/内容权限部分则由 LDAP 服务器来负责