🍣

AWS上からTiDBサーバーレスにPrivateEndpoint経由で接続してみる

2024/07/24に公開

概要

TiDBについて触ってみました!!

  • TiDBではPrivateEndpointというセキュアな接続方法をAWSのみサポートしている
  • PrivateEndpointはAWSのPrivateLinkを使った方法のことを指している
  • どうやって接続するか試してみた

今回作成する構成イメージ(公式ドキュメントから拝借):

公式ドキュメントはこちら:
https://docs.pingcap.com/tidbcloud/set-up-private-endpoint-connections-serverless

準備編

TiDBのドキュメントにPrivateEndpointを使った接続の手順が書かれているのでそれに沿って進めていきます。TiDB側にはClusterの用意、AWS側にはVPCの用意が前提となっているのでその準備をします。

TiDBでClusterを用意

  • SignUpするとデフォルトでクラスタがセットアップされる(SignUp方法は迷うところがなかったので省略)
  • 無料枠で使う限りはクレジットカードの登録が不要なようでした

セットアップされたCluster:

AWSのVPCを用意

  • VPCの作成
    • 今回はマネジメントコンソールから作成します(GUI久々に見る度に進化がすごい...)
    • 簡単のためにパブリックサブネットを1つでNATGatewayはなしにしています

接続作成編

TiDBのCluster接続情報をメモする

  • TiDBのClusterを選択し、「Connect」ボタンから接続情報を取得する
  • EndpointTypeをPrivateにしてPrivateLinkを構築するためのServiceNameなどを控えておきます

AWSでVPCエンドポイントを作成する

  • VPC > エンドポイント から 「エンドポイントを作成」ボタンを選択し、エンドポイントを作成します
  • ステータスが「使用可能」になるのを待ちます

接続確認

EC2等からmysql clientで接続のテストをすると、無事接続が完了するはずです!!

まとめ

以上、TiDBへセキュアな方法で接続する方法を試してみました。
TiDBのPrivateEndpoint接続はAWSのみでサポート(2024/07現在)しているようです。
無料枠もあるのでまずは使ってみる、コストを抑えたPoC環境、個人開発にも向いているかもしれません。

※VPCエンドポイントの料金は発生します (1つ当たり$7.2/月)

Discussion