Get Started with MongoDB Atlas and AWS CloudFormation
It's pretty amazing that we can now deploy and control massive systems
in the cloud from our laptops and phones. And it's so easy to take for
granted when it all works, but not so awesome when everything is broken
after coming back on Monday morning after a long weekend! On top of
that, the tooling that's available is constantly changing and updating
and soon you are drowning in dependabot PRs.
The reality of setting up and configuring all the tools necessary to
deploy an app is time-consuming, error-prone, and can result in security
risks if you're not careful. These are just a few of the reasons we've
all witnessed the incredible growth of DevOps tooling as we continue the
evolution to and in the cloud.
AWS CloudFormation is an
infrastructure-as-code (IaC) service that helps you model and set up
your Amazon Web Services resources so that you can spend less time
managing those resources and more time focusing on your applications
that run in AWS. CloudFormation, or CFN, let's users create and manage
AWS resources directly from templates which provide dependable out of
the box blueprint deployments for any kind of cloud app.
To better serve customers using modern cloud-native workflows, MongoDB
Atlas supports native CFN templates with a new set of Resource Types.
This new integration allows you to manage complete MongoDB Atlas
deployments through the AWS CloudFormation console and CLI so your apps
can securely consume data services with full AWS cloud ecosystem
support.
We created a helper project that walks you through an end-to-end example
of setting up and launching a MongoDB Atlas stack in AWS CloudFormation.
The
get-started-aws-cfn
project builds out a complete MongoDB Atlas deployment, which includes a
MongoDB Atlas project, cluster, AWS IAM role-type database user, and IP
access list entry.
You can also use the AWS Quick Start for MongoDB
Atlas
that uses the same resources for CloudFormation and includes network
peering to a new or existing VPC.

You're most likely already set up to run the
get-started-aws-cfn
since the project uses common tools like the AWS CLI and Docker, but
just in case, head over to the
prerequisites
section to check your development machine. (If you haven't already,
you'll want to create a MongoDB Atlas
account.)
The project has two main parts: "get-setup' will deploy and configure
the MongoDB Atlas CloudFormation resources into the AWS region of your
choice, while "get-started' will launch your complete Atlas deployment.
Run the get-started script:

Once the stack is launched, you will start to see resources getting
created in the AWS CloudFormation console. The Atlas cluster takes a few
minutes to spin up completely, and you can track the progress in the
console or through the AWS CLI.

Once your MongoDB Atlas cluster is deployed successfully, you can find
its connection string under the Outputs tab as the value for the
"ClusterSrvAddress' key.

The Get-Started project also has a helper script to combine the AWS and
MongoDB shells to securely connect via an AWS IAM role session. Check
out connecting to your
cluster
for more information.
What next? You can connect to your MongoDB Atlas cluster from the mongo
shell, MongoDB
Compass, or any of
our supported
drivers. We have
guides for those using Atlas with popular languages: Here's one for how
to connect to Atlas with
Node.js
and another for getting started with
Java.
Use the MongoDB Atlas CloudFormation Resources to power everything from
the most basic "hello-world' apps to the most advanced devops pipelines.
Jump start your new projects today with the MongoDB Atlas AWS
CloudFormation Get-Started
project!
If you have questions, please head to our developer community
website where the MongoDB engineers and
the MongoDB community will help you build your next big idea with
MongoDB.