Skip to main content

Install Databases on Amazon RDS

As needed, the Alteryx databases can be installed as PostgreSQL DBs on Amazon RDS. Amazon Relational Database Service (Amazon RDS) makes it easy to set up, operate, and scale a relational database in the cloud.

Limitations

In Amazon RDS, databases must be installed in a supported version of PostgreSQL.

Note

For more information on upgrading the version of PostgreSQL in use on your RDS instance, see https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.PostgreSQL.html.

Pre-requisites

Note

You can use the suggested defaults below for sizing your RDS instance. If you have questions or concerns about sizing recommendations, please contact Alteryx Support.

Initialize RDS instance

Steps:

  1. In your RDS dashboard, click Launch a DB instance.

    Note

    The RDS instance must be launched in the same Amazon region as the Trifacta node.

  2. For Select Engine: Select PostgresSQL.

  3. For Production?: Choose Yes if you are deploying the database for a production instance of the Designer Cloud Powered by Trifacta platform. Otherwise, select No.

  4. DB Engine: postgres

  5. For the DB details, see below:

    Note

    Except as noted below, properties should be specified according to your enterprise requirements.

    1. Instance Specifications:

      1. License Model: postresql-license

      2. DB Engine Version: For more information on the supported versions of PostgreSQL, see System Requirements in the Planning Guide.

      3. Allocated Storage: at least 10 GB

  6. For Advanced Settings, please apply the following settings:

    1. Network and Security:

      1. VPC security group must allow for access from the Designer Cloud Powered by Trifacta platform.

    2. Database Options:

      1. Database Name: trifacta

      2. Database Port: 5432

        1. The port number can be changed as needed. See System Ports in the Planning Guide.

  7. Populate other properties according to your enterprise requirements.

  8. To complete the set up click Launch DB Instance.

  9. Create a master username and password for the DB instance.

    Note

    In the configuration instructions listed below, this master username is referenced as: trifacta_rds.

  10. When the RDS DB instance is up and running, please collect the following information, which is used later:

    1. Public DNS

    2. Port Number

    3. Admin username

    4. Admin password

Configure the Designer Cloud Powered by Trifacta platform for RDS

Please complete the following steps to integrate the Designer Cloud Powered by Trifacta platform with the DB instance you just created.

Steps:

  1. In the RDS console, you must find the Public DNS endpoint for the RDS instance you created:

    1. Under Instances, expand the name of the instance you created.

    2. The DNS endpoint should be listed under the name in the Endpoint section.

  2. Set the host for each database to the Public DNS endpoint for the RDS instance:

    Database

    Parameter

    Main database

    webapp.database.host

    Jobs database

    batch-job-runner.database.host

    Scheduling database

    scheduling-service.database.host

    Time-based Trigger database

    time-based-trigger-service.database.host

    Configuration Service database

    configuration-service.database.host

    Artifact Storage Service database

    artifact-storage-service.database.host

    Job Metadata Service database

    job-metadata-service.database.host

    Authorization Service database

    authorization-service.database.host

    Orchestration Service database

    orchestration-service.database.host

    Optimizer Service database

    optimizer-service.database.host

    Secure Token Service database

    secure-token-service.database.host

    Connector Configuration Service database

    connector-configuration-service.database.host

    For more information, see Database Parameter Reference.

  3. To set custom database names, usernames, and passwords:

    1. Edit trifacta-conf.json.

    2. For each database, you can review the database name, username, and password.

      Database

      Parameter area

      Main database

      webapp.database.*

      Jobs database

      batch-job-runner.database.*

      Scheduling database

      scheduling-service.database.*

      Time-Based Trigger database

      time-based-trigger-service.database.*

      Configuration Service database

      configuration-service.database.*

      Artifact Storage Service database

      artifact-storage-service.database.*

      Job Metadata Service database

      job-metadata-service.database.*

      Authorization Service database

      authorization-service.database.*

      Orchestration Service database

      orchestration-service.database.*

      Optimizer Service database

      optimizer-service.database.*

      Secure Token Service database

      secure-token-service.database.*

      Connector Configuration Service database

      connector-configuration-service.database.*
    3. Make changes in the file as needed and save.

Create the databases

Note

For the host, port, username, and password values in the following configuration, use the public DNS value for the RDS instance.

From the Alteryx node, switch to the Postgres user and run the following commands against the RDS Host for the master username:

su - postgres
psql -h <endpoint of RDS Instance> -U trifacta_rds postgres

Note

postgres is the name of the existing/default database.

