All Products
Search
Document Center

ApsaraDB for MongoDB:Koneksikan ke instans kluster sharded

Last Updated:Jul 18, 2026

Instans kluster sharded ApsaraDB for MongoDB menyediakan titik akhir terpisah untuk komponen Mongos, Shard, dan ConfigServer, serta alamat ConnectionStringURI dan ConnectionStringURI SRV yang mendukung ketersediaan tinggi.

Memperoleh titik akhir

  1. Buka halaman ApsaraDB for MongoDB Sharded Cluster Instances. Pada bilah navigasi atas, pilih kelompok sumber daya dan wilayah, lalu klik ID instans target.

  2. Pada panel navigasi sebelah kiri halaman detail instans, klik Database Connections untuk memperoleh titik akhir node target.

Detail titik akhir

Jenis jaringan titik akhir

Jenis jaringan

Deskripsi

jaringan pribadi

  • VPC: VPC adalah jaringan terisolasi yang menawarkan keamanan dan performa yang lebih baik. Secara default, instans ApsaraDB for MongoDB menyediakan titik akhir VPC.

  • Classic Network: Jaringan non-terisolasi yang hanya mengandalkan grup keamanan atau daftar putih untuk perlindungan. Instans baru tidak lagi mendukung Classic Network. Untuk informasi selengkapnya, lihat Pemberitahuan: Classic Network tidak lagi didukung untuk instans ApsaraDB for MongoDB baru.

jaringan publik

Menghubungkan ke instans melalui jaringan publik menimbulkan risiko keamanan. Secara default, instans ApsaraDB for MongoDB tidak menyediakan titik akhir publik. Jika Anda perlu terhubung melalui jaringan publik, Anda dapat secara manual mengajukan permohonan titik akhir publik.

Jenis titik akhir

Jenis titik akhir

Deskripsi

Alamat ConnectionStringURI SRV (Direkomendasikan)

Rekaman SRV adalah tipe catatan DNS yang menyederhanakan string koneksi dan memungkinkan penemuan anggota kluster secara otomatis.

Penting
  • Secara default, konsol tidak menampilkan alamat SRV. Untuk menggunakannya, klik Apply for Private SRV Endpoint atau Apply for Public SRV Endpoint pada halaman Database Connection.

  • Sebelum mengajukan permohonan alamat SRV publik, Anda harus mengaktifkan titik akhir publik untuk node Mongos. Setelah Anda terhubung ke instans MongoDB menggunakan alamat SRV publik, klien secara otomatis mengirim permintaan ke node Mongos yang telah diaktifkan titik akhir publiknya.

  • Alamat SRV hanya didukung untuk instans dengan cloud disk.

  • Alamat SRV pribadi dalam VPC dapat dikaitkan dengan maksimal 20 node Mongos. Karena keterbatasan protokol resolusi DNS dalam VPC, jika jumlah node Mongos melebihi 20, permintaan tidak akan dilakukan load balancing ke node tambahan tersebut. Pembatasan ini tidak berlaku untuk alamat SRV publik.

  • Kami merekomendasikan agar aplikasi di lingkungan produksi terhubung ke database menggunakan alamat ConnectionStringURI SRV. Klien secara otomatis mendistribusikan permintaan ke beberapa node instans untuk load balancing. Jika suatu node gagal, klien secara otomatis melakukan failover dan mengirim permintaan ke node yang sehat.

  • Versi driver lama mungkin tidak mendukung alamat SRV atau penemuan node otomatis. Contohnya:

    • Versi pymongo sebelum 3.9.0.

    • Versi mongo-java-driver sebelum 3.10.0.

    • Versi mongodb-go-driver sebelum 1.1.0.

    • Versi MongoDB Node.js driver sebelum 3.3.0.

    • Versi mongo-cxx-driver sebelum 3.8.

Alamat ConnectionStringURI

