TailscaleでTableau DesktopからAmazon RDSにアクセスできるようにした話
今日は、みてねコールドクターでエンジニアマネージャーをしている遠藤です。
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を相互に繋ぐなどもできます。
今後も使っていきたいと思います。
参考
Discussion