当我们首次建立我们的多区域Mongo基础架构时,我们没有添加任何安全性,并且使用未加密的传输连接来通过公共互联网进行复制。我们需要切换到使用加密连接进行复制,但担心切换它会破坏当前的复制。我们有几个TB的数据,如果事情不同步,很难强制重新同步。
在这种情况下,切换到加密传输的建议流程是什么?
提前致谢,
伊恩
答案 0 :(得分:0)
启用安全复制可以在不破坏应用的情况下完成。如果仔细计划,它不需要停机,但重新启动。在您的情况下,副本集的副本首先跟随主副本。该应用程序将自动切换到新的主要应用程序,并且不会花费很长时间。
这是需要添加的基本配置yaml。在配置文件中选择preferSSL选项。使用preferSSL作为其net.ssl.mode,该节点接受TLS / SSL和非TLS /非SSL传入连接,其与其他服务器的连接使用TLS / SSL 。
net:
ssl:
mode: <disabled|allowSSL|preferSSL|requireSSL>
PEMKeyFile: <path to TLS/SSL certificate and key PEM file>
CAFile: <path to root CA PEM file>
您可以永远处于此状态,或让应用程序团队切换到使用SSL连接。一旦每个人都准备好使交换机永久化,使用admin命令切换到requireSSL(这将避免重新启动)。相应地更新Mongo配置文件以使用requireSSL(用于将来重新启动)。
以下是 - enabling Mongo SSL的参考文档。由于在您的情况下需要重新启动,我将直接跳到该文档中的第3步。