TiDB CloudとVercelの統合
ヴェルセルはフロントエンド開発者向けのプラットフォームであり、イノベーターがインスピレーションの瞬間に創造するために必要なスピードと信頼性を提供します。
TiDB Cloud をVercel と併用することで、MySQL 互換のリレーショナル モデルを使用して新しいフロントエンド アプリケーションをより迅速に構築し、回復力、拡張性、最高レベルのデータ プライバシーとセキュリティを実現するプラットフォームを使用して自信を持ってアプリを拡張できます。
このガイドでは、次のいずれかの方法を使用して、 TiDB Cloudクラスターを Vercel プロジェクトに接続する方法について説明します。
上記の両方の方法では、 TiDB Cloud はプログラムによってデータベースに接続するための次のオプションを提供します。
- クラスタ: 直接接続またはサーバーレスドライバーを使用して、 TiDB Cloudクラスターを Vercel プロジェクトに接続します。
- データアプリ : HTTP エンドポイントのコレクションを通じてTiDB Cloudクラスターのデータにアクセスします。
前提条件
接続する前に、次の前提条件が満たされていることを確認してください。
VercelアカウントとVercelプロジェクト
Vercel のアカウントとプロジェクトが必要です。まだお持ちでない場合は、以下の Vercel ドキュメントを参照して作成してください。
- 新しい個人アカウントを作成するまたは新しいチームの作成 。
- Vercel のプロジェクトの作成使用している場合、またはデプロイするアプリケーションがない場合は、 TiDB Cloudスターター テンプレート使用して試してみることができます。
1つのVercelプロジェクトは1つのTiDB Cloudクラスターにのみ接続できます。統合を変更するには、まず現在のクラスターを切断し、新しいクラスターに接続する必要があります。
TiDB Cloudアカウントと TiDB クラスター
TiDB Cloudのアカウントとクラスターが必要です。まだお持ちでない場合は、以下を参照して作成してください。
TiDB Cloud Starter またはTiDB Cloud Essential クラスターを作成する
注記:
TiDB Cloud Vercel 統合では、TiDB Cloud Starter およびTiDB Cloud Essential クラスターの作成をサポートしています。また、統合プロセス中に後からクラスターを作成することもできます。
注記:
TiDB Cloud Dedicated クラスターの場合、Vercel デプロイメントでは動的IPアドレス使用されるため、クラスターのトラフィック フィルターですべての IP アドレス (
0.0.0.0/0
に設定) が接続に許可されていることを確認してください。
TiDB Cloud Vercel統合を介してVercelと統合するについては、所属組織のOrganization Owner
ロール、またはTiDB Cloudの対象プロジェクトのProject Owner
ロールを担うことが求められます。詳細については、 ユーザーロールご覧ください。
1 つのTiDB Cloudクラスターは複数の Vercel プロジェクトに接続できます。
データアプリとエンドポイント
データアプリ経由でTiDB Cloudクラスターに接続する場合は、事前にTiDB Cloudに対象のデータアプリとエンドポイントを用意しておく必要があります。まだ用意していない場合は、以下を参照して作成してください。
- TiDB Cloudコンソールで、プロジェクトのデータサービスページに移動します。
- プロジェクトのデータアプリを作成する 。
- データアプリをリンクするターゲットのTiDB Cloudクラスターに追加します。
- エンドポイントを管理するなので、SQL ステートメントを実行するようにカスタマイズできます。
1つのVercelプロジェクトは1つのTiDB Cloudデータアプリにのみ接続できます。Vercelプロジェクトのデータアプリを変更するには、まず現在のアプリを切断し、新しいアプリに接続する必要があります。
TiDB Cloud Vercel統合を介して接続
TiDB Cloud Vercel統合を介して接続するには、 Vercelの統合マーケットプレイスからTiDB Cloud統合ページに進みます。この方法では、接続するクラスターを選択すると、 TiDB CloudがVercelプロジェクトに必要なすべての環境変数を自動的に生成します。
注記:
この方法は、 TiDB Cloud Starter およびTiDB Cloud Essential クラスターでのみ利用可能です。TiDB TiDB Cloud Dedicated クラスターに接続する場合は、 手動の方法使用してください。
統合ワークフロー
詳細な手順は次のとおりです。
TiDB Cloud Vercel統合ページの右上にある「統合を追加」をクリックします。 「TiDB Cloudを追加」ダイアログが表示されます。
ドロップダウン リストで統合の範囲を選択し、 [続行]をクリックします。
統合を追加する Vercel プロジェクトを選択し、 「続行」をクリックします。
統合に必要な権限を確認し、 「統合を追加」をクリックします。すると、 TiDB Cloudコンソールの統合ページに移動します。
統合ページで、次の操作を行います。
- 対象の Vercel プロジェクトを選択し、 「次へ」をクリックします。
- ターゲットのTiDB Cloud組織とプロジェクトを選択します。
- 接続タイプとして「クラスタ」を選択します。
- 対象のTiDB Cloudクラスターを選択します。 「クラスタ」ドロップダウンリストが空の場合、または新しいTiDB Cloud StarterまたはTiDB Cloud Essentialクラスターを選択する場合は、リスト内の「+クラスタの作成」をクリックしてクラスターを作成してください。
- 接続するデータベースを選択します。データベースのドロップダウンリストが空の場合、または新しいデータベースを選択する場合は、リスト内の「+ データベースの作成」をクリックしてデータベースを作成してください。
- Vercelプロジェクトで使用しているフレームワークを選択してください。ターゲットフレームワークがリストにない場合は、 「一般」を選択してください。フレームワークによって環境変数が異なります。
- プレビュー環境用の新しいブランチを作成するためにブランチを有効にするかどうかを選択します。
- 「統合を追加」をクリックして、Vercel に戻ります。
Vercel ダッシュボードに戻り、Vercel プロジェクトに移動して、 [設定] > [環境変数]をクリックし、ターゲット TiDB クラスターの環境変数が自動的に追加されているかどうかを確認します。
以下の変数が追加されていれば統合は完了です。
一般的な
TIDB_HOST TIDB_PORT TIDB_USER TIDB_PASSWORD TIDB_DATABASEプリズマ
DATABASE_URLTiDB CloudサーバーレスDriver
DATABASE_URL
TiDB Cloud Vercel統合ページの右上にある「統合を追加」をクリックします。 「TiDB Cloudを追加」ダイアログが表示されます。
ドロップダウン リストで統合の範囲を選択し、 [続行]をクリックします。
統合を追加する Vercel プロジェクトを選択し、 「続行」をクリックします。
統合に必要な権限を確認し、 「統合を追加」をクリックします。すると、 TiDB Cloudコンソールの統合ページに移動します。
統合ページで、次の操作を行います。
- 対象の Vercel プロジェクトを選択し、 「次へ」をクリックします。
- ターゲットのTiDB Cloud組織とプロジェクトを選択します。
- 接続タイプとしてデータ アプリを選択します。
- ターゲットの TiDB データ アプリを選択します。
- 「統合を追加」をクリックして、Vercel に戻ります。
Vercel ダッシュボードに戻り、Vercel プロジェクトに移動して、 「設定」 > 「環境変数」をクリックし、対象のデータ アプリの環境変数が自動的に追加されているかどうかを確認します。
以下の変数が追加されていれば統合は完了です。
DATA_APP_BASE_URL DATA_APP_PUBLIC_KEY DATA_APP_PRIVATE_KEY
接続を構成する
TiDB Cloud Vercel統合インストールしている場合は、統合内で接続を追加または削除できます。
Vercel ダッシュボードで、 「統合」をクリックします。
TiDB Cloudエントリで[管理] をクリックします。
[構成]をクリックします。
接続を追加または削除するには、 「リンクの追加」または「削除」をクリックします。
接続を削除すると、統合ワークフローによって設定された環境変数もVercelプロジェクトから削除されます。ただし、このアクションはTiDB Cloudクラスターのデータには影響しません。
TiDB Cloudブランチに接続する {#connect-with-branching}
Vercel のプレビュー展開機能を使用すると、Git プロジェクトの本番ブランチに変更をマージすることなく、ライブデプロイメントでアプリの変更をプレビューできます。 TiDB Cloudブランチでは、Vercel プロジェクトのブランチごとに新しいインスタンスを作成できます。これにより、本番データに影響を与えることなく、ライブデプロイメントでアプリの変更をプレビューできます。
注記:
現在、 TiDB Cloud Branching はGitHubリポジトリに関連付けられたVercelプロジェクトのみをサポートしています。
TiDB Cloudブランチを有効にするには、 TiDB Cloud Vercel 統合ワークフローで次の点を確認する必要があります。
- 接続タイプとして「クラスタ」を選択します。
- ブランチを有効にして、プレビュー環境用の新しいブランチを作成します。
Gitリポジトリに変更をプッシュすると、Vercelはプレビューデプロイメントをトリガーします。TiDB TiDB Cloud統合により、 TiDB CloudクラスターのGitブランチ用のブランチが自動的に作成され、環境変数が設定されます。詳細な手順は以下のとおりです。
Git リポジトリに新しいブランチを作成します。
cd tidb-prisma-vercel-demo1 git checkout -b new-branchいくつか変更を加えて、その変更をリモート リポジトリにプッシュします。
Vercel は新しいブランチのプレビュー展開をトリガーします。
デプロイ中に、 TiDB Cloud統合により、Git ブランチと同じ名前のブランチがクラスターに自動的に作成されます。ブランチが既に存在する場合、 TiDB Cloud統合はこの手順をスキップします。
ブランチの準備ができたら、 TiDB Cloud統合によって、Vercel プロジェクトのプレビュー デプロイメントで環境変数が設定されます。
TiDB Cloud統合では、ブランチの準備が整うまで待機するためのブロッキングチェックも登録されます。このチェックは手動で再実行できます。
チェックに合格したら、プレビュー デプロイメントにアクセスして変更を確認できます。
注記:
Vercel のデプロイメントワークフローの制限により、デプロイメントで環境変数が確実に設定されるとは限りません。この場合、デプロイメントを再デプロイする必要があります。
注記:
TiDB Cloudの各組織では、デフォルトで最大5つのTiDB Cloud Starterクラスタブランチを作成できます。この制限を超えないようにするには、不要になったクラスタブランチを削除してください。詳細については、 TiDB Cloudブランチの管理ご覧ください。
環境変数を手動で設定して接続する
TiDB クラスターの接続情報を取得します。
接続情報は、クラスターの接続ダイアログから取得できます。ダイアログを開くには、プロジェクトのクラスターページ目に移動し、ターゲットクラスターの名前をクリックして概要ページに移動し、右上隅の「接続」をクリックします。
Vercel ダッシュボード > Vercel プロジェクト >設定>環境変数に移動し、TiDB クラスターの接続情報に応じて各環境変数の値を宣言する実行します。
ここでは、Prisma アプリケーションとTiDB Cloud Starter クラスターを例として使用します。以下は、 TiDB Cloud Starter クラスターの Prisma スキーマファイルにおけるデータソース設定です。
datasource db {
provider = "mysql"
url = env("DATABASE_URL")
}
Vercel では、次のように環境変数を宣言できます。
- キー=
DATABASE_URL
- 値=
mysql://<User>:<Password>@<Endpoint>:<Port>/<Database>?sslaccept=strict
<User>
<Endpoint>
情報<Database>
<Password>
TiDB Cloudコンソールで取得できます<Port>
データ アプリとそのエンドポイントをまだ作成していない場合は、手順データアプリを管理するとエンドポイントの管理に従って作成します。
Vercel ダッシュボード > Vercel プロジェクト >設定>環境変数に移動し、データ アプリの接続情報に応じて各環境変数の値を宣言する実行します。
Vercel では、次のように環境変数を宣言できます。
- キー=
DATA_APP_BASE_URL
- 値=
<DATA_APP_BASE_URL>
- キー=
DATA_APP_PUBLIC_KEY
- 値=
<DATA_APP_PUBLIC_KEY>
- キー=
DATA_APP_PRIVATE_KEY
- 値=
<DATA_APP_PRIVATE_KEY>
<DATA_APP_BASE_URL>
<DATA_APP_PRIVATE_KEY>
情報は<DATA_APP_PUBLIC_KEY>
TiDB Cloudコンソールのデータサービスページから取得できます。- キー=