ApsaraDB for MongoDB menyediakan alamat ConnectionStringURI untuk komponen Mongos dan Shard.

Untuk lingkungan produksi, gunakan alamat ConnectionStringURI alih-alih string koneksi single-node. Klien secara otomatis mendistribusikan permintaan ke beberapa node Mongos untuk load balancing, dan melakukan failover ke node Mongos yang sehat jika salah satu tidak tersedia.

Catatan
  • Secara default, konsol hanya menampilkan alamat ConnectionStringURI untuk Mongos. Untuk memperoleh alamat ConnectionStringURI untuk Shard, Anda harus mengajukan permohonan titik akhir node yang sesuai.

  • Jika parameter readPreference dan readPreferenceTags tidak diatur, permintaan baca akan dikirim ke node primary.

  • Setelah Anda menambahkan atau menghapus node Mongos dalam instans kluster sharded, Anda harus memperbarui string koneksi agar mencerminkan perubahan tersebut.

Alamat Mongos

Titik akhir komponen Mongos, termasuk titik akhir node primary.

Catatan

Untuk pengujian harian, terhubung ke satu node Mongos sudah cukup.

Alamat Shard

Titik akhir komponen Shard, termasuk titik akhir node primary, node secondary, dan node read-only.

Catatan
  • Secara default, konsol hanya menampilkan titik akhir Mongos. Untuk memperoleh titik akhir Shard dan Configserver, Anda harus mengajukan permohonan titik akhir node yang sesuai.

  • Titik akhir node read-only dari komponen Shard hanya ditampilkan jika komponen Shard tersebut berisi node read-only.

Alamat ConfigServer

Titik akhir komponen ConfigServer, termasuk titik akhir node primary dan node secondary.

Catatan
  • Secara default, konsol hanya menampilkan titik akhir Mongos. Untuk memperoleh titik akhir Shard dan ConfigServer, Anda harus mengajukan permohonan titik akhir node yang sesuai.

  • Anda hanya dapat mengajukan permohonan titik akhir ConfigServer untuk instans kluster sharded dengan local disk.

Bagian berikut mencantumkan format, parameter, dan contoh untuk setiap jenis titik akhir.

Alamat ConnectionStringURI SRV

Format:

mongodb+srv://<username>:<password>@<srv-host>/<database>?[authSource=<authenticationDatabase>]<other_options>

Parameter:

Parameter

Deskripsi

mongodb+srv://

Awalan yang menunjukkan bahwa rekaman DNS SRV digunakan untuk penemuan layanan.

<username>

Username akun database. Nilai default: root.

<password>

Password akun database.

<srv-host>

Hostname.

<database>

Nama database yang ingin Anda akses. Nilai default: admin.

authSource=<authenticationDatabase> (Opsional)

Database tempat akun database tersebut berada. <authenticationDatabase> menentukan nama database otentikasi.

Catatan

Untuk string koneksi SRV ApsaraDB for MongoDB, rekaman TXT mengatur authSource=admin. Ini menggantikan atribut otentikasi dari <database>. Jika Anda ingin mengubah database otentikasi, Anda harus secara eksplisit mengatur authSource=<authenticationDatabase> alih-alih mengubah parameter <database>. Untuk informasi selengkapnya, lihat dokumentasi resmi MongoDB.

<other_options>

Parameter opsional lainnya.

Catatan

Untuk koneksi SRV, opsi SSL diaktifkan secara default. Jika Anda tidak perlu menggunakan enkripsi SSL, tambahkan parameter ssl=false ke string koneksi. Untuk informasi selengkapnya tentang parameter opsional, lihat dokumentasi resmi MongoDB.

Contoh:

Akun database adalah test, dan berada di database admin.

mongodb+srv://test:****@dds-2zef4c23****-srv.mongodb.pre.nosql.aliyuncs.com/admin?ssl=false

Alamat ConnectionStringURI

