写点什么

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

评论

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

【六顶思考帽】蓝色思考帽

LeifChen

8月日更 创新思维 蓝色思考帽

Vue进阶(五十三):vue-cli 脚手架 webpack.prod.conf.js 配置文件详解

No Silver Bullet

Vue 8月日更

在线BMI身体质量指数计算器

入门小站

工具

模块一作业2(毕设构架设计)

Laintime

面试篇:虚拟机栈5连问,一听心里就乐了

阿Q说代码

面试 JVM 8月日更 虚拟机栈

架构训练营第一模块作业(1)微信业务构架图学习

Laintime

架构实战营

数字化转型助力构建银行新型产品管理

CECBC

磁场消灭癌细胞,是一种新的抗癌方案吗?

脑极体

zookeeper集群怎么搞?

卢卡多多

zookeeper 8月日更

前端基础六之jQuery效果

ベ布小禅

8月日更

fil币怎么挖矿?fil挖矿怎么挖?

fil挖矿怎么挖 fil币怎么挖矿

记一次勒索病毒后的应急响应

网络安全学海

黑客 网络安全 信息安全 渗透测试 安全漏洞

ansible 循环

耳东@Erdong

ansible 8月日更 ansible 循环

高尚小区

escray

生活记录 8月日更

【LeetCode】压缩字符串Java题解

Albert

算法 LeetCode 8月日更

Linux之uniq命令

入门小站

Linux

仿TP钱包开发,去中心化钱包源码开发

云与AI真的能互相成就?还是最好各自独立行走?

白洞计划

Yarn资源调度框架

丛培欣

YARN

Python代码阅读(第15篇):列表求交集

Felix

Python 编程 Code Programing 阅读代码

探索区块链C端市场 艺术品、卡牌、音乐皆可NFT

CECBC

扫码出入登记小程序

清风

小程序

架构训练营第 1 期 模块五作业

高远

网络攻防学习笔记 Day112

穿过生命散发芬芳

网络安全 8月日更

C++ 中的 Pipeable 编程

hedzr

c++ pipeable

上游思维:谁来为没有发生的事情买单?

石云升

读书笔记 8月日更 上游思维

一文读懂混合型智能合约:如何结合链上与链下计算资源?

CECBC

CSS的设计模式(二)BEM与SMACSS

Augus

CSS 8月日更

质量基础设施一站式服务平台搭建,NQI平台搭建

批量SQL优化实战

码农参上

sql SQL优化 8月日更

模块一课后作业

穿裤子的云

架构实战营

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