You are here

Deploying NuoDB with Amazon Cloudformation

Update 5/22/2013: We are now keeping the NuoDB CloudFormation templates in a Github Repository. I have updated the instructions below to refer to the new location.

NuoDB 1.0.1 is now available as an AMI in the AWS Marketplace. This makes it really easy to deploy a NuoDB provisioned host on Amazon EC2 infrastructure; with one click you can have a single host domain up and running. At this point you can launch additional instances and scale out to multiple hosts. Seth described this process in his post on provisioning a domain.

But wait! Instead of launching instances one by one and configuring the domain yourself, let Amazon do it for you. Using Amazon’s CloudFormation service you can easily create a securely configured multi-host domain.

  1. If you haven’t already, visit the NuoDB AWS Marketplace listing and subscribe to our AMI by clicking the “Continue” button, selecting the “Launch with EC2 Console” tab and clicking the “Accept Terms” button. You must be subscribed to our AMI to use it with CloudFormation.
  2. Download our CloudFormation template. This file describes the configuration of AWS resources that will make up your domain. Note that each template is for a specific version of the NuoDB AMI. You will need to pick a template and then click on the “Raw” button at the top of the file and then save that file.
  3. From your AWS Management Console, open the CloudFormation service from the Deployment & Management section.
  4. Click on the Create Stack button.
  5. Create a stack with a name and upload the NuoDB template file that you downloaded in Step 2.
  6. You will be prompted for a few parameters (unfortunately there isn’t a way to specify the order of these parameters, so they might be a bit jumbled up)
    • NumberOfAgents – the number of NuoDB Agent instances to start. Each agent instance is a fully provisioned host on which you can start NuoDB processes.
    • DomainName - the name for the NuoDB doman that you are about to create.
    • DomainAdminUsername - the username for the NuoDB domain administrator. You will be able to use this account to log in to the NuoDB Console and administer your domain.
    • DomainAdminPassword - the password for the NuoDB domain administrator.
    • KeyName – the name of an existing EC2 KeyPair to enable SSH access to the instances. (Go to EC2 Management Console> Network & Security> KeyPairs for a list or to create a new key)
    • InstanceType – the NuoDB Agent EC2 instance type. Supported types are t1.micro, m1.small, m1.medium, m1.large, m1.xlarge, m2.xlarge, m2.2xlarge, m2.4xlarge.
  7. Continue through the rest of the Create Stack wizard (you don’t need to set anything else)
  8. You will now be able to see your new stack with the status CREATE_IN_PROGRESS. You can click on the Events tab on the lower half of the screen to see details about the specific steps.
  9. One everything is set up, your stack will have the status CREATE_COMPLETE (you might need to hit the refresh button for the status to update). The whole process will take a few minutes.
  10. The first instance that started is your domain’s broker and is running the NuoDB Console. To get started with your new domain, point a browser at http://<broker public DNS>:8080 (where <broker public DNS> is the public DNS name for your broker instance). Note that some of your agents may still be connecting to the broker, so it might take some time for all of them to show up.

That’s it. You now have a fully configured multi-host NuoDB domain that’s ready to start databases. For more information you can check out our AMI Documentation. One thing to keep in mind is that each instance has fairly limited local disk space, so while you can run Storage Managers with archives on the local filesystem, I would recommend mounting an additional EBS volume or archiving to Amazon S3. Give NuoDB with Amazon CloudFormation a try and let us know how it goes!

Add new comment