Please do the following for each database, which initializes the DB and assigns the trifacta role to the trifacta_rds master username:

Alteryx database:

CREATE ROLE trifacta LOGIN ENCRYPTED PASSWORD '<pwd_trifacta>';
GRANT trifacta TO trifacta_rds;
CREATE DATABASE "trifacta" WITH OWNER trifacta;

Jobs database:

CREATE ROLE trifactaactiviti LOGIN ENCRYPTED PASSWORD '<pwd_trifactaactiviti>';
GRANT trifactaactiviti TO trifacta_rds;
CREATE DATABASE "trifacta-activiti" WITH OWNER trifactaactiviti;

Time-based trigger service database:

CREATE ROLE trifactatimebasedtriggerservice LOGIN ENCRYPTED PASSWORD '<pwd_trifactatimebasedtriggerservice>';
GRANT trifactatimebasedtriggerservice TO trifacta_rds;
CREATE DATABASE "trifactatimebasedtriggerservice" WITH OWNER trifactatimebasedtriggerservice;

Scheduling service database:

CREATE ROLE trifactaschedulingservice LOGIN ENCRYPTED PASSWORD '<pwd_trifactaschedulingservice>';
GRANT trifactaschedulingservice TO trifacta_rds;
CREATE DATABASE "trifactaschedulingservice" WITH OWNER trifactaschedulingservice;

Configuration Service database:

CREATE ROLE trifactaconfigurationservice LOGIN ENCRYPTED PASSWORD '<pwd_trifactaconfigurationservice>';
GRANT trifactaconfigurationservice TO trifacta_rds;
CREATE DATABASE trifactaconfigurationservice WITH OWNER trifactaconfigurationservice;

Artifact Storage Service database:

CREATE ROLE trifactaartifactstorageservice LOGIN ENCRYPTED PASSWORD '<pwd_trifactaartifactstorageservice>';
GRANT trifactaartifactstorageservice TO trifacta_rds;
CREATE DATABASE trifactaartifactstorageservice WITH OWNER trifactaartifactstorageservice;

Job Metadata Service database:

CREATE ROLE trifactajobmetadataservice LOGIN ENCRYPTED PASSWORD '<pwd_trifactajobmetadataservice>';
GRANT trifactajobmetadataservice TO trifacta_rds;
CREATE DATABASE trifactajobmetadataservice WITH OWNER trifactajobmetadataservice;

Authorization Service database:

CREATE ROLE trifactaauthorizationservice LOGIN ENCRYPTED PASSWORD '<pwd_trifactaauthorizationservice>';
GRANT trifactaauthorizationservice TO trifacta_rds;
CREATE DATABASE trifactaauthorizationservice WITH OWNER trifactaauthorizationservice;

Orchestration Service database:

CREATE ROLE trifactaorchestrationservice LOGIN ENCRYPTED PASSWORD '<pwd_trifactaorchestrationservice>';
GRANT trifactaorchestrationservice TO trifacta_rds;
CREATE DATABASE trifactaorchestrationservice WITH OWNER trifactaorchestrationservice;

Optimizer Service database:

CREATE ROLE trifactaoptimizerservice LOGIN ENCRYPTED PASSWORD '<pwd_trifactaoptimizerservice>';
GRANT trifactaoptimizerservice TO trifacta_rds;
CREATE DATABASE trifactaoptimizerservice WITH OWNER trifactaoptimizerservice;

Secure Token Service database:

CREATE ROLE trifactasecuretokenservice LOGIN ENCRYPTED PASSWORD '<pwd_trifactasecuretokenservice>';
GRANT trifactasecuretokenservice TO trifacta_rds;
CREATE DATABASE trifactasecuretokenservice WITH OWNER trifactasecuretokenservice;

Connector Configuration Service database:

Note

The default values for this database do not follow the naming conventions for other databases.

CREATE ROLE trifactaconnectorconfigservice LOGIN ENCRYPTED PASSWORD '<pwd_trifactaconnectorconfigservice>';
GRANT trifactaconnectorconfigservice TO trifacta_rds;
CREATE DATABASE trifactaconnectorconfigservice WITH OWNER trifactaconnectorconfigservice;

Configure non-default connections

If you have used non-default values for the username, password, host, or port value for either database, you must update platform configuration. For more information, see Database Parameter Reference.

Logging

  1. To review database logs in RDS, locate the Instance details page in the RDS console.

  2. Click Recent Events and Logs.

  3. If your account has the appropriate permissions, all Alteryx database logs are available here.