Deploy Exasol Personal on AWS

This article explains how to deploy Exasol Personal on AWS.

This article describes step-by-step how to deploy Exasol Personal in your AWS environment using Exasol Launcher, and how to connect to your database when it is up and running.

Prerequisites

  • An AWS account that can provision large type instances. Exasol launcher by default uses the r6i.large EC2 instance type.

  • An AWS user with enough permissions to create resources such as EC2 instances.

To learn how to set up an AWS account with an instance profile and configure your local environment to use that profile when installing Exasol Personal, see Set up an AWS account for Exasol Personal.

Deploy Exasol Personal

  1. Download Exasol Launcher for your platform.

    All platforms:

    Download Exasol Launcher from the Exasol Download Portal.

    On Linux and macOS, run chmod a+x ./exasol in the directory where you downloaded the binary to make it executable.

    Linux and macOS:

    On Linux and macOS, you can use the following command in a terminal to download the Exasol Personal binary and make it executable in a single operation:

    Copy
    curl -O https://x-up.s3.eu-west-1.amazonaws.com/releases/exasol-personal/<os>/<arch>/<version>/exasol && chmod a+x ./exasol

    Replace <os>/<arch> with your operating system and architecture. The following combinations are valid:

    linux/arm64  linux/x86_64  macos/arm64   macos/x86_64

    Replace <version> with the version of Exasol Launcher. We recommend that you always use the latest version. For more information about available versions, see Exasol Download Portal.

    Example:
    Copy
    curl -O https://x-up.s3.eu-west-1.amazonaws.com/releases/exasol-personal/linux/x86_64/1.0.0/exasol && chmod a+x ./exasol
  2. Create a new directory deployment and change into the directory:

    Copy
    mkdir deployment && cd deployment
  3. Configure the AWS_PROFILE environment variable to use the instance profile that you created in your AWS account for Exasol Personal.

    See also Set up an AWS account for Exasol Personal.

    Examples:

    If the profile name is exasol:

    Copy
    # Linux / macOS (Bash)
    export AWS_PROFILE=exasol
    Copy
    # Windows (PowerShell)
    $env:AWS_PROFILE = "exasol"
  4. To install Exasol Personal, run the following command:

    Copy
    ../exasol install

    The exasol install command does the following:

    • Generates Terraform files in the deployment directory

    • Provisions the necessary AWS infrastructure with Terraform

    • Starts up the AWS infrastructure

    • Downloads and installs Exasol Personal on that infrastructure

    The whole process normally takes about 10 to 20 minutes to complete.

When the deployment process has finished, you will see instructions on how to connect to your Exasol database using a client of your choice. You can also find this information at any time by using exasol info in the terminal.

Most exasol commands must be run from the context of the deployment directory. Change into the deployment directory before you run any exasol commands, and prepend the command with the relative path to the binary. For example: ../exasol <command>.

To avoid having to prepend the all exasol commands with the path to the binary, you can add the path to your PATH environment variable. For more information about how to set environment variables, refer to the documentation for your operating system.

Choosing cluster size and instance types

The launcher will by default generate Terraform files to install one Exasol node on one Amazon EC2 instance of the type r6i.xlarge. To change the number of nodes and the EC2 instance type to use in the deployment, use the --cluster-size and --instance-type options:

Copy
../exasol install --cluster-size <number> --instance-type <string>

If the deployment process is interrupted, EC2 instances that were created by the process will not be terminated and may therefore continue to accrue cost. In case of an aborted deployment you must log in to the AWS console and manually terminate those instances.

Additional help

  • For more help on how to use Exasol Launcher, use exasol help or exasol install --help.

  • For information about your deployment and how to connect to it, use exasol info.

All information about the deployment can also be found in the file deployment-exasol-<play_id>.json in the deployment directory. The play ID is a unique identifier for the deployment.

Start and stop Exasol Personal

To save costs, you can temporarily stop Exasol Personal by using the following command (in the deployment directory):

Copy
../exasol stop

This stops the EC2 instance(s) that Exasol Personal is running on.

Networking and data volumes that the database data is stored on will continue to incur costs when instances are stopped.

To start Exasol Personal again, use the following command:

Copy
../exasol start

The IP addresses of the nodes will change when you restart Exasol Personal. Check the output of the start command to know how to connect to the deployment after a restart.

Remove Exasol Personal

To completely remove an Exasol Personal deployment, use exasol destroy. This command will terminate the EC2 instance and delete it and all associated resources in AWS.

To learn more about this command, use exasol destroy --help.

Deleting the deployment directory and the Exasol Launcher will not remove the resources that were created in your AWS account. To completely remove a deployment, you must use the exasol destroy command.

If you have already deleted the deployment directory and the exasol binary, you must log in to the AWS console and manually terminate the EC2 instances and associated resources.

Next steps

Connect to your database

Once the deployment process is complete, use exasol info for information about how to connect to your Exasol database. The credentials for connecting to the database from a client are stored in the file secrets-exasol-<play_id>.json in the deployment directory.

You can also use the built-in SQL client in Exasol Launcher to connect directly to the database from the command line:

Copy
../exasol connect
  • To learn more about how you can connect to your Exasol database and start loading data using the many supported tools and integrations, see Connect to Exasol and Load Data.

  • To learn how to use the SQL statements, data types, functions, and other SQL language elements that are supported in Exasol, see SQL reference.

Exasol Admin

Exasol Admin is an easy-to-use web interface that you can use to administer your new Exasol database. Instructions for how to access Exasol Admin is shown in the terminal output at the end of the install process.

  • To find the Exasol Admin URL after the installation has completed, use exasol info.

  • The credentials for connecting to Exasol Admin are stored in the file secrets-exasol-<play_id>.json in the deployment directory.

Your browser may show a security warning when connecting to Exasol Admin because of the self-signed certificate. Accept this warning and continue.

To learn more about how to use the Exasol Admin web interface, see Exasol Admin.

Connect using SSH

To connect with SSH to the EC2 instance that your Exasol database is running on, use exasol diag shell.