Tüm Ürünler
Search
Belge Merkezi

ApsaraDB for MongoDB:MongoDB'ye genel internet üzerinden bağlanma

Son Güncelleme:Oct 03, 2026

Bu konuda, bir ApsaraDB for MongoDB örneğine genel internet üzerinden nasıl bağlanılacağı açıklanmaktadır.

Ön koşullar

Adım 1: Genel bağlantı dizesi için başvurun

  1. Replica Set Instances veya Sharded Cluster Instances sayfasına gidin. Üst gezinme çubuğunda istediğiniz kaynak grubunu ve bölgeyi seçin. Ardından hedef örneğin ID'sine tıklayın.

  2. Örnek ayrıntıları sayfasının sol gezinme bölmesinde Database Connections öğesine tıklayın.

  3. Public IP Connection bölümünde Apply for Public IP seçeneğine tıklayın.

  4. Apply for Public IP iletişim kutusunda Confirm düğmesine tıklayın.

  5. Örnek durumunun Establishing Network Connection durumundan Running durumuna geçmesini bekleyin. Daha sonra örneğin genel bağlantı dizesini görüntüleyebilirsiniz.

    Not
    • Örnek durumu Establishing Network Connection iken normal çalışmaya devam eder.

    • Bağlantı dizesi yalnızca izin listesini yapılandırdıktan sonra görünür.

    • Yüksek kullanılabilirlikli bir bağlantı için ConnectionStringURI kullanın.

Adım 2: Örneğe bağlanın

Bu örnekte örneğe bağlanmak için MongoDB Shell (mongosh) kullanılmaktadır.

ConnectionStringURI (Önerilen)

Komut:

mongo "<ConnectionStringURI>"

Parametreler:

Parameter

Description

<ConnectionStringURI>

ApsaraDB for MongoDB konsolunda bulunan örneğinizin ConnectionStringURI değeri.

Not

Güvenlik en iyi uygulaması olarak veritabanına root hesabıyla bağlanmayın. Bağlanmadan önce Data Management (DMS) içinde bir veritabanı hesabı oluşturun.

Bağlanırken root:** ifadesini yeni hesabın kullanıcı adı ve parolasıyla (örneğin test:PassWord) değiştirin. /admin ifadesini ise kimlik doğrulama veritabanıyla (örneğin /testdb) değiştirin.

Örnek:

mongo "mongodb://test:PassWord**@dds-bp19f409d7512****.mongodb.rds.aliyuncs.com:3717,dds-bp19f409d7512****.mongodb.rds.aliyuncs.com:3717,dds-bp19f409d7512****.mongodb.rds.aliyuncs.com:3717/testdb?replicaSet=mgset-6108****"    

Tek düğümlü bağlantı dizesi

Komut:

mongo --host <host> --port <port> -u <username> -p --authenticationDatabase <authenticationDatabase>

Parametreler:

Parameter

Description

<host> ve <port>

ApsaraDB for MongoDB konsolunda bulunan düğümün Connection Address ve Port değerleri.

Örnek: dds-bp19f409d7512****.mongodb.rds.aliyuncs.com:3717

<username>

Veritabanı hesabının adı.

Not

Güvenlik en iyi uygulaması olarak veritabanına bağlanmak için root hesabını kullanmayın. Bağlanmadan önce Data Management (DMS) içinde bir veritabanı hesabı oluşturun.

<authenticationDatabase>

Belirtilen veritabanı hesabının kimliğini doğrulamak için kullanılan veritabanı.

Önemli

Kimlik doğrulamanın başarılı olması için veritabanı hesabının ait olduğu veritabanında kimlik doğrulaması yapılmalıdır.

Örnek:

Aşağıdaki örnekte veritabanı hesabının test ve kimlik doğrulama veritabanının testdb olduğu varsayılmaktadır.

mongo --host dds-bp19f409d7512****.mongodb.rds.aliyuncs.com --port 3717 -u test -p --authenticationDatabase testdb

Enter password: isteminde veritabanı hesabının parolasını girin ve Enter tuşuna basın.

SSS

Genel IP adresimi izin listesine eklememe rağmen örneğime neden bağlanamıyorum?

