包含公網 + 私網ip的ecs
公網ip:xx.xx.xx.xx
私網ip:yy.yy.yy.yy
mongodb雲資料庫
節點1:dds-2ze56d3294df7b491.mongodb.rds.aliyuncs.com:3717 (primary,通過ping域名來擷取對應的ip,假設為zz.zz.zz.zz,因域名對應的ip可能發生變化,在生産環境切勿直接指定ip)
節點2:dds-2ze56d3294df7b492.mongodb.rds.aliyuncs.com:3717
通過<code>xx.xx.xx.xx:27017</code>能通路到<code>zz.zz.zz.zz:3717</code>提供的mongodb雲服務。
利用iptables的nat機制,可以友善的實作請求轉發,首先需要ecs開啟包轉發的支援
配置轉發規則
此時你就能在任意能連通公網的機器上連接配接xx.xx.xx.xx:27017通路mongodb雲服務,所有的請求都會轉發到zz.zz.zz.zz:3717上。需要注意的是,此時通路xx.xx.xx.xx:27017隻能以單節點的方式直連,而不能按複制集的方式通路。
haproxy支援tcp(四層)、http(七層)2種轉發模式,類似于iptables,我們也可以利用haproxy來實作公網通路mongodb雲資料庫。
修改/etc/haproxy/haproxy.cfg配置檔案内容,根據預設的配置檔案稍作修改,主要配置tcp轉發模式、前端、後端服務的位址資訊。(haproxy版本為1.5.4)
啟動haproxy
<a href="https://www.aliyun.com/product/mongodb">阿裡雲mongodb雲資料庫</a>
<a href="https://yq.aliyun.com/articles/8461?spm=0.0.0.0.1lskok">使用正确的姿勢連接配接複制集</a>
<a href="http://blog.imdst.com/yun-zhu-ji-ying-she-mysqlwai-wang-fang-wen/">如何通過公網位址通路雲資料庫</a>