Sprinkle Docs
Search…
AWS Redshift
Guide to integrate your Redshift with Sprinkle
This page covers the details about integrating Redshift with Sprinkle.
When setting up Redshift connection, Sprinkle additionally requires S3 bucket. This guide covers the role of all the components and steps to setup.
  • ​Integrating Redshift: All analytical data is stored and queried from Redshift warehouse
  • ​Create S3 Bucket: Sprinkle stores all intermediate data and report caches in this bucket

Step by Step Guide

Integrating Redshift

STEP-1: Allow Redshift to accept connection from Sprinkle

  • Redshift cluster should be there with Publicly Accessible as Enabled. If not, enable it.
  • Create a security group to allow inbound connection on port 5439 from Sprinkle IPs (34.93.254.126, 34.93.106.136).
  • Add the security group to your Redshift cluster.

STEP-2: Configure Redshift Connection

  • Log into Sprinkle application
  • Navigate to Admin -> Drivers -> Create Warehouse
  • Select Redshift
  • Provide all the mandatory details
    • Distinct Name: Name to identify this connection
    • JDBC URL : Redshift console -> Clusters -> Choose the cluster -> Copy the JDBC url from General Information. It will be of the following form jdbc:redshift://<xxxxx.xxxxxxxxxx>.redshift.amazonaws.com:5439/
    • Username
    • Password
  • SSH Tunnel in Redshift:
    • Connect via SSH Host: Click on "Yes" to configure SSH Tunnel.
    • SSH Host* : IP address or hostname of the SSH server
    • SSH Public Key* : Copy the SSH public key and paste it into the ~/.ssh/authorized_keys file of the SSH user on the ssh host machine
    • SSH Login Username* : Provide the SSH Login Username where you added the public key. Further, verify the provided details by testing the connection.
    • Networking rules from your end:
      • Make sure SSH Host has public IP
      • Whitelist Sprinkle IPs (34.93.254.126, 34.93.106.136) in your SSH Host. SSH host should be able to accept traffic from these Sprinkle IPs.
      • Make sure SSH port 22 is open.
      Once this setting is completed you can try test-connection and if successful, you can update the changes.
  • Test Connection
  • Create

Create S3 Bucket

Sprinkle requires S3 Bucket to store intermediate data and report caches. Follow the below steps to create and configure S3 bucket:

STEP-1: Create a S3 bucket

Create a S3 bucket, provide any name like β€œsprinkle” in the same location/region as the Redshift cluster.

STEP-2: Create an IAM user for S3 access

Create a new IAM user, provide any name like β€œsprinkle-s3-user”. Select credential type as Access key. Create an inline policy as below. Make sure to use the actual bucket name in place of BUCKET_NAME:
1
{
2
"Version": "2012-10-17",
3
"Statement": [
4
{
5
"Sid": "VisualEditor0",
6
"Effect": "Allow",
7
"Action": [
8
"s3:*"
9
],
10
"Resource": [
11
"arn:aws:s3:::<BUCKETNAME>/*",
12
"arn:aws:s3:::<BUCKETNAME>"
13
]
14
}
15
]
16
}
17
​
Copied!
From the credentials tab, get the Access Key Id and Secret Key of the IAM user.
STEP-3: Configure S3 connection in Sprinkle
  • Log into Sprinkle application
  • Navigate to Admin -> Drivers -> Create Storage
  • Select S3
  • Provide all the mandatory details
    • Distinct Name: Name to identify this connection
    • Access Key: Created in STEP-2
    • Secret Key: Created in STEP-2
    • Region: Region of the bucket, example: ap-south-1
    • Bucket Name: Name of the bucket created above
  • Test Connection
  • Create
​