This is the multi-page printable view of this section. Click here to print.

Return to the regular view of this page.

Overview of Vertica on Amazon Web Services (AWS)

Vertica clusters on AWS can operate on EC2 instances automatically provisioned using a CloudFormation Template, or manually deployed from Amazon Machine Images (AMIs).

Vertica clusters on AWS can operate on EC2 instances automatically provisioned using a CloudFormation Template, or manually deployed from Amazon Machine Images (AMIs).

You can create a database in either Eon Mode or Enterprise Mode in a Vertica cluster in AWS.

For more information about Amazon cluster instances and their limitations, see the Amazon documentation.

In this section

1 - CloudFormation templates

Vertica provides Cloud Formation Templates (CFTs) through the AWS Marketplace.

Vertica provides Cloud Formation Templates (CFTs) through the AWS Marketplace. After you provide a few parameters to the template, create a stack to automatically provision the AWS resources for your Vertica system.

After creating the stack, in the Management Console (MC) you can create and manage your clusters and databases. See Creating an Eon Mode database in AWS with MC or Creating an Enterprise Mode database in AWS with MC.

2 - Vertica offerings on AWS

Using the license models and CFTs described in CloudFormation Template (CFT) Overview, you can install the following Vertica products:.

Using the license models and CFTs described in CloudFormation template (CFT) overview, you can install the following Vertica products:

  • Vertica BYOL, Amazon Linux 2.0

  • Vertica by the Hour, Amazon Linux 2.0

  • Vertica BYOL, Red Hat

  • Vertica by the Hour, Red Hat

See Launch MC and AWS resources with a CloudFormation template for information on installing these products

3 - Vertica AMI operating systems for AWS

Vertica provides Vertica and Management Console AMIs in the following operating systems.

Vertica provides Vertica and Management Console AMIs in the following operating systems.

  • Red Hat 7.4 and later

  • Amazon Linux 2.0 and later

You can use the AMI to deploy MC hosts or cluster hosts.

4 - Supported AWS instance types

Vertica supports a range of Amazon Web Services instance types, each optimized for different purposes.

Vertica supports a range of Amazon Web Services instance types, each optimized for different purposes. Choose the instance type that best matches your requirements. The two tables below list the AWS instance types that Vertica supports for Vertica cluster hosts, and for use in MC. For more information, see the Amazon Web Services documentation on instance types and volumes.

Instance types for Vertica cluster hosts

Each Amazon EC2 Instance type natively provides one of the following storage options:

  • Elastic Block Store (EBS) provides durable storage: Data files stored on instance persist after instance is stopped.

  • Instance Store provides temporary storage: Data files stored on instance are lost when instance is stopped.

Optimization Instance Types Using Only EBS Volumes (Durable) Instance Types Using Instance Store Volumes (Temporary)
General purpose

m4.4xlarge

m4.10xlarge

m5.4xlarge

m5.8xlarge

m5.12xlarge

m5d.4xlarge

m5d.8xlarge

m5d.12xlarge

Compute

c4.4xlarge

c4.8xlarge

c5.4xlarge

c5.9xlarge

c3.4xlarge

c3.8xlarge

c5d.4xlarge

c5d.9xlarge

Memory

r4.4xlarge

r4.8xlarge

r4.16xlarge

r5.4xlarge

r5.8xlarge

r5.12xlarge

r3.4xlarge

r3.8xlarge

r5d.4xlarge

r5d.8xlarge

r5d.12xlarge

Storage

d2.4xlarge

d2.8xlarge

i3.4xlarge

i3.8xlarge

i3.16xlarge

i3en.3xlarge

i3en.6xlarge

i3en.12xlarge

Instance types available for MC hosts

Optimization Type Supports EBS Storage (Durable) Supports Ephemeral Storage (Temporary)
Computing

c4.large

c4.xlarge

c5.large

c5.xlarge

Yes

Yes

Yes

Yes

No

No

No

No

More information

For more information about Amazon cluster instances and their limitations, see Manage Clusters in the Amazon Web Services documentation.

5 - Choosing AWS Eon Mode instance types

This topic lists the recommended instance types to use in an Eon Mode database running in AWS.

This topic lists the recommended instance types to use in an Eon Mode database running in AWS.