Alamat ConnectionStringURI tersedia untuk komponen Mongos maupun Shard.

Mongos

Format:

mongodb://<username>:<password>@<host1>:<port1>,<host2>:<port2>,...,<hostN>:<portN>/<database>[?&authSource=<authenticationDatabase>]

Parameter

Deskripsi

<username>

Username akun database. Nilai default: root.

<password>

Password akun database.

<host>

Domain Information node Mongos.

<port>

Port node Mongos.

<database>

Nama database yang ingin Anda akses. Nilai default: admin.

authSource=<authenticationDatabase> (Opsional)

Database tempat akun database tersebut berada. <authenticationDatabase> menentukan nama database otentikasi. Jika parameter ini dihilangkan, klien menggunakan <database> untuk otentikasi.

Contoh:

Akun database adalah test, dan berada di database admin.

mongodb://test:****@s-bp1c010266f6****.mongodb.rds.aliyuncs.com:3717,s-bp1773180e38****.mongodb.rds.aliyuncs.com:3717/admin

Shard

Alamat ConnectionStringURI untuk komponen Shard mencakup titik akhir semua node dalam replica set, sehingga menyediakan ketersediaan tinggi. Gunakan alamat ini di lingkungan produksi.

Penting

Di lingkungan produksi, selalu gunakan alamat ConnectionStringURI. Hal ini memastikan bahwa klien Anda selalu dapat menemukan dan terhubung ke node primary saat ini, mencegah masalah baca/tulis setelah failover.

Format:

mongodb://<username>:<password>@<host1>:<port1>,<host2>:<port2>,...,<hostN>:<portN>/<database>[?&authSource=<authenticationDatabase>]

Parameter:

Parameter

Deskripsi

<username>

Username akun database. Nilai default: root.

<password>

Password akun database.

<host>

Domain Information node primary, secondary, dan read-only.

<port>

Port node primary, secondary, dan read-only.

<database>

Nama database yang ingin Anda akses. Nilai default: admin.

authSource=<authenticationDatabase> (Opsional)

Database tempat akun database tersebut berada. <authenticationDatabase> menentukan nama database otentikasi. Jika parameter ini dihilangkan, klien menggunakan <database> untuk otentikasi.

readPreference=[primary | primaryPreferred | secondary | secondaryPreferred] (Opsional)

Mengontrol preferensi baca untuk pemisahan baca/tulis. Permintaan tulis diarahkan ke node primary, sedangkan permintaan baca diarahkan sesuai mode yang dipilih. Nilai yang valid:

  • readPreference=primary: Permintaan baca hanya dikirim ke node primary.

  • readPreference=primaryPreferred: Permintaan baca pertama kali dikirim ke node primary. Jika node primary gagal, permintaan baca dikirim ke node secondary dan node read-only.

  • readPreference=secondary: Permintaan baca hanya dikirim ke node secondary dan node read-only. Jika semua node secondary dan read-only gagal, permintaan baca gagal dan tidak dikirim ke node primary.

  • readPreference=secondaryPreferred: Permintaan baca pertama kali dikirim ke node secondary dan node read-only. Jika semua node secondary dan read-only gagal, permintaan baca dikirim ke node primary.

Catatan

Saat permintaan baca dikirim ke node secondary dan read-only, distribusi beban mungkin tidak merata. Untuk menargetkan node tertentu lebih lanjut, atur parameter readPreferenceTags.

readPreferenceTags=<readonly_Tags> (Opsional)

Mengarahkan permintaan baca ke node yang sesuai dengan tag tertentu. Biasanya digunakan bersama readPreference dan tidak kompatibel dengan mode primary. <readonly_Tags> adalah daftar pasangan kunci-nilai tag untuk node read-only. Jenis yang didukung:

  • readPreferenceTags=role:electable: Lebih memilih membaca dari node secondary.

    Catatan

    Opsi ini hanya berlaku untuk instans dengan cloud disk.

  • readPreferenceTags=role:readonly: Lebih memilih membaca dari node read-only.

