基于 AWS 的企业 IT 网络架构

阅读数:55 2019 年 12 月 11 日 15:24

基于 AWS 的企业 IT 网络架构

背景

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

基于 AWS 的企业 IT 网络架构

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

基于 AWS 的企业 IT 网络架构

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

基于 AWS 的企业 IT 网络架构

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

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

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

基于虚拟桌面的解决方案

基于 AWS 的企业 IT 网络架构

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

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

基于 Proxy 的解决方案

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

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

基于 AWS 的企业 IT 网络架构

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

基于 AWS 的企业 IT 网络架构

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

隧道 +NAT 方案

基于 AWS 的企业 IT 网络架构

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

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

隧道 +NAT 方案实验配置

基于 AWS 的企业 IT 网络架构

在这个实验里,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 1 col 2 col 3 col 4 col 5
主机名 区域 IP**** 地址 默认的下一跳 路由器配置 -
client 北京 192.168.3.111/24 router-inside
router-inside 北京 192.168.4.195/24 GRE
router-outside 宁夏 172.31.22.79/20 IGW GRE, NAT

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

基于 AWS 的企业 IT 网络架构

对于 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。

基于 AWS 的企业 IT 网络架构

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

Bash

复制代码
vyos@router-inside:~$ show conf
interfaces {
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 conf
interfaces {
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

作者介绍:

!
复制代码
### 喻亮
AWS 解决方案架构师,负责 AWS 云计算方案的咨询、设计和架构评估。在运维,DevOPS 和 DBA 方面有十余年经验,目前侧重于大数据领域的研究。

本文转载自 AWS 技术博客。

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

评论

发布