Choose instance types that support ephemeral instance storage or EBS volumes for your depot, depending on cost and availability. It is not mandatory to have an EBS-backed depot, because in Eon Mode, a copy of the data is safely stored in communal storage. Vertica recommends either r4 or i3 instances for production clusters.

The following table provides information to help you make a decision on how to pick instances with ephemeral instance storage or EBS only storage. Check with AWS for the latest cost per hour.

Storage Type Instance Type Pros/Cons
Instance storage i3.8xlarge

Instance storage offers better performance than EBS attached storage through multiple EBS volumes. Instance storage can be striped (RAIDed) together to increase throughput and load balance I/O.

Data stored in instance-store volumes is not persistent through instance stops, terminations, or hardware failures.

EBS-only storage

r4.8xlarge with 600 GB

EBS volume attached

Newer instance types from AWS have only the EBS option. In most AWS regions, it's easier to provision a large number of instances.

You can terminate an instance but leave the EBS volume around for faster revive. Perserving the EBS will preserve the depot. While some of the cached files might have become stale, they will be ignored and evicted. Much of the cached data will not be stale. It will save time when the node revives and warms its depot.

Take advantage of full-volume encryption.

6 - Vertica AMI sleep c-states

By default, the following instances have their processor C-states set to a value of 1 in the Vertica AMI:.

By default, the following instances have their processor C-states set to a value of 1 in the Vertica AMI:

  • c4.8xlarge

  • d2.8xlarge

  • m4.10xlarge

This measure is meant to improve performance by limiting the sleep states that an instance running Vertica uses.

For more information about sleep states, visit the AWS Documentation.

7 - AWS features supported by Vertica

Vertica supports the following AWS features:.

Vertica supports the following AWS features:

  • Enhanced Networking: Vertica recommends that you use the AWS enhanced networking for optimal performance. For more information, see Enabling Enhanced Networking on Linux Instances in a VPC in the AWS documentation.

  • Command Line Interface: Use the Amazon command-line Interface (CLI) with your Vertica AMIs. For more information, see What Is the AWS Command Line Interface?.

  • Elastic Load Balancing: Use elastic load balancing (ELB) for queries up to one hour. When enabling ELB, configure the timer to 3600 seconds. For more information see Elastic Load Balancing in the AWS documentation.

8 - AWS authentication

Amazon defines two ways to control access to AWS resources such as S3: IAM roles and the combination of id, secrets, and (optionally) session tokens.

Amazon defines two ways to control access to AWS resources such as S3: IAM roles and the combination of id, secrets, and (optionally) session tokens. For long-term access to non-communal storage buckets, you should use IAM roles for access control centralization. You do not need to change your application's configuration if you want to change its access settings. You just alter the IAM role applied to your EC2 instances.

However, for one-time tasks like backing up and restoring the database or loading data to and from non-communal storage buckets, you should use an AWS access key.

Vertica uses both of these authentication methods to support different features and use cases:

  • An Eon Mode database's access to S3 for communal and catalog storage must always use IAM role authentication. IAM roles are the default access control method for AWS resources. Vertica uses this method if you do not configure the legacy access control session parameters.

  • Individual users can read data from S3 storage locations other than the ones Vertica uses for communal storage. For example, users can use COPY to load data into Vertica from an S3 bucket or query an external table stored on S3. If the IAM role assigned to the Vertica nodes does not have access to this external S3 data, the user must set an id, secret, and optionally an access token in session variables to authorize access to it. These session variables override the IAM role set on the server. See S3 parameters for a list of these session parameters.

  • Individual users can export data to S3 using the Vertica Library for AWS. This library cannot use IAM authorization. Users who want to export data to S3 using this library must set id, secret, and optionally access token values in session variables. See Configure the Vertica library for Amazon Web Services for details.

Configuring an IAM role

To configure an IAM role to grant Vertica to access AWS resources you must:

  1. Create an IAM role to allow EC2 instances to access the specific resources.

  2. Grant that role permission to access your resources.

  3. Attach this IAM role to each EC2 instance in the Vertica cluster.

To see an example of IAM roles for a Vertica cluster, look at the roles defined in one of the Cloud Formation Templates provided by Vertica. You can download these templates from any of the Vertica entries in the Amazon Marketplace. Under each entry's Usage Information section, click the View CloudFormation Template link, then click Download CloudFormation Template.

For more information about IAM roles, see IAM Roles for Amazon EC2 in the AWS documentation.