节点间 TLS
节点间 TLS 用于保护群集内节点之间的通信。如果您不信任节点之间的网络,请务必保护节点之间的通信。
在设置节点间 TLS 之前,请使用 SECURITY_CONFIG_CHECK 检查配置的当前状态。
=> SELECT SECURITY_CONFIG_CHECK('NETWORK');
服务器节点之间的通信使用两个通道:控制通道和数据通道。要启用节点间加密,请设置 EncryptSpreadComm 参数(默认情况下禁用)以对控制通道上的 Spread 通信进行加密,并配置 data_channel TLS CONFIGURATION 以对数据通道进行加密:
-
使用
EncryptSpreadComm
对控制通道上的 Spread 通信进行加密。有关详细信息,请参阅控制通道 Spread TLS。 -
使用
data_channel
TLS CONFIGURATION 对数据通道进行加密。有关详细信息,请参阅数据通道 TLS。
如果启用节点间加密,某些查询的运行速度可能会比预期慢。您的性能体验取决于发送的数据和网络质量。
Admintools 会生成或检索 spread 密钥以对控制通道上的所有流量进行加密,并将 spread 密钥发送到所有节点。Vertica 使用 TLS 对数据通道上的所有流量进行加密。TLS 凭据通过加密的控制通道在节点之间共享。
下图描述了节点间加密过程。