MongoDB-as-a-Service in Your Own Amazon AWS Account

ScaleGrid provides a MongoDB-as-a-Service experience in your own AWS account. Take advantage of the benefits of a hosted MongoDB-as-a-Service solution without giving up the control of running your own MongoDB instances.

MongoDB-as-a-Service Advantages

  1. Security

    Don’t expose your production database to the internet. I’m a firm believer that databases should not be exposed unless absolutely needed. Restricting physical access to your database provides greater “defense in depth”. Keep your data secure through lock down access to your database using Amazon’s security groups.

  2. Cost

    Now that the instances are running in your account, you can buy reserved instances for them. On average, this should save you about 30-50% over running with other hosted providers. If you have AWS credits, you can actually bring them over to ScaleGtid and essentially eliminate your MongoDB hosting costs altogether.

  3. Amazon VPC support

    Bring your own AWS account allows you to run your MongoDB instances in an Amazon Virtual Private Cloud (VPC). This has all the security advantages outlined in #1, but also enables you to connect your servers to your on-premise network using VPN.

  4. Backups in S3/EBS snapshots

    Your backups get stored in your own S3 account or as EBS snapshots in your own account, resulting in extremely easy and secure storage.

Pricing 

In the ‘bring your own Azure account’ model, you get billed separately for the machines and for MongoDB management. Amazon AWS bills you for the machines and ScaleGrid will bill you for your MongoDB management.

The example below is a cost breakdown of running a Medium 2+1 Replica Set in your own AWS account. A Medium 2+1 Replica Set uses 3 instances - 2 AWS Medium instances + 1 Micro (arbiter). The cost calculation includes machine cost and the EBS provisioned IOPS volume cost across all the three machines, and also assumes reserved instances:

Number of instances :  3
AWS Machine cost:  $156/month
MongoDB management cost:  $122/month
Total cost:  $278.24

MongoDB-as-a-Service results in cost savings of almost 30% compared to other MongoDB hosting providers!

Custom IAM Policy Templates

We provide custom IAM policy templates when you deploy MongoDB in your own AWS account. Check out this blog post for more details – Configuring MongoDirector permissions on AWS using a custom IAM policy template

Step-by-step instructions

    1. Log into the console

      Log into the console at console.scalegrid.io and click on the cloud profiles tab in the top right corner of the screen. In the Machine Pool tab click on the “create” button in the action bar.

    2. AWS account

      The first step in the Create Cloud profile wizard is to enter your API and Secret Keys from your AWS account:

    3. AWS region

      Select the AWS region for the Cloud profile:

    4. Access policy

      This is a very important selection for the security of your MongoDB instances, as it controls who can access them. There are two possible options:

      1. Internet

        This exposes your MongoDB instances to the internet

      2. Security groups

        You can pick the security groups in your account that have access to your MongoDB instances.

        For your production instances, you would only give the security group containing your front-end servers access to the MongoDB databases. This setting can also be changed later after you create the machine pool.

    5. Name

      Enter a name for the security group:

    6. Deploy new instances

      Once the cloud profile is created it can be used as a target for the deployment of new instances.


Liked this post?

Join the ScaleGrid newsletter and never miss out!

Dharshan is the founder of ScaleGrid.io (formerly MongoDirector.com). He is an experienced MongoDB developer and administrator. He can be reached for further comment at @dharshanrg


  • Pingback: Getting started with MongoDB on AWS using MongoDirector()

  • Phyrom Ph

    Thank you Dharshan for your article. With regards to the data storage for MongoDB, would it be a case that we can use AWS S3 as database storage? The reason is that we want a cheaper operating expense as we do multi-tenant databases; therefore, there is no multiple concurrent access to the same data by so many users.

0 Shares
+1
Tweet
Share
Share
Pin