面向数据中心专业人员的 Google Cloud:网络

本文介绍了 Google Cloud 的网络服务,以及这些服务与传统数据中心技术之间的比较情况。此外,本文还探讨了两种服务模型之间的差异,并详细介绍了 Cloud Platform 的 VPC 网络功能。

服务模型比较

使用传统数据中心时,您需要管理复杂的网络装置,其中包括服务器机架、存储设备、多层交换机、路由器、负载平衡器、防火墙设备等等。除了这些硬件组件之外,您还必须设置、维护和监控网络的底层软件,以及与您环境对应的详细设备配置。而管理开销并没有到此结束:您还需要操心网络的安全性和可用性,并且必须规划网络的升级和扩展,但这却是一个漫长而耗时的过程。

相比之下,Google Cloud 的 VPC 网络基础架构是围绕软件定义网络 (SDN) 模型构建的。该模型消除了上述大部分维护和管理开销,因此,您可以更快速地自定义服务和调节其规模,以帮助应对不断壮大的客户群的需求。

数据中心与 Google Cloud VPC 网络架构的比较
图 1:数据中心与 Google Cloud VPC 网络架构的比较

Google Cloud 的 VPC 网络服务旨在提供以下功能:

虽然使用 Google Cloud 时您无需自行管理物理数据中心网络组件,但许多常见的网络概念(包括子网、路由,防火墙规则、DNS、负载平衡、VPN、NAT 和 DHCP)在 Google Cloud 中仍然适用。在处理 VPC 网络时,您可以借助之前学到的相关知识快速上手,并将最佳做法推入您的云端环境。

VPC 网络

VPC 网络采用 Google Cloud 的基础网络技术,包括网络、子网、IP 地址、路由、防火墙、Cloud VPN 和 Cloud Router。通过这些基础技术,您可以创建共享一个全球 VPC 网络的计算实例和容器,并可将其添加到地区子网中。在 Google Cloud 上,您可以灵活地在靠近最终用户的地区和区域中提供低延迟服务,并将服务分布到多个故障网域以确保可用性。

VPC 网络

在 Google Cloud 上,VPC 网络是一种全球性的专用 RFC 1918 IP 空间。由于 Google Cloud 的 VPC 网络默认为全球性网络,因此您不再需要单独连接和管理多个专用网络,也能达到覆盖全球的目的。使用全球性 VPC 网络时,您可以根据 IP 地址和名称在 VPC 网络中对 Compute Engine 虚拟机 (VM) 实例进行寻址,因为 Compute Engine 的内部 DNS 会自动将虚拟机实例名称作为主机名进行跟踪。

子网

在 VPC 网络中,您可以使用子网按区域或可用区对实例进行分组,并控制 IP 地址空间的分段。您可以使用任何专用 RFC 1918 IP 范围管理自己的子网,也可以使用自动模式 VPC 网络,该网络可自动在每个 Google Cloud 地区中创建子网。子网之间的 IP 范围可动态扩展,而不必是连续的。

为帮助控制子网之间的隔离,您可以向各个虚拟机实例或实例模板添加实例标记,然后将路由和防火墙规则配置为使用这些标记。

VPC 网络、子网、区域和地区
图 2:VPC 网络、子网、区域和地区

IP 地址

实例最多支持两个 IP 地址:一个临时内部 IP 地址(用于在 VPC 网络内部进行通信)和一个可选外部 IP 地址(用于在 VPC 网络外部进行通信)。默认情况下,外部 IP 地址是临时地址,但也可以是静态地址。如需详细了解 IP 地址在 Google Cloud 上的工作原理,请参阅 IP 地址

控制

Google Cloud 提供了强大的控制机制,可帮助组织范围的网络和安全管理员确保您的资源安全无虞,管理您的 VPC 网络,以及对您的外部端点访问进行授权。在 Google Cloud 上,您可以借助 Identity and Access Management (IAM) 角色、防火墙和路由来实施相关政策及模式,以便控制和保护您的 VPC 网络。

