写点什么

基于 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:24930

评论

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

边缘计算平台如何助力元宇宙实现?

3DCAT实时渲染

边缘计算平台

MacBook触控板窗口管理推荐 Swish免激活最新

胖墩儿不胖y

Mac软件 触控板管理工具

探索容灾架构演进之路-从单点到异地多活

柠檬汁Code(binbin0325)

容灾 异地多活 备份 & 恢复 部署架构 同城双活

微信多开插件:WeChatHooks for mac

加油,小妞!

微信多开 WeChatHooks 微信插件

光纤的跳线和尾纤

小齐写代码

打造数字经济全新引擎,用友iuap构建实体经济数智底座

用友BIP

数智底座

2.5A、3MHz开关充电器解决方案

芯动大师

CnosDB有主复制演进历程

CnosDB

开源 时序数据库 CnosDB

app小程序定制开发的优势

Geek_16d138

小程序开发 app定制开发

第六期 |《实时洞察 智能运营一用友企业绩效管理白皮书》解读

用友BIP

企业绩效

GreatSQL社区与Amazon、Facebook、Tencent共同被MySQL致谢

GreatSQL

greatsql

开发者的福利-Amazon CodeWhisperer

归来

大模型 Amazon CodeWhisperer AWS Toolkit

WordPress 基于亚马逊云的部署实践(四)- 负载均衡+弹性伸缩

wangkx

AWS 亚马逊云 弹性伸缩 负载均衡器

物联专栏丨云边协同技术加速AloT能力向边缘侧快速演进

inBuilder低代码平台

物联网

「Macos最新」XMind for mac v24.01中文版

加油,小妞!

思维导图 XMind

华为云康宁:携手伙伴,基于核心技术构筑健康可持续新生态

华为云开发者联盟

云计算 后端 华为云 大模型 华为云开发者联盟

INFINI Labs 产品更新 | 发布 Easysearch Java 客户端,Console 支持 SQL 查询等功能

极限实验室

console Gateway 客户端 easysearch 极限科技

10m带宽香港服务器的优势

Geek_f19a80

服务器

OpenAI 治理结构为什么可以罢免CEO Sam Altman面临怎样管理问题

B Impact

低代码平台技术分享官 | 漫话iGIX前端设计模式

inBuilder低代码平台

前端

向量数据库—加速大模型训练推理

不叫猫先生

大模型 向量数据库

Kubernetes Gateway API 攻略:解锁集群流量服务新维度!

SEAL安全

Gateway 运维‘ kubernetes 运维 企业号11月PK榜

龙蜥社区召开理事闭门会,讨论多项社区规划

OpenAnolis小助手

阿里云 开源 龙蜥社区 开放原子 理事会

面试官:网关如何实现限流?

王磊

Java 面试 java面试

基于 DAG 任务编排实现

Bingo

Java DAG 任务编排 规则表达式

阿里云智能集团不再推进分拆,并加大投入

B Impact

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