【问题标题】:MongoDB replica set in Azure, where do I point the firewall?Azure 中的 MongoDB 副本集,我将防火墙指向哪里?
【发布时间】:2015-01-14 15:02:17
【问题描述】:

我在 azure 中有一个 mongoDB 副本集 我有: server1 主服务器 server2 辅助 server3 仲裁器

我的本​​地机器上有一个开发环境,我想指向这个 mongoDB 实例

我应该在我的 Azure 防火墙上打开什么来确保此配置是按照最佳做法设置的。

我是为主要和辅助创建一个负载平衡端点,还是为仲裁器创建一个端点,或者甚至是其他什么?

谢谢!

【问题讨论】:

    标签: mongodb azure firewall


    【解决方案1】:

    MongoDB 不能很好地与负载平衡的端点一起使用(因为您最终可能会将流量发送到辅助节点,并且您无法控制这一点,除非您为每个 VM 实现了自定义探测,然后您将需要根据副本集节点的健康状况为每个节点更新探针的状态)。 MongoDB 客户端驱动程序旨在与副本集的拓扑一起使用,以正确决定与哪个节点进行通信。每个副本集节点都应该有一个离散的可寻址 ip:port。如果您将所有实例都放在一个云服务中(例如myservice.cloudapp.net),那么每个实例需要一个端口(因为它们都共享一个 IP 地址)。如果每个实例位于不同的云服务中,那么您可以为每个实例使用相同的端口,并为每个实例使用不同的 dns 名称/ip 地址。

    【讨论】:

    • 好吧,这很有道理,目前我的所有实例都在一个具有不同端口的云服务中,但是在我的连接字符串中,我将它指向 server1 主服务器。如果服务器 1 主服务器出现故障,仲裁器注意到它并强制进行选举,并且服务器 2 辅助服务器成为主服务器,那么我是否需要更新我的连接字符串?有什么办法可以避免手动配置?
    【解决方案2】:

    使用 iptables 的最佳解决方案是使用 ip 规则打开第三个。它在两次配置中打开并且安全。此解决方案是您代码的最佳架构。

    【讨论】:

    • iptables 与 Azure 端点无关。这是 OP 代码的“最佳架构”吗??? Azure VM 上的所有端口都可用,只要打开映射到相应端口的外部终结点即​​可。而且我什至不知道“使用ip规则打开第三个”是什么意思,以及“它在两次配置中打开”。这是零意义。
    猜你喜欢
    • 1970-01-01
    • 2014-06-12
    • 1970-01-01
    • 2022-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多