Neer Time

latest for all

Best Practices for Installing Tableau Server on AWS

Tableau Server is a powerful, enterprise-grade data visualization solution that makes it easy for people to analyze and share data. Tableau Server is a cloud-based platform that requires advanced administration skills and familiarity with Amazon Web Services (AWS). 

To help you get started with Tableau on AWS, this post covers best practices for deploying your first instance of the product on Amazon EC2 instances or an Elastic Compute Cloud (EC2) instance.

Use Instance Store Volumes

Instance store volumes are more cost-effective than EBS and faster than EBS, so use them for your data. Use m4.xlarge instances for Tableau Server’s heavy lifting, like processing queries and rendering dashboards in real time. M4 instances have 6 cores and 15 GB of memory per core, which is enough to handle the heavy lifting of Tableau Server analytics.

See also  Top 5 useful AI websites

Choose Proper Instance Types

When selecting instance types, use the smallest instance type possible. For example, if you’re planning on running one or two vCPUs of Tableau Server with a large amount of memory (16 GB or more), select the db2.8xlarge instance type instead of the db2.4xlarge or db2.8xmedium instances. Note that there are specific minimum requirements for each instance type for Tableau Server to run successfully:

  • db2 (Large): 1+ vCPUs and 16 GB RAM (32 GB recommended)
  • db2m (Medium): 1 vCPU and 8 GB RAM (16 GB recommended)
  • db2l (Large): 2+ vCPUs and 32–64GB RAM (64–128GB recommended)

Configure Security and Storage Groups

When you deploy Tableau Server on Amazon Web Services (AWS), it’s essential to use security groups and storage groups to control access to servers and data.

To secure your AWS deployments:

  • Create a group for each user who needs administrative privileges. If you’re using [email protected]@, these users are common contributors who don’t need full administrative rights.
  • Create another group for the administrators who need full permissions on Tableau Server.
  • Assign those groups to their respective services (IAM service terminology).
See also  Did You Lose Your Data? iTop Data Recovery to Your Rescue

Similarly, if you plan on sharing data with other organizations through Amazon S3 buckets or Glacier archives, create one or more storage groups (depending on how many projects will be stored) per project or organization that needs access.

Ensure Proper License Keys are in Place

Before you install Tableau on AWS, import your license keys into the AWS console. License keys are tied to your account and not specific to a server. They are also tied to the instance type (compute-optimized or storage-optimized), so make sure you plan appropriately when choosing your instance type based on what you need from Tableau Server.

Enable Auto-Scaling

Auto-scaling is a helpful feature that allows you to automatically scale up or down your Tableau Server instance based on demand. If you have a lot of traffic, auto-scaling will automatically increase the size of your Tableau server instance to handle the load. Conversely, if there’s not much traffic, auto-scaling will decrease the size of your Tableau server instance so that it costs less to run.

See also  Scraping Like a Pro With Python Requests Library

Leverage Tableau Server REST API for Custom Scripts

  • Use the Tableau Server REST API for Custom Scripts
  • Leverage Tableau Server REST API for Custom Scripts

Tableau’s server rest API makes it easy to execute custom scripts against your data. You can use these scripts to automate routine processes, such as creating extracts and refreshing data sources, without working within an app like Tableau desktop (which is limited by its UI). It can be beneficial when dealing with large amounts of data or you must perform a task repeatedly.


To summarize, there are many ways to deploy Tableau on AWS. Depending on your requirements, it can be done in minutes or hours, and you don’t need any special tools or knowledge. The best practice is probably to start small with one instance, then scale up as needed as you learn what works best for your use cases.