写点什么

基于 AWS 的企业 IT 网络架构

  • 2019-12-11
  • 本文字数:3220 字

    阅读完需:约 11 分钟

基于 AWS 的企业 IT 网络架构

背景

自 2006 年 Amazon.com 推出 S3 服务以来,云计算市场已经发展了十多年。越来越多的开发者,初创公司和企业开始拥抱云计算。AWS 的云服务给企业赋能:敏捷业务开发,按需供给 IT 资源,优化 IT 成本,加速创新,并让快速全球部署成为可能[1]。



目前已经有很多企业客户采取了尽在云端或云优先的策略,把基础架构全部或大部分迁移到 AWS 云端。典型的架构是这样的:



很多承担业务负载的基础设施已经或正在从传统的 IDC 迁移到 AWS 云上。那么,企业自身的 IT 需求是否一样能享受 AWS 云的好处呢?在可预期的将来,云服务将像电一样成为标准的公共服务,IT 和业务基础设施全部在云端会变成趋势。企业的基础设施架构会变成下图的样子。



AWS Marketplace[2]已经在北京和宁夏区域上线。它提供了数量庞大的来自 AWS 合作伙伴的产品,包括安全、网络、存储、开发运营等等许多门类。购买,管理和部署这些软件变得像从应用市场下载一个 APP 到手机上一样简单。


对企业来说,上云能降低 IT 运维的压力。AWS Marketplace 进一步赋能,简化了管理和部署 IT 商业软件的过程。


接下来,我将展示 IT 上云的可能的几种基础架构形式。

基于虚拟桌面的解决方案


AWS 的虚拟桌面服务 WorkSpaces[3]已经在宁夏区域推出。企业可以在几分钟内预置桌面并快速扩展。WorkSpaces 消除了管理和运维虚拟桌面基础设施的复杂性,比传统的虚拟桌面方案更节省成本。


用户通过客户端(Mac,Windows,平板,甚至支持 Chrome 或 Firefox 的瘦客户端)远程登陆到 WorkSpaces,然后从这里访问云上的 IT 服务,或通过云端的出口访问 Internet。

基于 Proxy 的解决方案

有些企业可能暂时还不能把一些 IT 资源迁移到云上(比如目录服务等·),或者 IT 上云处于评估阶段。这种情况下,部分 IT 基础设施部署在云端,最终用户的终端仍然在办公室,采用 IT 的混合架构。


由于 VPC 的安全保护机制[4],网络流量的源 IP 地址或目标 IP 地址两者之一必须是 VPC 内部的有效 IP****地址,否则流量包将被丢弃。这样,来自企业的网络流量路由到云上再通过云上的网络出口访问 Internet 是不可行的。



解决办法就是把这个流量拆分成两部分:把来自企业的流量的目标 IP 地址变成 VPC 的有效地址,同时把流向 Internet 流量的源地址变成 VPC 的有效 IP 地址。



通常用设置代理服务器的方法就能实现这种流量拆分,不过代理服务器可能会有安全性和兼容性上的问题,有些客户端程序可能不支持代理服务器。它不能支持纯三层流量的代理,做高可用的方案会比较复杂。

隧道+NAT 方案


还有一种方案是结合隧道和 NAT 转换,通过隧道的方式把真实的目标 IP 地址封装起来,并在云上的软路由器内完成源地址的 NAT 转换。


接下来,我将在一个实验环境中对这个方案的细节进行展示。

隧道+NAT 方案实验配置


在这个实验里,AWS 北京区域用来模拟企业的物理 IDC,AWS 宁夏区域作为云,两个区域通过 VPC 对等[5]连接。北京区域的 client 要通过 VPC 对等连接到宁夏区域,并通过宁夏区域的 Internet 网关(IGW)访问 Internet。


实验中用到北京区的 2 个私有子网(无指向 IGW 的默认路由),宁夏区的 1 个公有子网(默认路由指向 IGW)。每个子网内各有一台可突增性能[6]的 T2.micro 类型的 EC2 实例,其中,router-inside 和 router-outside 在本实验中作为软件路由器,安装了 AWS Market Place 上的合作伙伴提供的镜像 VyOS[7]。VyOS 是一个基于 Linux 的开源的网络操作系统,支持基于软件的网络路由,防火墙和 VPN 等功能。


col 1col 2col 3col 4col 5
主机名区域IP****地址默认的下一跳路由器配置-
client北京192.168.3.111/24router-inside
router-inside北京192.168.4.195/24GRE
router-outside宁夏172.31.22.79/20IGWGRE, NAT


下图是 IP 包的源地址目标地址在传输过程中的变化示意图。



对于 router-inside 来说,它要做 IP 包转发,因此 EC2 设置中要禁用源/目标检查[8]。


对于 router-outside 来说,如果不做源地址 NAT 则流量会被丢弃。因为 IP 包的源地址不是宁夏区 VPC 内部的地址,目标地址也不是宁夏区 VPC 内部的地址。


宁夏区这里不能用 NAT Gateway 代替路由器的 NAT,因为它只对源地址属于本 VPC 的 IP 包进行地址转换[9]。


配置完成后,下一步是登陆到 client 来进行验证。因为 client 处于私有子网,不能直接登陆,需要从公有子网的一台实例跳转登陆。


在 client 上执行 traceroute,可以看到 IP 包经过 router-inside 和 router-outside,然后通过宁夏区的 IGW 传向 Internet。



下面是两个软路由器的详细设置:


Bash


vyos@router-inside:~$ show confinterfaces {    ethernet eth0 {        address dhcp    }    tunnel tun0 {        address 192.168.254.1/30        encapsulation gre        local-ip 192.168.4.195        remote-ip 172.31.22.79    }}protocols {    static {        route 0.0.0.0/0 {            next-hop 192.168.254.2 {            }        }        route 172.31.0.0/16 {            next-hop 192.168.4.1 {            }        }        route 192.168.0.0/21 {            next-hop 192.168.4.1 {            }        }    }}system {    host-name router-inside}vyos@router-inside:~$
复制代码


