Tableau:安装Tableau Bridge以访问私人网络中的数据库服务器

1,070 阅读6分钟

要访问一个没有公共访问权限的数据库服务器(因为它必须是--只能在AWS VPC内访问),Tableau建议使用其名为Tableau Bridge的工具。

这个想法是在网络中运行一个Bridge服务,它可以通过其私有IP访问数据库服务器。另外,Bridge在通过互联网进行转换的过程中会进行数据加密。

总的来说,Tableau做了很多关于其Bridge的文档,但对我来说,这些文档有点不完整。

例如,我的第一个问题是 - Bridge服务是否需要在运行Tableau Desktop的同一台机器上运行?还是可以托管在另一台电脑上?文档中没有提到这一点,我不得不问技术支持,他们首先告诉我,他们可以在不同的实例上运行。但后来发现,你仍然需要从一台有桌面的电脑上访问,才能添加新的数据源。

另外,很奇怪的是,Bridge的网络层是如何工作的?连接是如何被路由的?为什么不可能在办公室里有一台装有Bridge和Desktop的PC,在数据库服务器的网络上有另一台只有Bridge的PC,然后在它们之间路由请求?

不幸的是,Tableau的文档并没有透露这些细节。请看这里。使用Bridge来保持数据的新鲜度,并计划你的Bridge部署

因此,在这篇文章中,我们将用Wirfows启动一个EC2,将在那里安装Tableau Bridge客户端,即Tableau Desktop,并将通过私人网络链接添加一个新的连接到一个新的数据库服务器,以便以后在Tableau Online中使用它。

AWS Windows EC2

选择Windows Server 2019。

目前,我们可以使用_t3.large_ ,因为我们有Windows,加上Tableau Bridge是用Java编写的,所以会消耗一些资源。

选择一个VPC,我们的数据库服务器将被托管在这里。

对于以后的生产,我们将有一个专门的VPC与VPC对等

为这个实例设置一个名字。

在其安全组中允许从办公室进行RDP。

Bridge将只创建出站连接,所以不需要在这里添加任何入站规则。

创建一个RSA密钥。

从Linux的Windows RDP

使用 xfreerdp.

要获得密码,进入AWS EC2控制台,点击_安全>获得Windows密码。_

上传你的密钥。

复制密码。

通过RDP连接。

xfreerdp /u:Administrator /p:'.6o***A*E' /h:900 /w:1440 /v:18.***.***.139

安装Chrome/Edge/whatever,就是不安装IE 11。

哦,天哪......Windows会建议下载其Edge,即使google为 "chrome_下载"。_

Windows:"您当前的安全设置不允许下载此文件"

并会阻止下载的尝试。

进入IE设置,并启用下载。

安装Tableau Bridge

文件 -安装Bridge。

不确定版本--Tableau Bridge是否需要和Tableau Desktop一样的版本。

不觉得有什么关系,但我用过相同的版本。

检查当前 Desktop 的版本 - 帮助 >关于 Tableau。

产品下载和发行说明(链接在新窗口中打开)页面下载 Tableau Bridge。

运行安装程序。

登录到Tableau Online。

然后我们就可以进行新的连接了。

Tableau Bridge 模式

在左侧的底部,你可以选择桥接的运行方式,见安装桥接关于桥接客户端

简而言之。

  • 应用程序:只有当用户登录到Windows时,才会运行Bridge。
  • 服务:在系统启动后,每次都会运行Bridge。

好了,我们已经启动了Bridge服务。进入Tableau Online -Settings > Bridge来 检查它。

它的状态是_已连接_,这里看起来不错。

用于Windows的MySQL驱动

下载MySQL驱动

不要登录,点击_直接下载_。

安装它。

AWS Aurora RDS MySQL测试实例

现在,让我们为测试目的创建一个新的AWS Aurora RDS集群。

在其网络设置中,选择AWS VPC,也就是我们运行Tableau Bridge的EC2的地方。设置禁用_公共访问_,附加一个安全组。

在这个安全组中,允许从装有Windows和Bridge的ЕС2到Aurora集群的3306端口的访问。

Windows ConEmu和MySQL Shell

可以选择安装ConEmu,因为默认的Windowscmd 很糟糕。

另外,你可以使用MySQL Shell

运行Shell。

通过使用\help 命令查看帮助,或者针对某个特定的命令,例如connect -\? \connect

连接到Aurora服务器。

MySQL JS > \connect admin@tb-test.bm.local

切换到sql 模式。

创建一个数据库和一个表。

Tableau Desktop和一个数据源连接

接下来,需要在EC2上安装Tableau Desktop,我们的Bridge就运行在这里。

然后,我们将从这个桌面上创建一个新的数据源,并将其发布到Tableau Online,它将使用Bridge从这个数据库服务器运行提取和刷新。

下载Tableau Desktop安装程序--www.tableau.com/products/de…

在我的印象中,你可以三次使用同一个许可证密钥,所以让我们使用一个现有的密钥。

选择_用产品密钥激活_。

从旧的Tableau Desktop获取当前的密钥--帮助_>管理产品密钥,_为新的桌面实例_输入_密钥。

现场连接已禁用 "的错误

此刻,我们可以看到"网站上禁用的实时连接"消息的桥接服务。

谷歌一下,找到实时查询问题的识别原因,进入Tableau Online,并启用Tableau Bridge pool

现在,这个错误消失了。

添加一个新的Tableau数据源

创建一个新的工作簿。

单击 "新数据源"

选择AWS Aurora。

设置连接细节,登录到数据库服务器。

而且连接已经准备好了。

把它推送到Tableau Online,см。发布一个数据源

进入Tableau Online,检查连接。

它的网络类型必须被设置为_私人网络_。

因此,对这个数据源的所有请求都将通过Tableau Bridge进行路由。

在数据库中添加一些数据。

让我们试着在Tableau Online中看到它们--创建一个新的工作簿,设置数据源。

刷新数据,以便从数据库中获得最新的变化。

在工作簿中添加col1 ,现在你必须看到数据库中的数据。

更新表中的数据。

刷新数据源。

检查_工作_,当_进行中_的状态将被改变为发送到_桥上_时。

再一次刷新工作簿中的数据。

你就可以看到新的数据了。

完成了。

类似的帖子

The postTableau: install Tableau Bridge to access a database server in a private networkfirst appeared onRTFM: Linux, DevOps, and system administration.