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.
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.
Important
Instance types that support EBS volumes support encrypting.
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
|
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.
|
Important
If you select instances that use instance store, if you then terminate those instances there is the potential for data loss. For Eon mode, MC displays an alert to inform the user of the potential data loss when terminating instances that support instance store.
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.
Important
If the database is running in Eon Mode, using id and secret authentication is more complex. In addition to having access to the external S3 data, any id that a user sets must be authorized to read from and write to the S3 storage locations that Vertica uses to store communal and catalog data. The queries that the user executes uses this id for all storage requests, not just those for accessing external S3 data. If the id does not have access to the catalog and communal storage, the user cannot execute queries.
Configuring an IAM role
To configure an IAM role to grant Vertica to access AWS resources you must:
-
Create an IAM role to allow EC2 instances to access the specific resources.
-
Grant that role permission to access your resources.
-
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.