负载平衡的注意事项
您可以使用负载平衡来处理来自 S3 客户端的提取和检索工作负载。
什么是负载平衡?
当客户端应用程序从StorageGRID系统保存或检索数据时, StorageGRID使用负载平衡器来管理提取和检索工作负载。负载平衡通过在多个存储节点之间分配工作负载来最大限度地提高速度和连接容量。
StorageGRID负载均衡器服务安装在所有管理节点和所有网关节点上,并提供第 7 层负载均衡。它执行客户端请求的传输层安全性 (TLS) 终止,检查请求,并与存储节点建立新的安全连接。
将客户端流量转发到存储节点时,每个节点上的负载均衡器服务独立运行。通过加权过程,负载均衡器服务将更多请求路由到具有更高 CPU 可用性的存储节点。
|
尽管StorageGRID负载均衡器服务是推荐的负载均衡机制,但您可能希望集成第三方负载均衡器。欲了解详细信息,请联系您的NetApp客户代表或参阅 "TR-4626: StorageGRID第三方和全局负载均衡器"。 |
我需要多少个负载平衡节点?
作为一般的最佳实践, StorageGRID系统中的每个站点都应包含两个或更多具有负载均衡器服务的节点。例如,一个站点可能包括两个网关节点或一个管理节点和一个网关节点。确保每个负载平衡节点都有足够的网络、硬件或虚拟化基础设施,无论您使用的是服务设备、裸机节点还是基于虚拟机 (VM) 的节点。
什么是负载均衡器端点?
负载均衡器端点定义传入和传出的客户端应用程序请求将用于访问包含负载均衡器服务的节点的端口和网络协议(HTTPS 或 HTTP)。端点还定义客户端类型(S3)、绑定模式以及可选的允许或阻止租户列表。
要创建负载均衡器端点,请选择 CONFIGURATION > Network > Load balancer endpoints 或完成FabricPool和 S3 设置向导。说明:
港口的考虑因素
对于您创建的第一个端点,负载均衡器端点的端口默认为 10433,但您可以指定 1 到 65535 之间的任何未使用的外部端口。如果您使用端口 80 或 443,端点将仅使用网关节点上的负载均衡器服务。这些端口在管理节点上保留。如果对多个端点使用相同的端口,则必须为每个端点指定不同的绑定模式。
不允许使用其他网格服务使用的端口。查看"网络端口参考"。
网络协议的注意事项
大多数情况下,客户端应用程序和StorageGRID之间的连接应该使用传输层安全性 (TLS) 加密。支持但不建议在没有 TLS 加密的情况下连接到StorageGRID ,尤其是在生产环境中。当您为StorageGRID负载均衡器端点选择网络协议时,您应该选择 HTTPS。
负载均衡器端点证书的注意事项
如果选择 HTTPS 作为负载均衡器端点的网络协议,则必须提供安全证书。创建负载均衡器端点时,您可以使用以下三个选项中的任何一个:
-
上传签名的证书(推荐)。该证书可以由公众信任的或私人的证书颁发机构 (CA) 签署。使用公众信任的 CA 服务器证书来保护连接是最佳做法。与生成的证书相比,CA 签名的证书可以不间断地轮换,这有助于避免过期问题。
在创建负载均衡器端点之前,您必须获取以下文件:
-
自定义服务器证书文件。
-
自定义服务器证书私钥文件。
-
可选地,来自每个中间颁发证书机构的证书的 CA 包。
-
-
生成自签名证书。
-
使用全球StorageGRID S3 证书。您必须上传或生成此证书的自定义版本,然后才能为负载均衡器端点选择它。看"配置 S3 API 证书" 。
我需要什么价值观?
要创建证书,您必须知道 S3 客户端应用程序将用于访问端点的所有域名和 IP 地址。
证书的 Subject DN(可分辨名称)条目必须包含客户端应用程序将用于StorageGRID 的完全限定域名。例如:
Subject DN: /C=Country/ST=State/O=Company,Inc./CN=s3.storagegrid.example.com
根据需要,证书可以使用通配符来表示运行负载均衡器服务的所有管理节点和网关节点的完全限定域名。例如, *.storagegrid.example.com`使用 * 通配符来表示 `adm1.storagegrid.example.com`和 `gn1.storagegrid.example.com
。
如果您计划使用 S3 虚拟托管式请求,证书还必须包含每个"S3 端点域名"您已配置,包括任何通配符名称。例如:
Alternative Name: DNS:*.s3.storagegrid.example.com
|
如果您使用通配符作为域名,请查看"服务器证书强化指南"。 |
您还必须为安全证书中的每个名称定义一个 DNS 条目。
如何管理即将过期的证书?
|
如果用于保护 S3 应用程序和StorageGRID之间的连接的证书过期,则该应用程序可能会暂时失去对StorageGRID 的访问权限。 |
为避免证书过期问题,请遵循以下最佳做法:
-
仔细监控任何警告证书即将到期的警报,例如*负载均衡器端点证书到期*和*S3 API 的全局服务器证书到期*警报。
-
始终保持StorageGRID和 S3 应用程序的证书版本同步。如果您替换或更新用于负载均衡器端点的证书,则必须替换或更新 S3 应用程序使用的等效证书。
-
使用公开签名的 CA 证书。如果您使用由 CA 签名的证书,则可以无中断地替换即将过期的证书。
-
如果您已生成自签名StorageGRID证书并且该证书即将过期,则必须在现有证书过期之前手动替换StorageGRID和 S3 应用程序中的该证书。
绑定模式的注意事项
绑定模式允许您控制哪些 IP 地址可用于访问负载均衡器端点。如果端点使用绑定模式,则客户端应用程序只有使用允许的 IP 地址或其对应的完全限定域名 (FQDN) 才能访问该端点。使用任何其他 IP 地址或 FQDN 的客户端应用程序无法访问该端点。
您可以指定以下任意一种绑定模式:
-
全局(默认):客户端应用程序可以使用任何网关节点或管理节点的 IP 地址、任何网络上任何 HA 组的虚拟 IP(VIP)地址或相应的 FQDN 访问端点。除非您需要限制端点的可访问性,否则请使用此设置。
-
HA 组的虚拟 IP。客户端应用程序必须使用 HA 组的虚拟 IP 地址(或相应的 FQDN)。
-
节点接口。客户端必须使用所选节点接口的 IP 地址(或相应的 FQDN)。
-
节点类型。根据您选择的节点类型,客户端必须使用任何管理节点的 IP 地址(或相应的 FQDN)或任何网关节点的 IP 地址(或相应的 FQDN)。
租户访问注意事项
租户访问是一项可选的安全功能,可让您控制哪些StorageGRID租户帐户可以使用负载均衡器端点访问其存储桶。您可以允许所有租户访问一个端点(默认),也可以为每个端点指定允许或阻止的租户列表。
您可以使用此功能在租户和他们的端点之间提供更好的安全隔离。例如,您可以使用此功能来确保一个租户拥有的绝密或高度机密的材料对其他租户完全不可访问。
|
为了实现访问控制,租户是根据客户端请求中使用的访问密钥来确定的,如果请求中没有提供访问密钥(例如匿名访问),则存储桶所有者将用于确定租户。 |
租户访问示例
要了解此安全功能的工作原理,请考虑以下示例:
-
您已创建两个负载均衡器端点,如下所示:
-
*公共*端点:使用端口 10443 并允许所有租户访问。
-
*最高机密*端点:使用端口 10444 并仅允许访问 *最高机密*租户。所有其他租户均无法访问此端点。
-
-
这 `top-secret.pdf`位于*最高机密*租户拥有的存储桶中。
要访问 top-secret.pdf
,Top secret 租户中的用户可以向 https://w.x.y.z:10444/top-secret.pdf
。由于该租户被允许使用 10444 端点,因此用户可以访问该对象。但是,如果属于任何其他租户的用户向同一 URL 发出相同请求,他们会立即收到“访问被拒绝”消息。即使凭证和签名有效,访问也会被拒绝。
CPU 可用性
每个管理节点和网关节点上的负载均衡器服务在将 S3 流量转发到存储节点时独立运行。通过加权过程,负载均衡器服务将更多请求路由到具有更高 CPU 可用性的存储节点。节点 CPU 负载信息每隔几分钟更新一次,但权重可能会更频繁地更新。所有存储节点都被分配一个最小基本权重值,即使节点报告 100% 利用率或未能报告其利用率。
在某些情况下,有关 CPU 可用性的信息仅限于负载均衡器服务所在的站点。