How to Connect Mongo DB with AWS using ATLAS?
Last Updated :
19 Oct, 2023
The MongoDB Atlas provides the Application deployment solution by MongoDB hosting on AWS. MongoDB Atlas handles operational tasks such as backups, updates, and security configurations.
There are many ways to connect MongoDB with AWS depending on specific use cases and requirements:
- MongoDB Atlas (Fully managed by MongoDB and runs on AWS infrastructure): High availability, scalability, and security are all provided, and it makes database maintenance jobs simpler.
- EC2 instance hosted MongoDB (Manually set up MongoDB on AWS EC2 instance): MongoDB was manually installed on AWS EC2 instances. Set security groups up to let incoming traffic to SSH (port 22) and MongoDB (default port 27017) for secure access. SSH can be used to access your EC2 instance and communicate with MongoDB. gives you full control over your MongoDB deployment.
As we have discussed only two ways but there are many ways, now we are going to see how to connect MongoDB with AWS using ATLAS in detail. However, the fully managed MongoDB Atlas database service for modern applications ensures availability, scalability, and security compliance. Developers and DevOps professionals choose the best deployment solution based on application architecture, scalability needs, security requirements, and operational preferences. With the MongoDB cloud platform, you can expand your data with features like full-text search, mobile sync, and automated data tiering.
For contemporary applications, however, the fully managed MongoDB Atlas database service ensures availability, scalability, and security compliance. Depending on the application architecture, scalability needs, security requirements, and operational preferences, developers and DevOps experts select the best deployment solution. You can increase the amount of data in your database by utilizing MongoDB's cloud platform's full-text search, mobile sync, and automated data tiering features.
Types Of Deployment In MongoDB Atlas
- Deploy MongoDB Atlas with VPC peering into a new VPC (end-to-end deployment): This option creates a project, cluster, and other components of a full MongoDB Atlas environment within AWS.
- Deploy MongoDB Atlas without VPC peering this option connects your current VPC and MongoDB Atlas.
- Deploy MongoDB Atlas with VPC peering into an existing VPC: This option peers MongoDB Atlas with a new VPC.
- Deploy MongoDB Atlas with Private Endpoint: This option connects MongoDB Atlas AWS VPC using Private Endpoint
Each option creates a corresponding MongoDB database user and AWS IAM role for increased security. We're going to deploy MongoDB Atlas end-to-end using VPC peering into a new VPC. This option creates a project, cluster, and other components of a full MongoDB Atlas environment within AWS. Set up MongoDB Atlas to connect MongoDB with AWS services by performing the following steps:
Section 1: MongoDB Atlas Setup
Step 1. Sign Up/Login for MongoDB Atlas. if you don't have an account of MongoDB then just Sign Up: (https://www.mongodb.com/cloud/atlas/signup). After creating an account, log in to your MongoDB Atlas account.
.jpg)
Step 2: Create a new project. For the new project go to project->New Project-> Enter the name of project -> add members and set permissions-> finally create a project. the steps are as follows:
.jpg)
Step 3: Create new Cluster on MongoDB ATLAS Dashboard: create new cluster->select preferred machine, cloud provider (AWS) and select preferred machine and cloud provider (AWS).
.jpg)
.jpg)
.jpg)
Step 4: Whitelist Your IP Address.MongoDB Atlasa restricts access to your cluster by default. You need to add your IP address to the cluster's IP whitelist to allow your applications to connect. Add IP addresses access list using add list. In this case, I am making it public IP(0.0.0.0/0) address so anyone can access it
.jpg)
If this option not showing to you while creating a cluster then you need to go MongoDB Atlas dashboard under the Security section -> Network Access ->Add IP Address.
.jpg)
Step 5: Create a Database User. You'll need a database user to connect to your MongoDB Atlas cluster. In the MongoDB Atlas dashboard: ->Database Access ->Add New Database User -> Create username and password -> Specify databases this user can access(mostly Atlas Admin)-> Add User.
.jpg)
.jpg)
.jpg)
.jpg)
Section 2: Connecting to MongoDB Atlas
Step 6: Connect to Your MongoDB Atlas Cluster.In the database section click on cluster-> connect-> you will get 5 options for connect with cluster-> 1. Drivers 2.Compass 3. Shell 4.MongoDb for VS code 5.Atlas SQL. For now, we are going with MongoDB for VS code to connect with the MongoDB cluster with VS Code
.jpg)
.jpg)
.jpg)
There are 4 more options for connecting with cluster using :
- Drivers
- Compass
- Shell
- MongoDb for VS code
- Atlas SQL
you can also use other options according to your need for your application.
Section 3: Testing the Connection
Step 7: MongoDB for VS code Extension.MongoDB for VS code Extension allows us to connect with the MongoDB ATLAS cluster.
.jpg)
In VS Code, open the Command Palette: Click on View->Command Palette->Paste your connection string into the Command Palette which is
"mongodb+srv://<username>:<password>@cluster0.tqxhzq5.mongodb.net/"
Replace <password> with the password for the <username> user, in my case
"mongodb+srv://yogesh:[email protected]/"->
then press Enter or you can use the connect button or "ctrl + shift+ p" to paste the connection string in the Command Palette.click on Create New Playground
.jpg)
Default insert data Queries will given to run for testing purposes
Step 7: Test the connection.Run Queries of MongoDB to insert data in the collection of MongoDB ATLAS
.jpg)
The data is gets inserted using the insertMany() function of MongoDB Query.After running the Queries, the data is inserted into the collection of Database in the MongoDB ATLAS. You can see the data is inserted in the sales collection
.jpg)
All done! Now that you've used MongoDB Atlas, you should be able to connect your application to MongoDB which is hosted on AWS. Consider using environment variables or a secrets manager to store sensitive information, such as database credentials, and be sure to keep your connection strings and credentials secure.
Similar Reads
Non-linear Components In electrical circuits, Non-linear Components are electronic devices that need an external power source to operate actively. Non-Linear Components are those that are changed with respect to the voltage and current. Elements that do not follow ohm's law are called Non-linear Components. Non-linear Co
11 min read
Spring Boot Tutorial Spring Boot is a Java framework that makes it easier to create and run Java applications. It simplifies the configuration and setup process, allowing developers to focus more on writing code for their applications. This Spring Boot Tutorial is a comprehensive guide that covers both basic and advance
10 min read
Class Diagram | Unified Modeling Language (UML) A UML class diagram is a visual tool that represents the structure of a system by showing its classes, attributes, methods, and the relationships between them. It helps everyone involved in a projectâlike developers and designersâunderstand how the system is organized and how its components interact
12 min read
Steady State Response In this article, we are going to discuss the steady-state response. We will see what is steady state response in Time domain analysis. We will then discuss some of the standard test signals used in finding the response of a response. We also discuss the first-order response for different signals. We
9 min read
Backpropagation in Neural Network Back Propagation is also known as "Backward Propagation of Errors" is a method used to train neural network . Its goal is to reduce the difference between the modelâs predicted output and the actual output by adjusting the weights and biases in the network.It works iteratively to adjust weights and
9 min read
Polymorphism in Java Polymorphism in Java is one of the core concepts in object-oriented programming (OOP) that allows objects to behave differently based on their specific class type. The word polymorphism means having many forms, and it comes from the Greek words poly (many) and morph (forms), this means one entity ca
7 min read
3-Phase Inverter An inverter is a fundamental electrical device designed primarily for the conversion of direct current into alternating current . This versatile device , also known as a variable frequency drive , plays a vital role in a wide range of applications , including variable frequency drives and high power
13 min read
What is Vacuum Circuit Breaker? A vacuum circuit breaker is a type of breaker that utilizes a vacuum as the medium to extinguish electrical arcs. Within this circuit breaker, there is a vacuum interrupter that houses the stationary and mobile contacts in a permanently sealed enclosure. When the contacts are separated in a high vac
13 min read
AVL Tree Data Structure An AVL tree defined as a self-balancing Binary Search Tree (BST) where the difference between heights of left and right subtrees for any node cannot be more than one. The absolute difference between the heights of the left subtree and the right subtree for any node is known as the balance factor of
4 min read
CTE in SQL In SQL, a Common Table Expression (CTE) is an essential tool for simplifying complex queries and making them more readable. By defining temporary result sets that can be referenced multiple times, a CTE in SQL allows developers to break down complicated logic into manageable parts. CTEs help with hi
6 min read