小白自学云服务简单粗暴部署小app: IaaS实战选学篇

土豆炒青椒
·
·
IPFS
厚着脸皮把功效神多的选学实战篇写完。。。。。。

上一期PaaS实战篇发布后,已经无人惦记这个教学是否还有后续。评论不是像这样:

就是像这样:

看得懂的看得懂,看不懂的看不懂……教学彻底失败……

考虑这个教学不然就灰溜溜自己收场好了,结果看了这篇Excel VBA實現”複製貼上“,又信心大增:看来不是我一个人在发些评论区看不懂的教学文嘛,于是厚着脸皮继续写——要有始有终按照教学计划走向完结,不能半途而废。VBA看不懂,IaaS一样也可以看不懂……管他看得懂看不懂,先让自己看懂了再说😼。

那无人能懂的教学文,还算教学吗?不重要,据说教学文有治疗失眠的奇效……所以还是很有实用价值的……




IaaS教学案例,和PaaS案例一致。

前端:Vue
后端:.Net Core
数据库:SQL server

本期目标就是把一模一样的玩意,选择IaaS级产品发布起来。通过相同玩意不同上线流程的对比,让小白深刻明白IaaS vs PaaS 的区别,从此爱上PaaS。

IaaS过程仍然简单粗暴,真的不用写一行代码,只用鼠标点点点……




1 还是先从数据库弄起

搞IaaS级数据库,和PaaS最大的区别,就是要买虚拟机。

1.1 购买虚拟机

买虚拟机和买app服务类似,需要给虚拟机命名,选择虚拟机位置(根据目标用户群体来定),设置虚拟机所属recourse group,subscription……

因为这台虚拟机用来跑数据库(SQL server),购买时可以要求Azure预装SQL server环境。预装主要是指定版本和操作系统(Windows还是Linux)。

虚拟机的收费标准主要和虚拟机大小(size)有关。


1.1.1 创建虚拟机用户

购买虚拟机时,Azure还会提示创建登陆用户。因为是小白教学,所以就用简单的密码登陆就好。。。。。。SSH公钥什么的暂且不表。。。。。。

创建虚拟机用户和在matters开户注册差不多的原理。。。


1.2 让虚拟机可以远程登录

购买SQL app服务,resource group里面就只有一个app。购买完虚拟机,你发现虚拟机所属的recourse group文件夹里有一堆东西。

买一赠一如图所示

除了拥有了虚拟机,Azure同时把配置虚拟机需要的IP address,Network group之类的也顺便买一赠一给你了——因为在IaaS级,除了app、数据之类的归自己管,操作系统之类的也归自己管。

为了可以远程操作虚拟机,我们需要在Azure Portal里打开远程登录端口号(默认3389)

把RDP默认的3389端口号打开


如果RDP默认3389端口号没有开启,需要手动创建一下。。。。

在虚拟机“Networking”页面下,点击“Add Inbound port rule”按钮,把3398添加进来。。。。。。

有Inbound就有Outbound。Inbound规定什么方式可以访问虚拟机,outbound数据怎么从虚拟出去。。。。。。


1.3 端口号是啥玩意?

我们把虚拟机比作一栋房子,房子一般都有门窗的;我们把端口号比作房子的门窗。进入房子的方式很多:走正门、走后门、翻墙、翻窗……所以需要给进入房子的方式进行一下规范。

平常我们访问网页(比如matters首页),用到的访问方式是https,类似于走正门,默认端口号443。

现在我们想要远程访问服务器,相当于走后门,所以需要换一个端口号。如果走后门的远程登录端口号(默认3389)不对外开放,就相当于走后门进入房子的方式不被房主允许,也就无法远程访问。


1.4 远程访问虚拟机

1.3听不懂没关系,用RDP实战访问一次就明白了。RDP全称:Remote Desktop Protocol。

1.4.1 Windows系统下操作步骤:

在任务栏搜索Remote Desktop Connection,输入虚拟机对公IP地址,用在Azure购买虚拟机流程时创建的用户名和对应密码,就可以远程登录了。

在Azure购买虚拟机以后,Azure会给虚拟机分配一个对公IP(public IP),例如:xx.xx.xx.xx,就是现在想要远程访问的虚拟机名字。现在我们用RDP访问虚拟机,需要走后门(用3398端口号),所以Computer这一项填:xx.xx.xx.xx:3389

用户名就是刚刚在1.1.1中创建的用户和密码。

IP地址,端口号,用户名,密码,没输错,就登录成功了……接下来就是见证奇迹的时刻,眼前看到一个新的桌面长相的界面——那就是刚刚在Azure买的虚拟机。

看到这个窗口,说明登录成功

因为在买虚拟机时要求Azure预装了数据库,所以接下来该咋弄咋弄……


1.4.2 Mac系统下操作步骤:

Mac需要自己安装登录工具——去Apple Store下载如下图所示app。

下载安装好后,照着Windows的步骤输ip、端口、用户、密码后登录。

