用《计算机网络:自顶向下方法》的视角看华为云计算服务
最近在看《计算机网络:自顶向下方法》,同时学了华为云的「华为云计算服务实践」微认证课程。两边对着看,发现云上很多配置其实就是书里的概念换了个名字,这里记一下。
一、ECS 与它所在的网络
ECS 本身不难理解,就是一台云上的虚拟机。真正值得看的是它周围的网络。
ECS 都跑在虚拟私有云 VPC 里。创建 VPC 时要给一个私有网段,再在里面划子网,这和书里网络层讲的 CIDR 子网划分是一回事:一个大地址块切成若干小块,子网之间通过网关互通。
ECS 拿到的是私有地址,要被公网访问就得绑定一个弹性公网 IP(EIP)。这个过程和 NAT 很像:内部用私有地址,对外呈现的是另一个全球唯一的地址,中间由云平台完成转换。书里 NAT 的例子是家庭路由器,云上只是把这个路由器变成了一项服务。
安全组则是绑在服务器上的访问规则,按协议、端口和源地址放行或拒绝流量,作用上接近书里讲的分组过滤防火墙。想在 ECS 上跑个 Web 服务,除了绑 EIP,还得在安全组里放行 80 或 443 端口,这里用到的就是传输层的端口概念。
二、弹性伸缩与镜像
弹性伸缩(AS)按规则自动调整资源,但它调的是机器的数量和带宽,而不是单台机器的 CPU 和内存。业务量上来时加实例,下去时减实例。
既然是加实例,新加的机器就必须和已有的一样,否则负载分过去也跑不起来。AS 的做法是在「伸缩配置」里定义一个实例模板,包括规格、磁盘、登录方式,以及最关键的镜像。镜像是创建服务器的模板,把一台装好环境、部署好应用的 ECS 做成私有镜像,伸缩时就能从它批量复制出一模一样的实例。这样看,镜像不只是装系统用的,也是扩容能自动化的前提。
触发伸缩的策略有三种:告警、定时和周期。有一个细节:每次伸缩完成后会进入冷却时间,冷却期内只拒绝告警策略触发的伸缩,定时、周期和手动触发不受影响。原因是监控指标会波动,刚扩容完还没稳定又触发告警,容易反复扩缩;而定时策略是事先计划好的,没有这个问题。
三、从虚拟机到容器
当实例可以随时创建和销毁,地址就不再固定了。这在容器里更明显。华为云的云容器引擎 CCE 是托管的 Kubernetes,最小部署单位是 Pod,每个 Pod 有自己的 IP,但 Pod 重启后 IP 会变。
Kubernetes 的解决办法是 Service:它提供一个稳定的访问入口,通过标签选择器关联到当前活着的 Pod,把请求转发过去。ClusterIP 类型只在集群内部可用,NodePort 和 LoadBalancer 则把服务暴露到外部。再往上一层是 Ingress,按域名和 URL 路径把 HTTP 请求分发到不同的 Service,这已经是应用层的转发了。
把三部分连起来看,正好是一条从下往上的线:VPC 和子网解决地址分配,EIP 解决公网访问,安全组控制端口,弹性伸缩和镜像解决数量变化,最后 Service 和 Ingress 在地址不断变化的情况下维持稳定的入口。
- 点赞
- 收藏
- 关注作者
评论(0)