İzin listesine yanlış bir genel IP adresi eklediyseniz bu sorun oluşabilir. Yerel istemcinizin doğru genel IP adresini bulmak için aşağıdaki adımları izleyin:

  1. 0.0.0.0/0 IP adresini MongoDB örneğinin izin listesine ekleyin.

    Uyarı

    0.0.0.0/0 girişi, herhangi bir cihazın MongoDB örneğine erişmesine olanak tanır. Bu durum bir güvenlik riski oluşturur ve dikkatle kullanılmalıdır. Bu girişi kullanırsanız izin listesinden derhal kaldırmanız gerekir.

  2. MongoDB Shell (mongosh) kullanarak örneğe bağlanın.

    İzin listesini 0.0.0.0/0 olarak ayarladıktan sonra hala MongoDB'ye bağlanamıyorsanız kullanıcı adı, parola ve kimlik doğrulama veritabanının doğru olup olmadığını kontrol etmek için Data Management (DMS) kullanarak MongoDB'ye bağlanabilirsiniz.

  3. MongoDB Shell (mongosh) oturumunuz için istemci bilgilerini sorgulamak üzere aşağıdaki komutu çalıştırın.

    db.currentOp({"appName" : "MongoDB Shell","active" : true})

    Komut çalıştırıldıktan sonra sonuçtaki client alanı istemcinin genel IP adresini gösterir. Örnek çıktı:

    mgset-xxx:PRIMARY> db.currentOp({"appName" : "MongoDB Shell","active" : true})
    {
        "inprog" : [
            {
                "desc" : "conn1591052",
                "threadId" : "48008022501120",
                "connectionId" : 1591052,
                "client" : "47.xxx.xxx.xxx:40602",
                "appName" : "MongoDB Shell",
                "clientMetadata" : {
                    "application" : {
                        "name" : "MongoDB Shell"
                    },
                    "driver" : {
                        "name" : "MongoDB Internal Client",
                        "version" : "4.0.5"
                    },
                    "os" : {
                        "type" : "Linux",
                        "name" : "Ubuntu",
                        "architecture" : "x86_64",
                        "version" : "16.04"
                    }
                },
            },
            "active" : true,
    
    Not

    Örneğe farklı bir istemci kullanarak bağlanıyorsanız tüm etkin istemcilerin bilgilerini sorgulamak için aşağıdaki komutu çalıştırın.

    db.runCommand({currentOp: 1, "active" : true})
  4. Elde edilen IP adresini MongoDB örneği izin listesine ekleyin ve 0.0.0.0/0 IP adresini kaldırın.

Yerel makinemde değişen dinamik bir genel IP adresi var ve bu durum bağlantı hatalarına neden oluyor. Çözüm nedir?

Yerel cihazınızdan örneğe SSL-VPN tüneli kullanarak bağlanabilirsiniz.

Genel ağ üzerinden MongoDB'ye bağlanırken erişim yavaşlıyor, bağlantı donuyor veya ECONNRESET hatası alıyorsam ne yapmalıyım?

Yerel istemcinizdeki genel ağ bağlantısı sorunlarını belirtiye göre giderin:

  • Erişim yavaş ve ağ dalgalanmalarından şüpheleniyorsunuz: Örneği yeniden başlatmak ağ kaynaklı bir sorunu çözmez. Önce ağ koşullarını gözlemleyin. Sorun devam ederse yerel ağınızı veya İnternet hizmet sağlayıcınızın (ISP) sunduğu bağlantıyı sorun giderin.

  • **TCP bağlantısı kuruluyor ancak el sıkışma sırasında ECONNRESET hatası oluşuyor**: Örnek izin listesinin doğru yapılandırılıp yapılandırılmadığını kontrol edin. Parçalı küme örneği için Mongos düğümlerine yapılan bağlantı sayısının üst sınıra ulaşıp ulaşmadığını denetleyin. Sınıra ulaşıldıysa bağlantıları serbest bırakmak için örneği yeniden başlatın veya örnek teknik özelliklerini yükseltin. Ardından yük dengeleme sorununu elemek için geçici olarak tek düğümlü bağlantı dizesini kullanarak bağlanın. Tek düğümlü bağlantı dizesini yalnızca sorun giderme amacıyla kullanın, düzenli bağlantı yöntemi olarak kullanmayın.

  • **Apache SeaTunnel gibi bir istemci No server chosen hatası veya bağlantı zaman aşımı bildiriyor**: Sürücü birincil düğümü tanımlayamayabilir. Yüksek kullanılabilirlikli bir bağlantı için replicaSet parametresini içeren tam ConnectionStringURI kullanın. Alternatif olarak test amaçlı geçici olarak yalnızca birincil düğümün bağlantı dizesini belirtin. Sorunu belirledikten sonra tam ConnectionStringURI kullanımına geri dönün.

  • Bir veri senkronizasyon görevi dondu: İstemci günlüklerinde bellek yetersizliği (OOM) veya bağlantı kaybı hatalarını kontrol edin. Ardından istemcinin birincil düğümü tanımlayamadığı için zaman aşımına uğrayıp uğramadığını belirlemek üzere MongoDB bağlantı günlüklerini analiz edin. Bağlantı yapılandırmasını, yüksek kullanılabilirlikli bir bağlantı için replicaSet parametresini içeren tam ConnectionStringURI kullanacak şekilde değiştirin veya test amacıyla geçici olarak yalnızca birincil düğüme bağlanın.

İlgili belgeler