网络专用的 IAM

IAM 提供了多种与网络相关的角色,包括 Network Admin、Network Viewer、Security Admin 和 Compute Instance Admin,旨在明确区分资源控制。 如需详细了解 Google Cloud 上的 IAM 和身份管理,请参阅管理一文。

防火墙

与数据中心的 DMZ 类似,每个 VPC 网络都有一个防火墙,用于拦截默认从 VPC 网络外部发往实例的所有传入流量,您可以通过配置防火墙规则来允许此类访问。 但是,与传统 DMZ 不同的是,Google Cloud 的防火墙分布于全球,可帮助避免为应对流量而引发的规模扩缩问题。

默认情况下,防火墙规则会应用于整个 VPC 网络。但是,您可以将防火墙规则应用于一组实例,方法是向实例添加特定标记,然后将防火墙规则应用于具有该标记的实例。此外,您还可以使用防火墙规则来控制实例之间的内部流量,只需在规则中定义一组允许的源机器即可。

路由

路由(或流量转发规则)是与单个 VPC 网络相关的全球性资源。如果要将路由应用于 VPC 网络中的一个或多个实例,您可以在创建路由时添加目标实例标记。随后,路由将会被添加到也使用这些实例标记的全部实例。

初始化 Compute Engine 或创建新的 VPC 网络时,默认情况下,系统会自动创建特定路由。您也可以根据需要将用户创建的路由添加到 VPC 网络。例如,通过添加路由,您可以将来自一个实例的流量转发到同一 VPC 网络中的另一个实例,甚至可以跨子网转发流量,而无需外部 IP 地址。

在 VPC 网络中设置子网时,GCP 会默认在子网之间创建路由。但是,除非您使用的是 default VPC 网络,否则您必须创建防火墙规则,以允许 VPC 网络中各实例之间的流量。

通过路由,您还可以为虚拟机实例实现更高级的网络功能,例如设置多对一 NAT 和透明代理。默认路由的设计方式应确保 VPC 网络知道如何将流量发送到互联网和您创建的所有实例。

扩缩

在传统数据中心环境下,负载平衡器可能会使得运营变得复杂,并且通常欠缺全球可扩缩性。为支持服务的可伸缩性和可用性,您可以使用 Cloud Load Balancing,它会将您的计算资源分布到一个全局 Anycast IP 中。Cloud Load Balancing 支持 HTTP(S)、TCP/SSL 和 UDP 负载平衡,以及 SSL 分流、会话粘性、运行状况检查和日志记录。

第 7 层负载平衡

HTTP(S)(第 7 层)负载平衡会自动跨区域平衡流量,将流量从运行状况不佳的实例定向到最近的实例。您还可以添加基于内容的负载平衡,以将流量分配到针对特定内容(如视频)进行了优化的实例。为了帮助缩短延迟时间并提升用户的性能体验,您还可以将 Cloud CDN(Google Cloud 的内容分发网络服务)与 HTTP(S) 负载平衡结合使用。

跨地区负载平衡
图 3:跨区域负载平衡

第 4 层负载平衡

如果 TCP/UDP 服务需要额外实例来应对流量高峰,也可以使用网络负载平衡(第 4 层)。通过网络负载平衡,您可以对诸如 SMTP 流量之类的其他协议进行负载平衡,添加会话粘性,以及检查数据包。SSL 代理可为您的非 HTTPS 负载平衡流量提供 SSL 终止服务,而 SSL 分流使您能够集中管理 SSL 证书和解密,将处理器密集型工作从实例中分流出来。

网络负载平衡
图 4:网络负载平衡

自动扩缩

负载平衡以 Compute Engine 自动扩缩功能为后盾,该功能会自动根据自动扩缩政策向实例组添加实例以及从中移除实例。您可以选择自动扩缩程序的某一预定义自动扩缩政策,也可以根据 Cloud Monitoring 指标定义自定义政策。

