Skip to main content

Hi all, hoping someone who's been through this can sanity-check our approach before we provision more infrastructure. 

What we're trying to do 

We have 10+ existing production dashboards on Tableau Cloud that currently point at a publicly-accessible Redshift cluster. We're migrating them to a new Redshift cluster that sits inside a private AWS VPC. The dashboards have to stay exactly as they are - same layout, calcs, filters. Rebuilding from scratch isn't an option at the moment. 

What's working 

Bridge is set up and healthy: 

  • Dedicated pool created (not the default pool), status Ready
  • Bridge client installed on an EC2 inside the VPC, connected, assigned to the pool
  • Redshift host in the Private Network Allowlist, mapped to that pool
  • Security group on the cluster allows 5439 from the Bridge instance
  • Credentials verified — can browse schemas and tables through the connection

 

Changing the connection and creating an extract from within the Tableau Cloud workbook editor works fine, and the job details confirm it routed through Bridge. 

  

What's failing

 

  

Every scheduled or manual extract refresh fails with: 

 

This server violates the ip allowlist/blocklist restrictions

Unable to connect to the Amazon Redshift server "<our-cluster>.<our-region>.redshift.amazonaws.com"

 

We tried deleting and recreating the schedule, reassigning the Bridge client to the pool, and reverifying the allowlist mapping. Same result every time. 

  

What we think is going on

 

 

From the Limitations section of the embedded data sources doc (

help.tableau.com/current/online/en-us/to_bridge_eds.htm

), workbooks published via the REST API or uploaded through the Tableau Cloud web interface don't support Bridge refreshes when data sources are embedded. Ours was published using "Publish As" from web authoring, so we think that's the cause. The documented workarounds are to publish from Tableau Desktop, or publish the data source separately and connect the workbook to it. 

 

Where we've got stuck

 

  

We hit three walls trying to follow those workarounds: 

 

  1. Repointing an existing workbook to a published data source is a Replace Data Source operation, and per the docs that's Tableau Desktop only, not available in Tableau Cloud.
  2. We can't publish one of our two data sources separately (for one of our workbooks but there are some other as well in similar structure) anyway, Desktop greys it out with "Data sources with calculations that reference other data sources must be embedded."
  3. We installed Tableau Desktop and the Amazon Redshift ODBC 2.x driver locally and tried connecting directly. It times out. An nslookup shows the hostname resolves to a private IP via a VPC endpoint, so the cluster genuinely isn't reachable from outside the VPC. No firewall or SG change fixes that, if I am not wrong.

 

Our workbook is also 63 MB, over the 50 MB web upload limit, so uploading through the web UI isn't an option regardless. 

  

Questions

 

 

  1. Has anyone confirmed that publishing a workbook from Tableau Desktop actually resolves the embedded-data-source Bridge refresh issue when the source is in a private VPC specifically? The docs say it should, but we haven't validated it end-to-end yet and don't want to build infrastructure on an assumption.
  2. Is running Tableau Desktop on a VM inside the VPC the normal approach for this, or is there a cleaner pattern we're missing? 
  3. Is there any supported way to repoint an existing workbook from an embedded data source to a published data source without Desktop? 
  4. More generally, if you've migrated a set of existing workbooks to a private VPC data source, what did your process actually look like? Trying to settle on the right pattern before repeating it 10+ times.

 

Happy to share more detail if useful. Thanks in advance. 

 

#Tableau Cloud

4 respuestas
  1. 18 ago, 15:31

    @Suryavamshi Sirigadhi

     

    Well it seems your workbook was published using REST API or the upload function. Then, I suggest you to: 

     

    a. Change the server name in the workbook connections in Tableau Cloud. 

    b. Download Tableau Desktop (it could be in  your machine) 

    b. Open Tableau Desktop and Sign in into Tableau Cloud (Server Menu -> Sign in) 

    c. Then Open the workbook (server menu -> Open Workbook) 

    d. Save the workbook 

    e. Publish with a different name, don't embed credentials 

    f. In Tableau Cloud, go to the workbook, and then to the datasources tab, edit the connection and add the credentials. 

    g. Try refreshing the workbook datasources in Tableau Cloud. 

     

    Note that the steps involving Tableau Desktop did not need any refresh step, just download, save, and publish without embedding credentials. 

     

    If this post resolves the question, would you be so kind to "Accept this Answer"?. This will help other users find the same answer/resolution and help community keep track of answered questions. Thank you. 

     

    Regards, 

     

    Diego Martinez 

    Tableau Visionary and Tableau Ambassador 

0/9000