VPC(Virtual Private Cloud)作为云计算最基础的服务,在云计算使用中有着重要的作用。下面我们对OTC和AWS中的提供的VPC服务进行一下详细的比较。
- 提供的服务种类
OTC: AWS:
OTC | AWS |
Virtual Private Cloud | Virtual Private Cloud |
Route Table | Your VPCs |
Subnet9 | Subnets |
Security Group | Route Tables |
Elastic IP Address | Internet Gateways |
VPC Peering | Egress Only Internet Gateways |
VPN | DHCP Options Sets |
Elastic IPs | |
Endpoints | |
NAT Gateways | |
Peering Connections | |
Security | |
Network ACLs | |
Security Groups | |
VPN Connections | |
Customer Gateways | |
Virtual Private Gateways | |
VPN Connections |
从数量上来看AWS提供的服务种类更多,下面我们来详细比较一下各个服务
1、VPC
OTC和AWS VPC服务基本相同。推荐的私有IPV4地址范围CIDR块
10.0.0.0/8–24
172.16.0.0/12–24
192.168.0.0/16–24
但AWS支持IPV6,OTC暂时还不支持
2、Subnet
OTC和AWS Subnet服务也基本相同,但OTC可以自定义网关地址。AWS使用默认网关地址。
AWS每个子网 CIDR 块中的前四个 IP 地址和最后一个 IP 地址无法供您使用,而且无法分配到一个实例。例如,在具有 CIDR 块 10.0.0.0/24的子网中,以下五个 IP 地址是保留的:
10.0.0.0:网络地址。
10.0.0.1:由 AWS 保留,用于 VPC 路由器。
10.0.0.2:由 AWS 保留。DNS 服务器的 IP 地址始终为 VPC 网络范围的基址 + 2;但是,我们也保留了每个子网范围基址 + 2 的 IP 地址。有关更多信息,请参阅 Amazon DNS 服务器。
10.0.0.3:由 AWS 保留,供将来使用。
10.0.0.255:网络广播地址。我们在 VPC 中不支持广播,因此我们会保留此地址。
3、Route table
OTC的Route table 是VPC下的一个属性和AWS的route table提供的服务完全不一样
OTC Route table的主要作用是When ECSs in a VPC need to access the Internet, add a route toenable the ECSs to access the Internet through the ECS that has an EIP bound.
Route table 和 SNAT要一起使用来实现没有弹性IP的ECS主机连接internet的功能
To use the route table function provided by the VPCservice, you need to deploy the SNAT function on an ECS to enables other ECSsthat do not have EIPs bound in a VPC to access the Internet through this ECS.
AWS route table 是定义子网路由规则的
示例
目标 |
目标 |
10.0.0.0/16 |
本地 |
172.31.0.0/16 |
pcx-1a2b1a2b |
0.0.0.0/0 |
igw-11aa22bb |
AWS route table 可以定义到各种特定网关和连接的路由,包括
Internet 网关的路由表
NAT 设备的路由表
虚拟专用网关的路由表
VPC 对等连接的路由表
VPC 端点的路由表
OTC route table 应该是指实现了 AWS NAT 设备的路由表这一个功能。当然这也可能是因为OTC还未提供其他类型的各种网关
4、Security Group
OTC和AWS安全组功能基本相同。安全组充当实例的虚拟防火墙以控制入站和出站流量。
5、Elastic IP
OTC和AWS弹性IP基本是一样的。OTC提供的弹性IP可以限制带宽。AWS是无带宽限制的。OTC每个账户可以申请的弹性IP数量比较大50个,但AWS只有5个。可能是因为OTC没有internet网关这个服务,ECS连接internet都需要EIP或者通过SNAT。
6、VPC peering
OTC与AWS基本是相同的。
要创建与其他 VPC 之间的 VPC 对等连接,您需要了解以下限制和规则:
您无法在具有匹配或重叠的 IPv4 或 IPv6 CIDR 块的 VPC 之间创建 VPC 对等连接。Amazon 将始终为您的 VPC 分配唯一的 IPv6 CIDR 块。如果您的 IPv6CIDR 块唯一但 IPv4 块不唯一,则无法创建对等连接。
您无法在位于不同区域中的 VPC 之间创建 VPC 对等连接。
VPC 对等不支持传递的对等关系;在 VPC 对等连接中,您的 VPC 无权访问对等 VPC 可能与之对等的任何其他VPC。其中包括完全在您自己的 AWS 账户内建立的 VPC 对等连接。
您不能在相同两个 VPC 之间同时建立多个 VPC 对等连接。
7、VPN
OTC和AWS VPN在功能上是一样的。都提供IPsec VPN。
AWS
一项 VPN 连接由以下部分组成。
虚拟专用网关
虚拟专用网关是 VPN 连接在 Amazon 一端的 VPN 集线器。
有关您可以在每个地区设置的虚拟专用网关数目,以及 VPC 的其他组成部分限制的信息,请参见Amazon VPC 限制。
客户网关
客户网关是指 VPN 连接在您这一端的实体设备或软件应用程序。如果创建 VPN 连接,在 VPN 连接您这一端生成流量时,VPN 隧道就会启动。虚拟专用网关不是启动程序;您的客户网关必须启动隧道。如果 VPN 连接经历一段空闲时间 (通常为 10 秒,具体取决于配置),隧道就会关闭。为防止发生这种情况,您可以使用网络监控工具 (如使用 IP SLA) 来生成保持连接 Ping 信号。
AWS 支持硬件设备和软件的实现
VPN 连接选项 |
说明 |
AWS 硬件 VPN |
您可以在 VPC 和远程网络之间创建 IPsec 硬件 VPN 连接。在 VPN 连接中的 AWS 一端,虚拟专用网关提供两个 VPN 终端节点来进行自动故障转移。配置您的客户网关,该客户网关是指 VPN 连接在远程端的实体设备或软件应用程序。有关更多信息,请参见在您的 VPC 中添加硬件虚拟专用网关和Amazon VPC 网络管理员指南。 |
AWS Direct Connect |
AWS Direct Connect 提供从远程网络到 VPC 的专用私有连接。您可以将此连接与 AWS 硬件 VPN 连接结合使用来创建经 IPsec 加密的连接。有关更多信息,请参阅什么是 AWS Direct Connect?(在 AWS Direct Connect 用户指南 中)。 |
AWS VPN CloudHub |
如果您拥有多个远程网络 (例如,多个分公司),则可通过 VPC 创建多个 AWS 硬件 VPN 连接来启用这些网络之间的通信。有关更多信息,请参阅 使用 VPN CloudHub 在各个站点之间建立安全通信 。 |
软件 VPN |
您可以通过在 VPC 中使用正在运行软件 VPN 设备的 Amazon EC2 实例来创建与远程网络的 VPN 连接。AWS 不提供或维护软件 VPN 设备;但是,您可以选择合作伙伴和开源社区提供的一系列产品。在 AWS Marketplace 上查找软件 VPN 设备。 |
AWS支持设备,请参考
https://aws.amazon.com/vpc/faqs/#C9
OTC只有一个设置。
OTC在客户端支持的设备
Due to the symmetryof the tunnel, the VPN parameters configured in the cloud must be the same asthose configured in your own data center. If they are different, the VPNconnection cannot be established.
To set up a VPNconnection, you also need to configure the IPsec VPN on the router or firewallin your own data center. The configuration method may vary depending on yournetwork device in use. For details, see the configuration guide of the networkdevice.
Which Remote VPNDevices Are Supported?
Table 4-1 lists theHuawei VPN devices supported by the remote end.
Table 4-1 Huawei VPNdevices
Supported PeerDevice Description
Huawei USG6000series USG6320/6310/6510-SJJ
USG6306/6308/6330/6350/6360/6370/6380/6390/6507/6530/6550/6570:2048
USG6620/6630/6650/6660/6670/6680
Huawei USG9000 seriesUSG9520/USG9560/USG9580
Other devices thatmeet the requirements in the reference protocols described in section VPNReference Standards and Protocols can also be deployed. However, some devicesmay fail VPN to add because of inconsistent protocol implementation methods ofthese devices. If the connection setup fails, rectify the fault by followingthe instructions provided in section 4.6 How Can I Handle the VPN ConnectionSetup Failure? Or contact customer service.
下面我们来看一下AWS有而OTC里面没有的VPC服务
8、Network ACL
网络访问控制列表 (ACL) 是 VPC 的一个可选安全层,可用作防火墙来控制进出一个或多个子网的流量。您可以设置网络 ACL,使其规则与您的安全组相似,以便为您的 VPC 添加额外安全层。
安全组与网络 ACL 的比较
下表概述了安全组和网络 ACL 之间的基本差异。
安全组 |
网络 ACL |
在实例级别操作 (第一防御层) |
在子网级别操作 (第二防御层) |
仅支持允许规则 |
支持允许规则和拒绝规则 |
有状态:返回数据流会被自动允许,不受任何规则的影响 |
无状态:返回数据流必须被规则明确允许 |
我们会在决定是否允许数据流前评估所有规则 |
我们会在决定是否允许数据流时按照数字顺序处理所有规则 |
只有在启动实例的同时指定安全组、或稍后将安全组与实例关联的情况下,操作才会被应用到实例 |
自动应用到关联子网内的所有实例 (备份防御层,因此您便不需要依靠别人为您指定安全组) |
下图展示了由安全组和网络 ACL 提供的安全层。例如,来自Internet 网关的数据流会通过路由表中的路径被路由到合适的子网。与子网相关的网络 ACL 规则控制允许进入子网的数据流。与实例相关的安全组规则控制允许进入实例的数据流。
9、Internet Gateway
Internet 网关是一种横向扩展、支持冗余且高度可用的 VPC 组件,可实现 VPC 中的实例与 Internet 之间的通信。因此它不会对网络流量造成可用性风险或带宽限制。
Internet 网关有两个用途,一个是在 VPC 路由表中为Internet 可路由流量提供目标,另一个是为已经分配了公有 IPv4 地址的实例执行网络地址转换(NAT)。
Internet 网关支持 IPv4 和 IPv6 流量。
10、 NAT Gateway
您可以使用网络地址转换 (NAT) 网关允许私有子网中的实例连接到 Internet 或其他 AWS 服务,但是阻止 Internet 发起与这些实例的连接。
同时AWS也可以使用和OTCSNAT一样的NAT 实例来实现这个功能
NAT 网关和 NAT 实例的区别如下表
属性 |
NAT 网关 |
NAT 实例 |
可用性 |
高度可用。每个可用区中的 NAT 网关都采用冗余实施。在每个可用区中创建一个 NAT 网关可确保架构不依赖于可用区。 |
使用脚本管理实例之间的故障转移。 |
带宽 |
支持高达 10Gbps 的突增。 |
取决于实例类型的带宽。 |
维护 |
由 AWS 管理。您不需要进行任何维护。 |
由您管理,例如您需要对实例安装软件更新或操作系统补丁。 |
性能 |
软件经过优化以便处理 NAT 流量。 |
配置来执行 NAT 的通用 Amazon Linux AMI。 |
费用 |
费用取决于您使用的 NAT 网关的数量、使用时长以及您通过 NAT 网关发送的数据量。 |
费用取决于您使用的 NAT 实例的数量、使用时长以及实例类型和大小。 |
类型和大小 |
整合提供;您不需要选择类型或范围。 |
根据您的预测工作负载选择适当的实例类型和大小。 |
公有 IP 地址 |
在创建时选择弹性 IP 地址以与 NAT 网关关联。 |
为 NAT 实例使用弹性 IP 地址或公有 IP 地址。您随时可以通过将新的弹性 IP 地址与实例关联来更改公有 IP 地址。 |
私有 IP 地址 |
在您创建网关时自动从子网的 IP 地址范围中选择。 |
在您启动实例时,从子网的 IP 地址范围内分配特定的私有 IP 地址。 |
安全组 |
无法与 NAT 网关关联。您可以将安全组与 NAT 网关之后的资源关联,以控制入站和出站流量。 |
与您的 NAT 实例和 NAT 实例之后的资源关联,以控制入站和出站流量。 |
网络 ACL |
使用网络 ACL 控制进出您的 NAT 网关所在子网的流量。 |
使用网络 ACL 控制进出您的 NAT 实例所在子网的流量。 |
流日志 |
使用流日志捕获流量。 |
使用流日志捕获流量。 |
端口转发 |
不支持. |
手动自定义配置以支持端口转发。 |
堡垒服务器 |
不支持. |
用作堡垒服务器。 |
流量指标 |
不支持. |
查看 CloudWatch 指标。 |
超时行为 |
如果连接超时,NAT 网关向 NAT 网关后方的任何资源返回 RST 数据包,尝试继续进行连接 (它不发送 FIN 数据包)。 |
如果连接超时,NAT 实例向 NAT 实例后方的资源发送 FIN 数据包,以关闭连接。 |
IP 分段 |
支持转发 UDP 协议的 IP 分段数据包。 |
支持重组 UDP、TCP 和 ICMP 协议的 IP 分段数据包。 |
不支持 TCP 和 ICMP 协议的分段。将删除这些协议的分段数据包。 |
11、 DHCP Options Sets
动态主机配置协议 (DHCP) 提供了将配置信息传递到TCP/IP 网络中主机的标准。DHCP消息中的options字段包含配置参数。这些参数包括域名、域名服务器以及“netbios-node-type”。
DHCP 选项集与您的 AWS 账户相关联,因此您可以在所有 Virtual Private Cloud (VPC) 内使用这些选项。
DHCP 选项名称 |
说明 |
domain-name-servers |
最多四台域名服务器 (即 AmazonProvidedDNS) 的 IP 地址。默认 DHCP 选项集指定 AmazonProvidedDNS。如果指定的域名服务器不止一台,请使用逗号将它们隔开。 |
如果要让实例接收domain-name中指定的自定义 DNS 主机名,则必须将domain-name-servers设置为自定义 DNS 服务器。 |
|
domain-name |
如果您是在us-east-1中使用 AmazonProvidedDNS,请指定ec2.internal。如果您是在其他区域中使用 AmazonProvidedDNS,请指定 region.compute.internal (例如ap-northeast-1.compute.internal)。否则,请指定域名 (例如MyCompany.com)。该值用于完成非限定的 DNS 主机名。 |
重要 |
|
某些 Linux 操作系统接受由空格分隔的多个域名。但是,Windows 以及其他 Linux 操作系统将该值视为单个域,因而会导致意外行为。如果您的 DHCP 选项集与有多个操作系统实例的 VPC 关联,请仅指定一个域名。 |
|
ntp-servers |
最多四个网络时间协议 (NTP) 服务器的 IP 地址。有关更多信息,请参阅 RFC 2132 的第 8.3 节。 |
netbios-name-servers |
最多四个 NetBIOS 名称服务器的 IP 地址。 |
netbios-node-type |
NetBIOS 节点类型 (1、2、4 或 8)。我们建议您指定 2 (目前不支持广播和多播)。有关这些节点类型的更多信息,请参阅 RFC 2132。 |
12、 Endpoints
VPC endpoint可让您在您的 VPC 和其他 AWS 服务之间创建私有连接,而无需通过 Internet、NAT 设备、VPN 连接或 AWSDirect Connect 进行访问。终端节点是虚拟设备。这些是水平扩展、冗余且具备高可用性的 VPC 组件,使用这些组件可以在VPC 与 AWS 服务中的实例之间进行通信,而不会对网络流量造成可用性风险或带宽限制。
重要
目前,我们仅支持带Amazon S3 的连接终端节点。终端节点只支持 IPv4 流量。
终端节点使 VPC 中的实例能够使用其私有 IP 地址与其他服务中的资源进行通信。您的实例不需要公有 IPv4 地址,并且您的 VPC 中不需要有 Internet 网关、NAT 设备或虚拟私有网关。使用终端节点策略可控制对其他服务中的资源的访问。您的 VPC 和 AWS 服务之间的流量不会脱离 Amazon 网络。
- 一般场景下的组网差别
OTC和AWS一个比较大的差别就是没有Internet Gateway。所以OTC是没有公有子网和私有子网概念的,只能通过SNAT才能实现,无EIP实例接入internet。
场景:带单个公有子网的VPC
此场景的配置包含一个有单一公有子网的 Virtual Private Cloud (VPC),以及一个 Internet 网关以启用Internet 通信。如果您要运行单一层级且面向公众的 Web 应用程序,如博客或简单的网站。
此情景的配置包括:
具有 /16 IPv4 CIDR 块的 VirtualPrivate Cloud (VPC) (示例:10.0.0.0/16)。提供 65536 个私有 IPv4 地址。
具有 /24 IPv4 CIDR 块的子网 (示例:10.0.0.0/24)。提供 256 个私有 IPv4 地址。
Internet 网关。它将 VPC 连接到 Internet 和其他 AWS 服务。
具有子网范围内 (示例:10.0.0.6) 私有 IPv4 地址的实例,这使该实例可以与 VPC 中的其他实例通信;以及一个弹性 IPv4 地址 (示例:198.51.100.2),这是使该实例能够从Internet 访问的公有 IPv4 地址。
与子网关联的自定义路由表。路由表条目使得子网中的实例能够使用 IPv4 与 VPC 中的其他实例通信以及在 Internet 上直接通信。与包含指向Internet 网关的路由的路由表关联的子网称作公有子网。
OTC的实现方式