🍣

TailscaleでTableau DesktopからAmazon RDSにアクセスできるようにした話

2023/01/30に公開

今日は、みてねコールドクターでエンジニアマネージャーをしている遠藤です。
Tailscaleで便利になったことを紹介します。

はじめに

弊社では、メインプロダクトにRailsを使いherokuでホスティングをしています。
以前はUSリージョンを利用していたのですが、レイテンシ改善のためTokyoリージョンに移行しました。
その際、AWSのAurora Serverless v2をプライベートサブネットに配置し、利用することにしました(AWS PrivateLinkでherokuとセキュアに接続できます)。
BIツールにTableau(Desktop&Online)を使用しているのですが、Tableauはデータソースに直接接続することができません。
Onlineはtableau bridge経由で接続できますが、Desktopは接続できません。
PMなど非エンジニアも利用するため、簡単にVPNを使えるTailscaleの導入をしました。

導入(AWS編)

Tailscaleは、インストールしてログインするだけで利用できます。
AmazonのVPC内に踏み台となるインスタンスを立ち上げ、Tailscaleをインストール、ログインします。
ここ を参考にインストール&設定してください。

tailscale up 実行後、ログイン用のURLが表示されるので、ブラウザからログインしてください。
advertise-routes にはAWS VPCのCIDRを指定するようにしてください。
IP forwardingを有効にする必要もあり、ここ を参考に設定してください。

導入(Tableau編)

tableau desktopを実行するマシンで、Tailscaleをインストール、ログインするだけです。
ここ を参考にインストール&設定してください。

導入(Tailscale編)

ここまでだと単にVPNとしてマシン同士が繋がっただけなので、RDSへのアクセスを踏み台を経由し、DNSを解決されるようにしてあげる必要があります。
ここ を参考に設定してください。

重要なのは、STEP3の設定です。
どのアドレスであれば、踏み台経由にするかの設定になるので、Search DomainにはRDSのドメインを指定します。

利用

これで、Tableau DesktopからRDSにアクセスできるようになりました。
利用する時には、Tableau Desktopを使うマシンでTailsaleを起動するだけです。

まとめ

Tailscaleを使うことで、Tableau DesktopからRDSにアクセスできるようになりました。
ポートを開けずに済むので、セキュリティ的にも安心です。
有料ですが、AWSとGCPを相互に繋ぐなどもできます。
今後も使っていきたいと思います。

参考

https://dev.classmethod.jp/articles/access-aws-vpc-with-tailscale-vpn/

みてねコールドクターテックブログ

Discussion