Cloud DNS

使用 Cloud DNS,您可以在确保极高可用性和极低延迟的情况下,向全球范围的用户提供您的应用和服务。Cloud DNS 可以轻松扩缩,帮您应对大量 DNS 区域和记录,因此,您可以安心地创建和更新数以百万计的 DNS 记录。

连接

如果您要设计一个混合架构,以在其中维护 Google Cloud 上的一些资源和其他平台上的资源,则可以在 Google Cloud 上通过多种方式来与外部环境进行集成。

Cloud VPN

Cloud VPN 代管式服务可以通过安全的 IPSec 隧道将来自私有云的数据馈送到 Google Cloud 托管的服务。每个 Cloud VPN 网关可以在其隧道中保持高达 1.5 Gbps 的速率。如需了解如何配置 Cloud VPN,请参阅 Cloud VPN 互操作性指南

Google Cloud Router

在扩展云端子网、创建其他云端应用或更改私有云子网时,您可以使用 Cloud Router 自动发现和通告您的网络更改。Cloud Router 通过 ECMP 路由或主/备份设置支持多个 VPN 隧道。Cloud Router 事件、BGP 事件和路由事件会显示在 Cloud Logging 中,而指标会被 Cloud Router 发布到 Cloud Monitoring

混合网络架构
图 5:混合网络架构

Cloud Interconnect

如果客户所需的企业级连接比现有连接具备更高的可用性和更低的延迟,则可以使用 Cloud Platform 的 Cloud Interconnect。您的网络流量会直接转到 Google Cloud,避免不必要地绕道第三方网络。Cloud Interconnect 可提供以下服务:

  • 运营商对等互连,该服务通过一组服务提供商合作伙伴提供。
  • 直接对等互连。只要您能够在我们的对等互连位置与 Google 建立连接,并且满足 Google 的对等互连要求,您就可以在我们的 70 多个对等互连位置中的任何一个位置与 Google 对等互连,从而交换高吞吐量的云端流量。
  • CDN Interconnect,该服务可让部分提供商与 Google 的边缘网络建立直接互连链接。通过这种边缘连接,您可以优化流量,从而将大型数据文件缓存到用户附近的位置,并减少频繁更新内容的访问延迟时间。

性能

来自给定虚拟机实例的出站流量受限于网络出站吞吐量上限。这些上限取决于虚拟机实例具有的 vCPU 数。为获得最佳性能,每个 vCPU 都存在 2 Gbps 的上限。每增加一个 vCPU,该网络上限就会增加;理论上,每个实例不能超过 32 Gbps。您所获得的实际性能体验将因具体工作负载而异。所有上限都代表着可能的最大性能,而非持续性能。

如需根据原生数据中心环境的性能来衡量 Google Cloud 和其他云产品/服务的性能,您可以使用 PerfKit Benchmarker,这是一种开源基准化分析工具。如需对 Google Cloud 进行基准化分析,您可以运行指定的 google_set 集,其中包括 iperfnetperfping 基准。如需查看使用 PerfKit Benchmarker 衡量网络吞吐量的简单示例,请参阅衡量网络吞吐量

费用

如需详细了解产品对应的价格,请参阅以下页面:

您还可以使用 Google Cloud 价格计算器为特定场景的费用建模。

后续步骤

下一篇:Google Cloud 上的计算

查看最佳做法

查看网络和安全以及 DDoS 最佳做法,了解如何保护 VPC 网络和虚拟资源的安全。

尝试一些实践教程

准备好亲身实践了吗?请查看 Networking 101Networking 102 Codelab,其中逐步介绍了如何使用 Google Cloud 的 VPC 网络服务完成基本和中间网络任务。

了解 Google 的网络堆栈

十多年来,为实现最佳性能和成本效益,Google 投入巨资在云端软件定义网络方面进行创新。如需深入了解 Google 网络堆栈的各方面,请参阅以下文章和论文: