DBaaS 接続
Atlas、ObjectRocket、または別のDBaaS プロバイダーに接続する場合は、通常、[接続の確立]に記載されている手順にいくつかのバリエーションがあります。次のセクションでは、いくつかの一般的なサービスに必要な接続プロパティを取得する方法について説明します。
Atlas
MongoDB Atlas には、MongoDB ユーザーまたはLDAP ユーザーで認証できます。次のセクションでは、Atlas 接続文字列をconnector 接続プロパティにマッピングする方法を説明します。Atlas 接続文字列を取得する方法は次のとおりです。
- Clusters ビューで、接続するクラスタのConnect をクリックします。
- Connect Your Application をクリックします。
- いずれかのドライバーオプションを選択すると、接続文字列が表示されます。
前提条件
MongoDB ユーザーの作成および/またはLDAP の設定に加えて、Atlas プロジェクトのホワイトリストに、connector が接続しているマシンのIP アドレスが含まれている必要があります。ホワイトリストにIP アドレスを追加するには、[Clusters]ビューで[Security]タブを選択し、[IP Whitelist]->[Add IP Address]をクリックします。
MongoDB ユーザー資格情報
次は、MongoDB ユーザー資格情報を提供する接続文字列の例です。
mongodb://USERNAME:[email protected]:27017,cluster0-shard-00-01.mongodb.net:27017,cluster0-shard-00-02.mongodb.net:27017/test?ssl=true&replicaSet=Cluster0-shard-0&authSource=admin
以下は、対応するconnector 接続プロパティです。
- AuthScheme:MongoDB バージョン3.0、3.2、3.4、および3.6 に対応するSCRAM-SHA-1。
- Server:レプリカセットの最初のサーバー。あるいは、プライマリまたはセカンダリサーバーを指定できます(connector はServer とReplicaSet 内のサーバーをクエリしてプライマリを検索します)。
cluster0-shard-00-00.mongodb.net
- Port:サーバーが稼働しているポート(デフォルトは27017)。
- ReplicaSet:レプリカセット内の他のサーバー。Server とReplicaSet は、MongoDB レプリカセット内のすべてのインスタンスを一緒に指定します。ReplicaSet にサーバー名およびポートを両方指定します。
mycluster0-shard-00-01.mongodb.net:27017,mycluster0-shard-00-02.mongodb.net:27017
- SlaveOK:レプリカセット内のセカンダリ(スレーブ)サーバーからの読み取りを許可する場合は、true。
- AuthDatabase:MongoDB Atlas に接続する場合は、"admin"。Atlas のすべてのMongoDB ユーザーは、管理データベース、すなわち認証データベースに関連付けられています。
- Database:読み書きするデータベース。
-
User:MongoDB プロジェクトに追加したMongoDB ユーザーのユーザー名。
-
Password:MongoDB ユーザーのパスワード。
- UseSSL:true。Atlas はTLS / SSLを必要とします。
LDAP
次のリストは、LDAP ユーザーで認証するためのMongoDB Atlas の要件を示しています。
以下はMongo クライアントに接続するためのコマンド例です。
mongo "mongodb://cluster0-shard-00-00.mongodb.net:27017,cluster0-shard-00-01.mongodb.net:27017,cluster0-shard-00-02.mongodb.net:27017/test?ssl=true&replicaSet=Cluster0-shard-0&authSource=$external" --authenticationMechanism PLAIN --username cn=rob,cn=Users,dc=atlas-ldaps-01,dc=myteam,dc=com
-
Server:レプリカセットの最初のサーバー。または、別のプライマリまたはセカンダリサーバーを指定できます(connector はServer とReplicaSet 内のサーバーをクエリしてプライマリを検索します)。 次に例を示します。
cluster0-shard-00-00.mongodb.net
- Port:サーバーが稼働しているポート(デフォルトは27017)。
- ReplicaSet:レプリカセット内の他のサーバー。Server とReplicaSet は、MongoDB レプリカセット内のすべてのインスタンスを一緒に指定します。
以下に値の例を示します。
mycluster0-shard-00-01.mongodb.net:27017,mycluster0-shard-00-02.mongodb.net:27017
- SlaveOK:レプリカセット内のセカンダリ(スレーブ)サーバーからの読み取りを許可する場合は、true。
-
AuthScheme:LDAP 認証のPLAIN。
-
Database:読み書きするデータベース。
-
AuthDatabase:LDAP ユーザーで認証する場合は、"$external"。
-
User:Atlas ユーザー名としてLDAP サーバーにあるユーザーの完全な識別名(DN)。次に例を示します。
cn=rob,cn=Users,dc=atlas-ldaps-01,dc=myteam,dc=com
-
Password:LDAP ユーザーのパスワード。
-
UseSSL:true。Atlas はTLS / SSLを必要とします。
ObjectRocket
ObjectRocket に接続するには、データベースユーザーの資格情報を使用して認証します。コントロールパネルから必要な接続プロパティを取得できます。[インスタンス]ページでインスタンスを選択し、[接続]メニューを選択してMongoDB 接続文字列を表示します。
前提条件
データベースにユーザーを追加することに加えて、connector が接続しているマシンのIP アドレスへのアクセスも許可する必要があります。これを設定するには、[インスタンス]ページでインスタンスを選択し、[Add ACL]をクリックします。
MongoDB ユーザー
以下は、MongoDB ユーザーの資格情報を提供する接続文字列の例です。mongodb://YOUR_USERNAME:[email protected]:52826,abc123-d4-2.mongo.objectrocket.com:52826,abc123-d4-1.mongo.objectrocket.com:52826/YOUR_DATABASE_NAME?replicaSet=89c04c5db2cf403097d8f2e8ca871a1c
以下は、対応するconnector 接続プロパティです。
- Server:レプリカセットの最初のサーバー。サーバー名を取得するには、[レプリカセット]をクリックします。または、別のプライマリまたはセカンダリサーバーを指定できます(connector はServer とReplicaSet 内のサーバーをクエリしてプライマリを検索します)。
abc123-d4-0.mongo.objectrocket.com
- Port:サーバーが稼働しているポート(デフォルトは27017)。
- ReplicaSet:レプリカセット内の他のサーバー。Server とReplicaSet は、MongoDB レプリカセット内のすべてのインスタンスを一緒に指定します。
以下に値の例を示します。
abc123-d4-2.mongo.objectrocket.com:52826,abc123-d4-1.mongo.objectrocket.com:52826
- Database:読み書きするデータベース。これは、接続しているユーザーの認証データベースでもあることに注意してください。データベースユーザーは、ObjectRocket のデータベース外の他のデータベースと対話することはできません。
- User:Database に定義したMongoDB ユーザーのユーザー名。
- Password:データベースユーザーのパスワード。
- UseSSL:TLS / SSL を有効にする場合は、true。