默认路由的下一跳是 GRE 隧道对端的 IP 地址 192.168.254.2,由路由器控制。


到北京 VPC 和宁夏 VPC 网段的下一跳是路由器 router-inside 所在子网(192.168.4.0/24)的默认网关 192.168.4.1,由 VPC 控制。


Bash


vyos@router-outside:~$ show confinterfaces {    ethernet eth0 {        address dhcp    }    tunnel tun0 {        address 192.168.254.2/30        encapsulation gre        local-ip 172.31.22.79        remote-ip 192.168.4.195    }}nat {    source {        rule 100 {            outbound-interface eth0            source {                address 192.168.0.0/16            }            translation {                address masquerade            }        }    }}protocols {    static {        route 192.168.0.0/21 {            next-hop 192.168.254.1 {            }        }        route 192.168.4.195/32 {            next-hop 172.31.16.1 {            }        }    }}system {    host-name router-outside}vyos@router-outside:~$
复制代码


对所有来自北京 VPC 的 IP 包进行了源地址 NAT,变成路由器的接口地址。


到北京 VPC 网段的下一跳是 GRE 隧道对端的 IP 地址 192.168.254.1,由路由器控制。


到路由器 router-inside 的下一跳是路由器 router-outside 所在子网(172.31.16.0/20)的默认网关 172.31.16.1,由 VPC 控制。

总结

本文介绍了企业通过 AWS 云构建 IT 基础环境的 3 种方法,并对基于隧道+NAT 的方法给出了利用 AWS Market Place 上的 VyOS 镜像进行实验的配置方法。

参考资料

  1. https://infrastructure.aws/

  2. https://www.amazonaws.cn/marketplace/help/

  3. https://www.amazonaws.cn/workspaces/

  4. https://aws.amazon.com/answers/networking/vpc-security-capabilities/

  5. https://docs.amazonaws.cn/vpc/latest/peering/what-is-vpc-peering.html

  6. https://docs.amazonaws.cn/AWSEC2/latest/UserGuide/burstable-credits-baseline-concepts.html

  7. https://vyos.readthedocs.io/en/latest/about.html

  8. https://docs.aws.amazon.com/zh_cn/vpc/latest/userguide/VPC_NAT_Instance.html#EIP_Disable_SrcDestCheck

  9. https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html


作者介绍:


!



### [](https://amazonaws-china.com/cn/blogs/china/tag/%E5%96%BB%E4%BA%AE/)
AWS解决方案架构师,负责AWS云计算方案的咨询、设计和架构评估。在运维,DevOPS和DBA方面有十余年经验,目前侧重于大数据领域的研究。
复制代码


本文转载自 AWS 技术博客。


原文链接:https://amazonaws-china.com/cn/blogs/china/enterprise-it-network-architecture-based-on-aws/


2019-12-11 15:24792

评论

发布
暂无评论
发现更多内容

Android面试题及解析,android开发视频百度网盘

android 程序员 移动开发

Android面试必问!动脑学院vip课程分享2019

android 程序员 移动开发

Android面试题目,享学三期Android架构师

android 程序员 移动开发

边缘计算融入云计算架构的优缺点

云计算运维

Android高级面试题!android享学课堂vip课程下载

android 程序员 移动开发

跨越行业绊脚石,阿里云函数计算发布7大技术突破

Android进阶学习资料,扔物线学堂

android 程序员 移动开发

Android面试必刷的200道真题,全网独家首发

android 程序员 移动开发

android路由跳转,动脑学院怎么样

android 程序员 移动开发

2021云栖大会,博睿数据携手阿里云共拓云原生“可观测”最佳实践

博睿数据

Android黑科技实现原理揭秘,推荐学习

android 程序员 移动开发

打破 Serverless 落地边界,阿里云 SAE 发布5大新特性

阿里巴巴中间件

云计算 阿里云 Serverless 微服务 云栖大会

android热更新,扔物线课程怎么样

android 程序员 移动开发

英特打造通向E级计算时代“利器”,XPU架构功不可没

科技新消息

android路由实现,android开发视频百度网盘

android 程序员 移动开发

自定义View:布局

Changing Lin

10月月更

Android研发岗面试复盘总结,快速从入门到精通

android 程序员 移动开发

Android程序员如何有效提升学习效率,不可多得的干货

android 程序员 移动开发

Android通用流行框架大全,大厂面试题汇总

android 程序员 移动开发

Android面试相关文章及Github学习资料,总结到位

android 程序员 移动开发

2021年9月券商App行情刷新及交易体验评测报告

博睿数据

android插件化资源冲突,动脑学院课程值得买吗

android 程序员 移动开发

android热更新图片,动脑学院vip最新云盘

android 程序员 移动开发

Python代码阅读(第42篇):将输入转换成列表形式

Felix

Python 编程 Code Programing 阅读代码

apm性能监控系统,rxjava扔物线

android 程序员 移动开发

Android经典面试,享学三期Android架构师

android 程序员 移动开发

android设计模式工厂,动脑学院vip2019

android 程序员 移动开发

android适配器ui,享学课堂Android架构师二期

android 程序员 移动开发

android设计模式书籍,扔物线朱凯

android 程序员 移动开发

Android跨进程通信导论,作为Android开发程序员

android 程序员 移动开发

零代码的多方面解读

低代码小观

低代码 零代码 开发工具 开发平台 无代码

基于 AWS 的企业 IT 网络架构_文化 & 方法_AWS_InfoQ精选文章