下载RDP文件的网页长相

当然了,如果记性不好,也可以去Azure Portal虚拟机的“Connect”页面,把RDP文件下载下来,然后双击打开,直接输入用户名和密码登录……


2 接着弄后端

如果把虚拟机建数据库的流程搞完,后端的弄法基本上就是重复以上弄数据库的步骤……

我们可以把后端和数据库放在一台虚拟机上,即一台虚拟机同时有数据库SQL server环境和后端.Net Core环境。

但是由于以上步骤繁琐,为了巩固学习成果,所以教学采用再买一台虚拟机放后端,然后再通过对内ip连数据库。。。。。。帮助小白熟悉Azure Portal点按钮流程。


2.1 购买虚拟机放后端

购买流程类似1.1,唯一不同的是,这次要求Azure 预装.Net Core。

预装的注意事项还是操作系统和版本。。。。。。。

因为购买虚拟机后又会赠送很多诸如ip之类的玩意,建议后端虚拟机和数据库虚拟机放在不同的resource group(即文件夹)里,以免搞混。


2.2 把后端虚拟机和1.1创建的数据库虚拟机放在一个vnet下

如图所示,把两个Network Interface放在一个vnet下

vnet,就是Virtual Network,放在同一个vnet下的两台虚拟机可以通过对内IP(Private IP)相互访问。

因为后端最终都是要连数据库的,数据库又不需要被外访问;把1.1创建的放数据库虚拟机和2.1创建的放后端虚拟机放在同一vnet下,他俩就能互相通过10.0.0.X的内部ip通信了。。。。。。

如图所示,我们通过在虚拟机里AllowVnetInBound就可以让他们相互通过对内IP相互访问了。。。。。。


2.3 对外IP和对内IP的区别

对外IP,即public IP;

对内IP,即private IP。

假如一个房子内部有3间屋,分别住着爸爸、妈妈和儿子。爸爸、妈妈和儿子可以在房子内部相互串门访问,但是邻居想要来上门需要走大门。

房子大门相当于public IP,用于邻居上门用;而private IP 相当于爸爸、妈妈和儿子的房间号,仅供内部串门使用,邻居不知道内部房间号更不能来串门……

如图案例,通过对外ip访问前端虚拟机,而后段虚拟机和前端虚拟机之间通过内部ip互相交流数据。


2.4 把后端代码上传虚拟机

为了省事,后端传代码还是用Visual studio,只是这一次的target是Virtual Machine,而不是PaaS是用的App Service。。。。。。

上传的时候也顺便把数据库连了。照着2.1 2.2 2.3步骤完成,现在连的对象就是数据库的对内ip地址。。。。。。

……

前端如果想搞虚拟机,也是类似的步骤。。。。。。鼠标点点点。。。。。。

……

此处省略很多步

……

……

……

2.5 添加SSL证书

以上折腾这么多步骤后,小app终于可以跑了,达到了和PaaS使用app service部署类似的效果。

但是可能小小app还不能被https访问,只能被http访问。。。。。。所以需要搞个证书。。。。。。

http就是Hypertext Transfer Protocol ,又名超文本传输协议。。。。。。
https的“s”指secure,所以https全称是:Hypertext Transfer Protocol Secure。
简单理解,要想从http升级为https需要搞一个SSL证书给虚拟机。。。。。。。
那SSL又是什么呢??????SSL指Secure Sockets Layer。。。。。。

搞了这么一个证书,让浏览器在打开网页请求传输数据时,可以加密保护信息。。。。。。有SSL和无SSL的区别就是,打开网页时有一个小锁。。。。。。表示安全。。。。。。

传说中的小锁。。。。。。。

锁是不是有铁链锁,电子锁,遥控锁,人脸识别锁???不同类别,防盗级数也不同……SSL证书和锁类似,也有级别。。。。。。越高级的SSL证书当然越贵防盗效果越好。。。。。。

比如网银系统,涉及金钱交易,是不是需要搞一个超高安全级数的证书??????

当然了,此处小白上线自娱自乐上线小小app,只求有锁就行。。。。。。随便乱搞一个就好。。。。。。

业余搞锁网址:cloudflare




以上完成小小app在云端的IaaS级部署,点了这么多鼠标,是不是累死了??????对比PaaS步骤,实现类似相同效果,复杂麻烦死了,而且收费也随之上升。

当然了IaaS同样也可以使用终端cli命令行操作。。。。。。省去点鼠标满屏跑……

但是小白入门级教程,还是用Azure Portal点点点吧。。。。。。




对比PaaS级别,端口号,对内ip对外ip,ssl证书,虚拟网络……这些统统都由Azure包干,完全不需要自己打理,简单省事省钱。于是彻底明白了为啥小白需要自学云服务弄懂PaaS。

CC BY-NC-ND 2.0 授权

喜欢我的作品吗?别忘了给予支持与赞赏,让我知道在创作的路上有你陪伴,一起延续这份热忱!