0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Tableau Bridge for Linuxを使ってみたのでメモする

Last updated at Posted at 2025-05-31

参考

https://help.tableau.com/current/online/ja-jp/to_bridge_linux_install.htm
https://tableaujpn.blogspot.com/2024/02/

やりたいこと

プライベートネットワークにあるDBのデータを使いたい。
EC2(踏み台)などDBにアクセスできる場所でTableau Bridgeを設定する。

Dockerfile

公式のドキュメントではDockerを使った例のみだったけど、
とりあえずEC2に直接インストールして動くか確認。
動いたのでその内容をまとめてDockerfileにしてみた。
これを使ってECSとかで起動して使ったら良さそう?

Dockerfile
FROM amazonlinux:2023

# Tableau Bridgeのダウンロードインストール
RUN curl -OL https://downloads.tableau.com/tssoftware/TableauBridge-20243.25.0114.1153.x86_64.rpm\
    && ACCEPT_EULA=y yum install -y TableauBridge-20243.25.0114.1153.x86_64.rpm

#必要なライブラリをインストール
RUN yum install -y unixODBC tar gzip findutils dbus-libs glibc-langpack-ja

# mysql-connectorのダウンロードインストール
RUN curl -OL https://ftp.iij.ad.jp/pub/db/mysql/Downloads/Connector-ODBC/8.0/mysql-connector-odbc-8.0.20-linux-glibc2.12-x86-64bit.tar.gz\
    && tar -zxvf mysql-connector-odbc-8.0.20-linux-glibc2.12-x86-64bit.tar.gz\
    && cp /mysql-connector-odbc-8.0.20-linux-glibc2.12-x86-64bit/bin/* /usr/local/bin\
    && cp /mysql-connector-odbc-8.0.20-linux-glibc2.12-x86-64bit/lib/* /usr/local/lib\
    && myodbc-installer -a -d -n "MySQL ODBC 8.0 Unicode Driver" -t "Driver=/usr/local/lib/libmyodbc8w.so"\
    && myodbc-installer -a -d -n "MySQL ODBC 8.0 ANSI Driver" -t "Driver=/usr/local/lib/libmyodbc8a.so"\
    && rm TableauBridge-20243.25.0114.1153.x86_64.rpm\
    && rm mysql-connector-odbc-8.0.20-linux-glibc2.12-x86-64bit.tar.gz\
    && rm -rf mysql-connector-odbc-8.0.20-linux-glibc2.12-x86-64bit.tar.gz

# 環境変数 
ENV LANG="ja_JP.utf8"
ENV LANGUAGE="ja_JP.utf8"
ENV LC_ALL="ja_JP.utf8"

# PATをコンテナにコピー
COPY MyTokenFile.txt /

# Tableau Bridge for Linux 起動
SHELL ["/bin/bash", "-c"]
ENTRYPOINT /opt/tableau/tableau_bridge/bin/run-bridge.sh\
    -e\
    --patTokenId="ec2_bridge"\
    --userEmail="メール"\
    --client="myBridgeAgent"\
    --site="ユーアールアイ"\
    --patTokenFile="/MyTokenFile.txt"\
    --poolId="プールID"

プールIDはTableau Cloudで作成し設定する。
Tableau Cloud PATも作成してトークンを以下のようにファイルに保存する。

MyTokenFile.txt
{"ec2_bridge" : "とーくん"}

起動方法

$ docker image build -f Dockerfile -t tableau_bridge .
$ docker container run -d --name tableau_bridge:latest 

メモ

データソース自体はプライベートネットワークにあるDBに接続できるTableau Desktopで作成しパブリッシュする必要がある。

プライベートネットワークにあるため、そのままだと接続できないので、ローカルでsshを使用してポートフォワードを設定しlocalhostで接続した。

# pemがあるフォルダで以下を実行する(例:C:\Users\user\.ssh)
ssh -i dev.pem -L 3306:dev-mysql.cluster-XXXXXXX.ap-northeast-1.rds.amazonaws.com:3306 ec2-user@<ipアドレス>

パブリッシュしたデータソースはlocalhostになっているのでTableauCloudで編集してホスト名を実際のDBのホスト名に変更する必要がある。

結構大変だった。

以上。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?