Anda dapat menggabungkan parameter readPreference dan readPreferenceTags untuk skenario berbeda:

Perilaku failover

Node yang diprioritaskan

Kombinasi parameter

Jika pembacaan dari node yang diprioritaskan gagal, arahkan permintaan baca ke node primary

Lebih memilih node primary

readPreference=primaryPreferred

Lebih memilih node secondary dan read-only

readPreference=secondaryPreferred

Lebih memilih node secondary

Catatan

Jika node secondary tidak tersedia, permintaan baca dialihkan ke node primary.

readPreference=secondaryPreferred&readPreferenceTags=role:electable

Lebih memilih node read-only

Catatan

Jika node read-only tidak tersedia, permintaan baca dialihkan ke node primary.

readPreference=secondaryPreferred&readPreferenceTags=role:readonly

Jika pembacaan dari node yang diprioritaskan gagal, jangan arahkan permintaan baca ke node primary

Hanya membaca dari node secondary dan read-only

readPreference=secondary

Hanya membaca dari node secondary

Catatan

Jika node secondary tidak tersedia, operasi baca gagal.

readPreference=secondary&readPreferenceTags=role:electable

Hanya membaca dari node read-only

Catatan

Jika node read-only tidak tersedia, operasi baca gagal.

readPreference=secondary&readPreferenceTags=role:readonly

Contoh:

mongodb://test:****@d-bp1586cb62bf53b****.mongodb.rds.aliyuncs.com:3717,d-bp1586cb62bf53b****.mongodb.rds.aliyuncs.com:3717/admin

Alamat Mongos

Format:

<host>:<port>

Parameter:

Parameter

Deskripsi

<host>

Domain Information node Mongos.

<port>

Port node Mongos.

Contoh:

s-bp1c010266f6****.mongodb.rds.aliyuncs.com:3717

Alamat Shard

Format:

<host>:<port>

Parameter:

Parameter

Deskripsi

<host>

Informasi Domain Information dari sebuah node shard.

<port>

Port node Shard.

Contoh:

d-bp1c010266f6****.mongodb.rds.aliyuncs.com:3717

Alamat ConfigServer

Format:

<host>:<port>

Parameter:

Parameter

Deskripsi

<host>

Informasi Domain Information dari sebuah node ConfigServer.

<port>

Port node ConfigServer.

Contoh:

cs-bp1c010266f6****.mongodb.rds.aliyuncs.com:3717

Koneksikan ke database MongoDB

  1. Kumpulkan informasi berikut:

  2. Hubungkan ke database menggunakan salah satu metode berikut:

Skema koneksi umum

FAQ

Mengapa klien mengirim permintaan ke node yang tidak tercantum dalam string koneksi?

Perilaku ini merupakan bagian dari fitur penemuan layanan klien MongoDB, yang penting untuk ketersediaan tinggi. Fitur ini memungkinkan klien secara otomatis beradaptasi terhadap perubahan topologi kluster, seperti kegagalan node primary, guna memastikan kelangsungan layanan. Anda dapat menambahkan directConnection=true ke string koneksi untuk memastikan permintaan hanya dikirim ke satu titik akhir. Untuk informasi selengkapnya, lihat directConnection.

Contoh:

Saat titik akhir klien untuk instans lima node dikonfigurasi sebagai mongodb://root:xxx@dds-xxxxx1-pub.mongodb.rds.aliyuncs.com:3717,dds-xxxxx2-pub.mongodb.rds.aliyuncs.com:3717/admin, klien juga mengirim permintaan ke dan memantau status dua node tersisa yang tidak termasuk dalam titik akhir tersebut: dds-xxxxx3-pub.mongodb.rds.aliyuncs.com:3717,dds-xxxxx4-pub.mongodb.rds.aliyuncs.com:3717.