TiDB Serverless の Firewall Rules
先日名古屋のイベントでご一緒した際にPingCapの中の人から、TiDB ServerlessでエンドポイントをPublicに公開した際にIPアドレスベースで制御する機能がリリースされたことを伺い試してみました。
TiDB Serverless のエンドポイント
もともとTiDB Serverlessは無償バージョンはAWS上に構築されエンドポイントはデフォルトでPublicに提供されます。この場合クレデンシャル(要はMySQLのパスワード)で保護をする形態をとりますが、
商用環境などでは過去まとめたようにPublicエンドポイントを閉じてPrivateLinkでVPC経由のアクセスを行うケースが多いのではないかと思います。
なんとこのPrivateLink機能は無償で利用できるというすごいことになっています。(接続の対向側のPrivateLinkはもちろん皆さん側のAWS環境なので費用は発生します)
またServerlessではなくDedicatedであれば直接VPC Peering接続も可能となっています。
とはいえちょっとしたテストなどではやっぱりPublicエンドポイントは便利です。試したところかなり動的にアクセス元IPを切り替えることができるので、普段はPublicエンドポイントを閉じておいて、必要に応じて作業環境のIPを登録する、といった使い方ができそうです。
さっそくやってみる
デフォルトでは以下の様に作成直後のServerlessクラスターはPublicエンドポイントが有効化されており0.0.0.0/0
に対して解放されています。
無効化を行うとこのような表記となります。
今の作業環境のIP登録
では再度Publicエンドポイントを有効化して0.0.0.0/0
を削除します。
次にAdd Current IP
をクリックします。
現時点ではIPv4にのみ対応しているようです。
無事接続ができました!
Discussion