Preparing to Deploy on AWS

To run NuoDB in AWS EC2, you launch hosts in EC2 using the EC2 Dashboard in the AWS Management Console and then install NuoDB and start NuoDB services on each host as required for your particular deployment. You can easily add and remove hosts to/from your NuoDB domain using NuoDB management tools, such as the Automation Console and the NuoDB Manager command line utility. Before you begin setting up your NuoDB domain, determine what types of EC2 instances you need.

Machine Size

The minimum instance type that enables NuoDB to work is m3.medium. This is unsuitable for production, but allows you to run small tests and NuoDB demos. The instance type m3.xlarge is the minimum that gets reasonable performance and is the least expensive option that also allows EBS optimization (see below).

See Amazon EC2 Instances for a full list of available instance types.

NuoDB recommends the following combination of instances for TEs and SMs, where level goes from least to most database use:

Level

TE

SM

0 m3.medium m3.medium
1 m4.large m4.large
2 m4.large r3.large
3 m4.large r3.xlarge
4 m4.xlarge i2.xlarge

See Managing Resources in AWS Deployments for useful resource setting recommendations, for example, database memory settings and JVM size.

EBS Optimization

NuoDB recommends that you create a distinct Amazon Elastic Block Storage (EBS) mount for every storage manager (SM) you intend to run. This isolates disk I/O for your database from other processes on the machine and allows for easier backup and restore. Amazon EBS–Optimized Instances are key for consistent disk I/O performance. For long running databases under steady load, the io1 volume type is necessary.

Internal and External Addressing Scheme

EC2 has both an internal and an external addressing scheme. This lets you configure hosts to allow

In other words, each host in the cloud is known by two names/addresses. The name/address that is used depends on the context.

By default, when you start a NuoDB broker, the broker peers into a domain by using the locally resolvable name or IP address. In the case of EC2, the internal IP address or name is used. To allow access by using the external addressing scheme, set the following two properties in the host's default.properties file:

With these properties set, the broker is providing both its internal name/address and its external name/address to all other brokers and processes in the domain.

With the altAddr and advertiseAlt properties set, a client outside the cloud can access a NuoDB database by using the external address, that is, the address specified by the altAddr property. For example, if altAddr is set to ec2-72-47-34-67.compute-1.amazonaws.com, then the nuosql utility can access the database as follows:

$ nuosql test@ec2-72-47-34-67.compute-1.amazonaws.com --user user_name --password password