List

  1. Saya punya 3 server replica set dengan nama “replica-set”, semua jalan di port 27017 a. Server 1, hostname mongo-rs1, IP public 192.168.10.11 b. Server 2, hostname mongo-rs2, IP public 192.168.10.12 c. Server 3, hostname mongo-rs3, IP public 192.168.10.13

  2. Domain saya, domainsaya.com. SRV _mongodb._tcp.mongo-rs-external

  3. Database company


How To

  1. Buat A records untuk setiap member replica

    a. mongo-rs-1.domainsaya.com → 192.168.10.11

    b. mongo-rs-2.domainsaya.com → 192.168.10.12

    c. mongo-rs-3.domainsaya.com → 192.168.10.13

  2. Buat SRV records

    a. mongo-rs-1.domainsaya.com

    Name: _mongodb._tcp.mongo-rs-external
    TTL: 3600
    Protocol: _tcp
    Priority: 10
    Weight: 0
    Port: 27017
    Target: mongo-rs-1.domainsaya.com
    

    b. mongo-rs-2.domainsaya.com

    Name: _mongodb._tcp.mongo-rs-external
    TTL: 3600
    Protocol: _tcp
    Priority: 10
    Weight: 0
    Port: 27017
    Target: mongo-rs-2.domainsaya.com
    

    c. mongo-rs-3.domainsaya.com

    Name: _mongodb._tcp.mongo-rs-external
    TTL: 3600
    Protocol: _tcp
    Priority: 10
    Weight: 0
    Port: 27017
    Target: mongo-rs-2.domainsaya.com
    
SRV Record

SRV Record

  1. Cek dengan dig srv _mongodb._tcp.mongo-rs-external.domainsaya.com

  2. Test koneksi dengan mongosh "mongodb+srv://username:password@mongo-rs-external.domainsaya.com/company?authSource=admin&replicaSet=replica-set&tls=false"

Catatan:

  1. mongo+srv ini bisa digunakan juga dengan private IP. Cukup arahkan A record ke private IP