DIY Cloud Database on Amazon Web Services: Best Practices

Over the course of this paper, we cover the details of AWS infrastructure deployment, considerations for deploying your database server(s) in the cloud, and finish with an example overview of how to automate the deployment and management of a MongoDB cluster using ClusterControl.

Table of contents

  • 1. What is AWS / the Cloud?
    • 1.1. Objectives of this white paper
  • 2. Why the Cloud?
    • 2.1. Pros
      • 2.1.1. Rapid Deployment/Scalability
      • 2.1.2. Offsite backup “included”
      • 2.1.3. Low-friction DR capability
    • 2.2. Cons
      • 2.2.1. Security
      • 2.2.2. Third Party control of data
      • 2.2.3. High cost/Limitations of available HA solutions
  • 3. Deploying on AWS
  • 4. Deployment Architecture
    • 4.1. Deployment Prerequisites
      • 4.1.1. Command Line Tools
      • 4.1.2. IAM (Identity and Access Management) User
      • 4.1.3. Re-configure your AWS Command Line tools credentials
    • 4.2. Create your initial VPC
    • 4.3. Create Subnets
    • 4.4. Internet Access
    • 4.5. Route table
    • 4.6. VPC Gateway
    • 4.7. Host Dependencies
    • 4.8. Launching Hosts
    • 4.9. NAT Instances
    • 4.10. Geographical Redundancy
    • 4.11. Deployment Summary
    • 4.12. Database in the Cloud Considerations
      • 4.12.1. Instance Type
      • 4.12.2. Instance Storage
      • 4.12.3. Network Performance
    • 4.13. ClusterControl: Automating Database Management
    • in the Cloud
    • 4.14. Controlling and automating MongoDB in the Cloud
  • 5. In Conclusion

1. What is AWS / the Cloud?

Amazon Web Services is an Infrastructure as a Service platform, comprising a large number of independent and semi-independent services. The purpose of Infrastructure as a Service platforms is to offer, on a commodity basis, services that previously required the purchase of capital-intensive infrastructure components such as high-end servers, network routers and switches, and for larger enterprises, even their own datacenters.

1.1. Objectives of this white paper

The purpose of this white paper is to provide a step by step guide to building a deployment environment for your databases on AWS, to detail the configuration of such an environment, and to instruct on important performance considerations.

Want to read the rest?

Download the full whitepaper for free