· AWS 上的云主机以 EC2 为单位向外提供。
· EC2 分不同的规格,按定时计费、saving plan 等方式收费。
· EC2 会免费获得一个ISP自动分配的外网IP,但是这个外网IP会随着重启失效。
· 如果要固定EC2 的外网IP,需要通过申请弹性IP来固定。
· 弹性IP直接申请即可,空置会被收费(以此杜绝滥用),但绑定上EC2后免费。
跟国内大多的厂商类似,AWS的公网IP并不是直接通讯的,它处在一个网络框架中。
这个框架中,常用岛的,从里到外分别如下。
· subnet,子网。可以看作是一个小局域网,EC2 直接在此局域网内。
· VPC,虚拟私人云。可以看作一个subnet上的大局域网,兼资源管理。一个VPC下的子网会自动设置好路由互通。但子网的安全组不会
· igw,Internet gate way。一个虚拟的逻辑单元,VPC 内的子网需要连接互联网,路由表的endpoint必须通过它。
· NAT 设备。这个就不用多说了。
实验性的小主机,用默认的最低配 t2.micro 即可。但 t 系列都是积分制主机,强烈建议不要用在生产环境。毕竟积分制主机规则理解、抢占导致的性能发挥限制都是一些没必要的制约。
m 系列是性能和价格比较折中的选择。
具体的规格可参考链接:https://aws.amazon.com/cn/ec2/instance-types/
以 m5.large(2vCPU,8Gib mem)Linux系统(windows因为版权还要更贵)为例,是0.115 USD 一个小时。开多少算多少。这种方法比较适合开来临时试验,或者高峰期应急;
这种方式相当于一个以年为单位的EC2抵扣券。由于是以年为单位,属于批量购买,所以它会便宜很多。
RI 的付费方式,根据预付程度区分收费:预付全部,或者预付一部分乃至0元,剩下的每小时再行收费。其中,如果计算总价,预付全部的折扣是最大的。
如果我们确定机器使用年限在一年以上,比如一些游戏服务器(带状态使用),以 m5.large 为例,预付全部一年的价格是:US$592.00。 而直接按需收费,一年的价格是: 0.115 * 24 * 365 = $1007 左右。相当于打了 58折。相当适合把EC2当作基础的开机机器、带状态运行的一些使用场景。
大体上一样是按需收费,但需要承诺AWS每个小时至少使用多少钱的低消,来换取比较高的折扣。由于我服务器基本使用RI,也就没有具体了解里面的折扣关系了。
这里说一下特殊的选择,centos。
也许是centos停止维护了的原因,当前centos 并不能直接在显眼的地方找到。
如果需要启动centos,需要按照图示依次查找:
· 浏览其他AMI
· 选择社区AMI
· 搜索centos
· 要注意,centos 8 现在的yum 源已经全部清空,不推荐继续安装了。选择 centos7 来进行安装即可。
· 如果可能,不要选择 centos了,ubantu 应该是目前比较好的替代。
但需要注意,此处自动分配的IP,并不是永久的,而是AWS自动分配,机器一旦重启就会改变。
如果需要永久的IP,这一步可以选择先不用自动分配(当然分配了后面再行绑定也可以)。
永久IP需要使用【弹性IP】,没有太特殊的地方,直接在界面申请一个即可。
生成之后,选择绑定到实例。
需要注意的是,弹性IP只有在使用中才不收费,一旦闲置就会产生费用,所以不要滥用申请。
机器在启动之后,就再也无法更换VPC了。所以如果有一些特别的需求,比如想自己规划VPC的网络,就要在创建时修改好。否则EC2会自动应用一个默认的VPC(在没有设置之前,往往是 172.31.00/16)。
· 点击编辑
VPC主要的构成:
· 用网主体,比如EC2;
· 子网
· NAT网关
· IGW,互联网网关。
网图示意。
子网、VPC 其实在拓扑上可以这么理解:
VPC是一个大的局域网,然后提供了划分 vLan 的能力,继续划分子网。只有两层的能力,应该已经可以满足大部分的需求了。
子网内拥有独立的路由表、ACL(理解成一个作用在子网级的流量防火墙)。
ACL 默认情况是不做控制的。
利用子网独立的路由表,就可以将一些CIDR给指定到不同的endpoint去了,比如 IGW、比如自己的一些路由等等。
子网之间已经由VPC做好路由表,直接使用对端ip地址即可跳。
但是EC2的安全组也要做好相应的放行,而不会直接认为是内网就放开。
其实就理解成家用的普通路由。
NAT网关可以实现下面的功能:
也就是隐藏起来网关后的细节,对外唯一。
假设NAT网关分配一个弹性的IP之后,其他的设备连接它。这种情况就跟家里路由上网一模一样,就不再赘述了。
其中这里的“设备”可以是EC2,也可以是其他的用网设备。
NAT 需要做一些稍复杂的网络逻辑,所以是需要收费的,费用暂不了解。
Internet Gateway 其实就是一个通向互联网的边缘路由。
当EC2或者其他设备拥有公网IP之后,也需要通过它来进行互联网的链接。
根据官方文档,它是一个逻辑上的概念,并没有实际的计算资源,所以并不收费。
基本上了解到这里,AWS的云用机环境就能大概理解了。
在这基础上的各种组合出来复杂的应用场景,那都不在话下。
但还有一个特别的需求需要了解一下。
那就是跨VPC的通讯。后续介绍。