HANA 大型实例通过 ExpressRoute 连接到 Azure 中。 此部件已部署,由 Microsoft 处理。 在 HANA 大型实例中部署了资产并将 ExpressRoute 线路连接到了虚拟网络后,你只需提供一些 IP 地址范围。 有关详细信息,请参阅 Azure 上的 SAP HANA(大型实例)的基础结构和连接。 对于 Azure 数据中心网络结构与 HANA 大型实例单元之间的连接,费用不会增加。
HANA 大型实例标记内的网络,且对你来说通常是透明的。
即使使用 Hana 大型实例,以下两项要求仍然有效:
本地资产必须通过 ExpressRoute 连接到 Azure。
需要一个或多个运行 VM 的虚拟网络。 这些 VM 承载应用程序层,该层连接到 HANA 大型实例中承载的 HANA 实例。
Azure 中 SAP 部署的差别如下:
你的租户的 HANA 大型实例通过另一条 ExpressRoute 线路连接到你的虚拟网络中。 本地到 Azure 虚拟网络的 ExpressRoute 线路不与 Azure 虚拟网络和 HANA 大型实例之间的线路共享相同的路由器。 它们的负载条件保持分开。
SAP 应用程序层和 HANA 大型实例之间的工作负载配置文件具有不同的性质。 SAP HANA 会生成许多小请求和突发,例如,数据传输(结果集)到应用程序层中。
使用 HANA 大型实例缩放单元的修订版 3,VM 与 HANA 大型实例单元之间的网络延迟可能会比典型的 VM 到 VM 网络往返延迟要高。 根据 Azure 区域不同,值有可能会超过 0.7 毫秒的往返延迟时间,这个时间在 SAP 说明 #1100926 - 常见问题解答:网络性能中被归类为低于平均值。 若要测量 Azure VM 和 HANA 大型实例之间的网络往返延迟时间,根据 Azure 区域和工具不同,该延迟时间可能最高会达到 2 毫秒。 不过,客户还是会成功地在 SAP HANA 大型实例上部署基于 SAP HANA 的生产型 SAP 应用程序。 请确保在 Azure HANA 大型实例中对自己的业务流程进行彻底的测试。 名为“ExpressRoute FastPath”的新功能可以显著减少 HANA 大型实例与 Azure 中应用程序层 VM 之间的网络延迟(见下文)。
HANA 大型实例缩放单元的修订版 4 改善了在 HANA 大型实例缩放单元附近部署的 Azure VM 之间的网络延迟。 如果配置了 Azure ExpressRoute FastPath,延迟会符合或好于 SAP 说明 #1100926 - 常见问题解答:网络性能中记录的平均值分类(见下文)。
若要在 VM 与 HANA 大型实例之间提供确定性的网络延迟,使用 ExpressRoute 网关 SKU 是必不可少的。 与本地和 VM 之间的流量模式不同,VM 和 HANA 大型实例之间的流量模式可能会出现请求和数据量较小但高突发的情况。 为了应对这种突发,我们强烈建议使用 UltraPerformance 网关 SKU。 对于 HANA 大型实例类型 II SKU,必须使用 UltraPerformance 网关 SKU 作为 ExpressRoute 网关。
重要
假定所有的网络流量都位于 SAP 应用层与数据库层之间,则仅支持使用虚拟网络的 HighPerformance 或 UltraPerformance 网关 SKU 来连接到 Azure 上的 SAP HANA(大型实例)。 对于 HANA 大型实例类型 II SKU,只支持使用 UltraPerformance 网关 SKU 作为 ExpressRoute 网关。 在使用 ExpressRoute FastPath 时会有例外(见下文)。
ExpressRoute FastPath
在 2019 年 5 月,我们发布了 ExpressRoute FastPath。 FastPath 降低了 HANA 大型实例和承载 SAP 应用程序 VM 的 Azure 虚拟网络之间的延迟。 使用 FastPath,VM 与 HANA 大型实例之间的数据流不会通过 ExpressRoute 网关进行路由。 Azure 虚拟网络的子网中分配的 VM 会直接与专用企业边缘路由器进行通信。
重要
ExpressRoute FastPath 要求运行 SAP 应用程序 VM 的子网位于连接到 HANA 大型实例的同一个 Azure 虚拟网络中。 VM 如果位于与连接到 HANA 大型实例单元的 Azure 虚拟网络对等互连的 Azure 虚拟网络中,则不会受益于 ExpressRoute FastPath。 因此,在典型的中心和分支虚拟网络设计中,ExpressRoute 线路连接到某个中心虚拟网络,而包含 SAP 应用程序层(分支)的虚拟网络之间对等互连,这样,ExpressRoute FastPath 提供的优化将不起作用。 ExpressRoute FastPath 目前也不支持用户定义的路由规则 (UDR)。 有关详细信息,请参阅 ExpressRoute 虚拟网络网关和 FastPath。
若要在 Azure 中运行 SAP 布局,请连接到距离 SAP 布局中的 Azure 区域最近的企业边缘路由器。 HANA 大型实例标记通过专用企业边缘路由器进行连接,以最大程度降低 Azure IaaS 中的 VM 与 HANA 大型实例缩放单元之间的网络延迟。
托管 SAP 应用程序实例的 VM 的 ExpressRoute 网关连接到一个与本地连接的 ExpressRoute 线路。 同一虚拟网络连接到一个单独的企业边缘路由器。 该边缘路由器专用于连接到大型实例缩放单元。 同样,利用 FastPath,从 HANA 大型实例到 SAP 应用程序层 VM 的数据流不会通过 ExpressRoute 网关进行路由。 此配置减少了网络往返延迟。
此系统是单个 SAP 系统的直观示例。 SAP 应用层承载在 Azure 中。 SAP HANA 数据库在 Azure 上的 SAP HANA(大型实例)上运行。 假设吞吐量为 2 Gbps 或 10 Gbps 的 ExpressRoute 网关带宽不产生瓶颈。
多个 SAP 系统或大型 SAP 系统
如果部署多个连接到 SAP HANA(大型实例)的 SAP 系统或大型 SAP 系统,ExpressRoute 网关的吞吐量可能会成为瓶颈。 在这种情况下,请将应用层拆分为多个虚拟网络。 如果要在不同的 Azure 虚拟网络中隔离生产系统和非生产系统,也可以拆分应用程序层。
在以下情形时,可以创建连接到 HANA 大型实例的特殊虚拟网络:
直接从 HANA 大型实例中的 HANA 实例备份到承载 NFS 共享的 Azure 中的 VM。
将大型备份或其他文件从 HANA 大型实例复制到 Azure 中托管的磁盘空间。
使用单独的虚拟网络来托管 VM,这些 VM 为在 HANA 大型实例与 Azure 之间大量传输的数据管理存储。 这种安排避免了在为运行 SAP 应用程序层的 VM 提供服务的 ExpressRoute 网关上将大型文件或数据从 HANA 大型实例传输到 Azure。
如需可展开的网络体系结构,请采取以下措施:
为一个更大的 SAP 应用程序层使用多个虚拟网络。
为所部署的每个 SAP 系统部署一个单独的虚拟网络,而不是将这些 SAP 系统集中放置在同一虚拟网络中的各个子网中。
下图显示了针对 Azure SAP HANA(大型实例)的更加可展开的网络体系结构:
根据要在不同虚拟网络(承载不同 SAP 系统的 VM)之间应用的规则和限制,应该对等互连这些虚拟网络。 有关虚拟网络对等互连的详细信息,请参阅虚拟网络对等互连。
Azure 中的路由
在默认部署下,对于 Azure SAP HANA(大型实例),有三个重要的网络路由注意事项:
Azure SAP HANA(大型实例)只能由 Azure VM 通过专用 ExpressRoute 连接进行访问,而不能直接从本地访问。 在 Microsoft 向你提供 HANA 大型实例单元后,不能立即从本地直接访问。 可传递的路由限制是由于 SAP HANA 大型实例当前使用的 Azure 网络体系结构造成的。 需要进行直接访问的某些管理客户端和任何应用程序(例如在本地运行的 SAP Solution Manager)都无法连接到 SAP HANA 数据库。 有关例外情况,请参阅下一部分:直接路由到 HANA 大型实例。
如果已在两个不同的 Azure 区域部署了 HANA 大型实例单位以进行灾难恢复,则会像过去一样应用相同的临时性路由限制。 换言之,一个区域(如美国西部)中的 HANA 大型实例的 IP 地址没有路由到另一个区域(如美国东部)部署的 HANA 大型实例。 此限制与跨区域使用 Azure 网络对等互连或者交叉连接那些将 HANA 大型实例连接到虚拟网络的 ExpressRoute 线路无关。 如需图形呈现形式,请参阅在多个区域使用 HANA 大型实例单元部分中的插图。 此限制源于已部署的体系结构,禁止直接使用 HANA 系统复制进行灾难恢复。 如需了解最近的更改,同样,请参阅在多个区域中使用 HANA 大型实例单元。
Azure SAP HANA 大型实例具有从服务器 IP 池地址范围中分配的 IP 地址,该地址范围是在请求 HANA 大型实例部署时提交的。 有关详细信息,请参阅 Azure 上的 SAP HANA(大型实例)的基础结构和连接。 此 IP 地址可以通过 Azure 订阅以及将 Azure 虚拟网络连接到 HANA 大型实例的线路进行访问。 从该服务器 IP 池地址范围中分配的 IP 地址将直接分配给硬件单元, 它不再像此解决方案的前面部署中的情况那样通过网络地址转换 (NAT) 来分配。
直接路由到 HANA 大型实例
在默认情况下,可传递的路由不适用于以下情况:
在 HANA 大型实例单元与本地部署之间路由。
在不同区域中部署的 HANA 大型实例单元之间。
有三种方法可以在这些情况下启用可传递路由:
来回路由数据的反向代理。 例如,部署在连接到 HANA 大型实例和本地的 Azure 虚拟网络中的 F5 BIG-IP、NGINX(带流量管理器)作为虚拟防火墙/流量路由解决方案。
在 Linux VM 中使用 IPTables 规则在本地位置与 HANA 大型实例单元之间,或者在不同区域中的 HANA 大型实例单元之间实现路由。 运行 IPTables 的 VM 必须部署在连接到 HANA 大型实例和本地的 Azure 虚拟网络中。 VM 的大小必须设置为让 VM 的网络吞吐量满足预期的网络流量。 有关 VM 网络带宽的详细信息,请参阅 Azure 中 Linux 虚拟机的大小一文。
在提供 Global Reach 的 Azure 区域中,可以请求为 ExpressRoute 线路启用 Global Reach。 此线路会将本地网络连接到与 HANA 大型实例连接的 Azure 虚拟网络。 ExpressRoute 线路的本地端会有成本。 有关详细信息,请参阅 Global Reach 附加产品的定价。 无需为将 HANA 大型实例连接到 Azure 的线路支付额外费用。
重要
在使用 Global Reach 启用 HANA 大型实例单元和本地资产之间的直接访问时,不会通过 Azure 虚拟网络来路由网络数据和控制流。 而是会直接在 Microsoft 企业交换路由器之间路由网络数据和控制流。 所以,部署在 Azure 虚拟网络中的任何 NSG 或 ASG 规则,或者任何类型的防火墙、NVA 或代理,都不会受到影响。 如果使用 ExpressRoute Global Reach 实现从本地到 HANA 大型实例单元的直接访问,则需要在本地端的防火墙中定义访问 HANA 大型实例单元的限制和权限。
连接不同 Azure 区域中的 HANA 大型实例
同样,ExpressRoute Global Reach 可用于连接两个在不同区域中部署的 HANA 大型实例租户。 这种隔离是 HANA 大型实例租户用于在这两个区域中连接到 Azure 的 ExpressRoute 线路。 连接在不同区域中部署的两个 HANA 大型实例租户时,不会产生额外费用。
重要
HANA 大型实例租户之间的网络流量的数据流和控制流不会通过 Azure 网络进行路由。 所以,无法使用 Azure 功能或网络虚拟设备 (NVA) 来强制实施 HANA 大型实例租户之间的通信限制。