Create MongoDB Data Source
NineData supports adding various types and environments of data sources to the console for unified management. You can use database DevOps, backup and recovery, data replication, and database comparison features for data sources that have been added. This article introduces how to add a MongoDB data source to NineData.
Prerequisites
The server IP address of NineData has been added to the data source allowlist. Please refer to the image below for instructions on how to obtain the server IP address.
Make sure you have available data source quota; otherwise, the data source cannot be added. You can quickly check your remaining quota at the top-right corner of the NineData console.
Operation Steps
Log in to the NineData Console.
On the left navigation pane, click > .
- Click tab, and click on the page. In the popup window for selecting the data source type, choose > (the type of data source to be added), and configure the parameters based on the table below on the page.tip
If you make a mistake during the operation, you can click the
icon at the top of the page to make a new selection.
Configure the parameters of the data source:
Parameter Description Enter the name of the data source. To facilitate subsequent search and management, please use a meaningful name. Select the deployment architecture of your MongoDB data source, which supports the following three architectures: - : Enter the connection address and port number of the standalone MongoDB database.
- : Enter the connection address and port number of the primary node and replica nodes. Click to add multiple connection address input boxes.
- : Enter the connection address and port number of the mongos nodes. To ensure stable connection, it is recommended to enter all mongos nodes. Click to add multiple connection address input boxes.
Select the access method of the data source. It supports access through , , SSH Tunnel three methods. - : Access the data source through the public network address.
- : A secure and fast intranet access method provided by NineData, which requires the data source host to be connected first. For connection methods, please refer to Add Gateway.
- SSH Tunnel: Access the data source through an SSH tunnel.
selection of : The public network connection address and port of the data source. selection of - : Select the NineData gateway installed on the host where the data source is located.
- : Can be written as localhost (data source is on the local machine) or the intranet IP of the host where the data source is located.
selection of SSH Tunnel - : Enter the public IP or domain name of the server where the target data source is located, and the corresponding port number (the default port number for SSH service is 22).
- : Select the SSH authentication method.
- : Connect through (i.e., the server's login name) and (i.e., the server's login password).
- : Enter the login username of the server where the target data source is located.
- : Enter the login password of the server where the target data source is located.
- (recommended): Connect through and .
- : Enter the login username of the server where the target data source is located.
- : Click to upload the private key file, which is a key file without a suffix. If you have not created one yet, please refer to Generate SSH Tunnel Key File.
- : Enter the password set when the key file was generated. If you did not set a password during the key generation process, leave this field blank.
Note: After the SSH configuration is completed, you need to click the on the right, and there may be the following two results: - : Connect through (i.e., the server's login name) and (i.e., the server's login password).
- Prompt : Indicates that the SSH Tunnel has been established.
- Prompt error message: Indicates a connection failure, you need to troubleshoot the cause of the error and retry.
- : Can be written as localhost (data source is on the local machine) or the intranet IP of the host where the data source is located.
Select the deployment architecture type of MongoDB. - : Standalone deployment architecture, only one link address and port are required.
- : Replica set deployment architecture, usually includes one primary node and multiple secondary nodes. You can click the button below to enter multiple node addresses and ports.
- : Sharded cluster deployment architecture, composed of one or more shard nodes (mongos). You can click the button below to enter multiple shard node (mongos) addresses and ports.
Read Preference Optional when is , configure which node to distribute read traffic to. - Default: Default configuration, read traffic will be distributed to the Primary node.
- Primary: Distribute read traffic to the Primary node.
- Primary Preferred: If the Primary node is available, distribute read traffic to the Primary node, otherwise distribute to other available nodes.
- Secondary: Distribute read traffic to the Secondary node.
- Secondary Preferred: If the Secondary node is available, distribute read traffic to the Secondary node, otherwise distribute to other available nodes.
- Nearest: Automatically determine the current best node and distribute read traffic to that node.
The name of the authentication database to which your account belongs, default is admin
.The username of the data source. The password of the data source. Select the region closest to your data source location to effectively reduce network latency. Choose according to the actual business purpose of the data source, as an environmental identifier for the data source. Default provides and environments, and also supports you to create a custom environment.
Note: Under the organization mode, the database environment can also be applied to permission policy management, for example, the default role only supports access to data sources in the environment and cannot access data sources in other environments. For more information, please refer to Manage Roles.Whether to use SSL encryption to access the data source. If the data source enforces SSL encrypted connections, this switch must be turned on, otherwise the connection will fail. The configuration method for SSL, please refer to the official documentation: Configure MongoDB Encrypted Connection. After all configurations are completed, click the next to to test whether the data source can be accessed normally. If prompted with , you can click to complete the addition of the data source. Otherwise, please recheck the connection settings until the connection test is successful.
Appendix: Add NineData's IP Address to MongoDB Database Whitelist
When adding a data source located in , it is necessary to add the IP address of the NineData service to the MongoDB database whitelist to allow NineData to provide services.
This section takes MongoDB version 5.0 as an example to introduce how to add an IP whitelist.
Connect to MongoDB using a user with root privileges, and create or update an account for NineData access according to actual needs.
Create a new account: Create an account for NineData access through the following command, and authorize the corresponding role permissions for the account.
db.createUser{
user: "<account name>",
pwd: "<password>",
roles: [
{ role: "<role name>", db: "<database name>" },
],
authenticationRestrictions: [
{
clientSource: ["<NineData service IP address>"],
serverAddress: ["<MongoDB server IP address>"]
},
...
]
}Existing account: Add the NineData IP whitelist to the existing account and grant corresponding role permissions through the following command.
db.updateUser(
"<account name>",
{
roles : [
{ role: "<role name>", db: "<database name>" },
...
],
pwd: "<password>",
authenticationRestrictions: [
{
clientSource: ["<NineData service IP address>"],
serverAddress: ["<MongoDB server IP address>"]
},
...
]
)
Use the above account to add the MongoDB data source through the NineData console.