Our Amazon Redshift is in private subnet an not open to internet. So we want to connect to Redshift from PowerBI online service.
So we installed powerBI desktop inside AWS VPC and able to connect to redshift as both of them are in same private subnet.
We installed on premise windows gateway inside the same private subnet from which db can be reachable.
Published the redshift pbix file to power bi service, but cannot connect to our redshift cluster.
Even the gateway doesn't show the option for redshift data source.
So my question is, How can we connect to redshift (which is not publicly available) from PowerBI service.
So finally after more research and implementation, here are my findings
1) To connect to private resources from PowerBI service we need to have a gateway inside that private network.
2) There is no data source available for RedShift (as of now) to configure in PowerBI online service, the best data source to use is ODBC. Install redshift ODBC driver on gateway instance. configure ODBC connector via PowerBI desktop upload, configure gateway in PowerBI online and it works.
This is what worked for us:
(Note: as of writing, Microsoft's On-Premises Data Gateways don't support the Redshift data source. You need to use the ODBC data source for scheduled refresh through the Data Gateway.)