📘

TiDB Serverless の Firewall Rules

に公開

先日名古屋のイベントでご一緒した際にPingCapの中の人から、TiDB ServerlessでエンドポイントをPublicに公開した際にIPアドレスベースで制御する機能がリリースされたことを伺い試してみました。

TiDB Serverless のエンドポイント

もともとTiDB Serverlessは無償バージョンはAWS上に構築されエンドポイントはデフォルトでPublicに提供されます。この場合クレデンシャル(要はMySQLのパスワード)で保護をする形態をとりますが、
商用環境などでは過去まとめたようにPublicエンドポイントを閉じてPrivateLinkでVPC経由のアクセスを行うケースが多いのではないかと思います。
https://zenn.dev/kameoncloud/articles/ddfd51fe176bdd
なんとこのPrivateLink機能は無償で利用できるというすごいことになっています。(接続の対向側のPrivateLinkはもちろん皆さん側のAWS環境なので費用は発生します)

またServerlessではなくDedicatedであれば直接VPC Peering接続も可能となっています。
https://zenn.dev/kameoncloud/articles/d669bc94a39083

とはいえちょっとしたテストなどではやっぱりPublicエンドポイントは便利です。試したところかなり動的にアクセス元IPを切り替えることができるので、普段はPublicエンドポイントを閉じておいて、必要に応じて作業環境のIPを登録する、といった使い方ができそうです。

さっそくやってみる

デフォルトでは以下の様に作成直後のServerlessクラスターはPublicエンドポイントが有効化されており0.0.0.0/0に対して解放されています。

無効化を行うとこのような表記となります。

今の作業環境のIP登録

では再度Publicエンドポイントを有効化して0.0.0.0/0を削除します。

次にAdd Current IPをクリックします。

現時点ではIPv4にのみ対応しているようです。

無事接続ができました!

Discussion