VPC网络的意义与实践
2019-12-14 本文已影响0人
Megatron7
前阵子通过统计,公司在网络带宽方面占据的费用达到50%。想办法把这部分的资源优化
当前遇到的问题
- 1.因为是网络请求导致大量的带宽消耗,但有部分实例是不需要外网带宽的。
- 2.没有集中管理起来,无法做到带宽弹性供给。
- 3.无法隔离网络,遭受攻击可能会危害内网下所有服务(内网互通),开放外网会有被端口扫瞄的风险。
- 4.无法集中、可配置的管理网络上、下行,也就无法过滤请求。
思路:
socks5 | nat转发 | |
---|---|---|
落地 | 直接通过1台代理的机器与内网中的所有机器相连,代理它们的tcp请求。使用开源软件:shadownsocks-go | 通过iptable配置端口转发 |
优势 | 简单方便,易于理解。翻墙就是采用类似的技术 | 方便高效、结合云服务商提供的vpc组合套装,达到企业级管理 |
劣势 | 不够高效。相当于所有请求都得在tcp/ip层被转发一次,机器多了会增加server端的压力,也无法做到配置化、过滤、隔离等需求。 | 学习成本相较于socks5高,毕竟是企业级的解决方案 |
场景 | 适合个人使用,翻墙、或者内网穿透,、个人nas这种场景 | 适合企业级网络管理 |
VPC各大云平台都有简介,请翻阅。
看完相关文档后带着问题来实操一下:
- 1.VPC中的主机如何暴露端口?
- 2.ACL有哪些落地的场景?
- 3.子网有哪些实际意义?
- 4.自定义路由表有哪些实际意义?
实际执行过后
- 1.VPC中可以通过端口转发对外暴露端口。
- 2.可以通过配置防止内网资源被恶意消耗。(被攻击后,劫持的机器多半要和外网通信。这里就能有效解决被入侵的危害
- 3.子网的意义在于:冗余、备份、还有隔离。(子网中的资源被攻击后,其它资源是安全的,有效控制危害范围
- 4.自定义路由可以用在对外暴露端口和内部的端口不一致。(例如:外部对接的是端口2222,对应内部跳板机的22端口)
原/现有网络拓扑结构(精简了下,便于理解)图,相当于VPC接管了原来集群的网络。达到了资源可管理、可配置。
在这里插入图片描述
总结VPC的能力边界和对应落地场景:
能力 | 场景 | |
---|---|---|
VPC | 构建虚拟网络,接管内网中所有服务(web-server, redis, mysql, nginx)的入网、出网行为。 | 目前的Ucloud购买的主机就在默认的VPC下 |
子网 | 通过不同网段区分开的网络结构体。可以做到内部的有序管理,管理粒度更细了 | 这层的划分可以和公司内部的组织结构对应上 |
NAT网关 | 可以将内网中的服务向外暴露 | 例如之前直接通过9000, 9989, 9988访问某些测试接口 |
内网VIP | 手动为某个实例分配IP | 机器本身有个内网IP(ucloud自己的网关),然后还能分配一个VIP(客户自己的网关),这样在组网的时候就相当灵活了。这样内网交互的时候几乎不用去外部的网关,内部就能完成闭环。 |
ACL | 管理着入网、出网的规则。 | 可以为机器添加出网白名单,这样机器被攻击后也无法与外界通信。 |
路由表 | 自定义路由可以用在对外暴露端口和内部的端口不一致 | 外部对接的是端口2222,对应内部跳板机的22端口 |
如何您喜欢我的文章,可以关注我的公众号:vm-321,领取学习资料