TiDB データソース (Preview)
TiDB データソースには、TiDB クラスターによって stage 済みのデータを TiDB Cloud Lake が読み取るために使用する、オブジェクトストレージの場所、認証情報、およびオプションのイベントキューが保存されます。これは TiDB サーバー自体には接続しません。Dumpling と TiCDC はエクスポートおよび変更イベントをオブジェクトストレージのバケットに書き込み、TiDB Cloud Lake はそのバケットから読み取ります。
ユースケース
- 複数の TiDB 同期タスク向けに、stage 用バケット、認証情報、およびオプションの SQS キューを一元管理する
- すべてのタスクで同じバケットと認可設定を毎回入力し直す手間を避ける
- 静的キーの代わりに IAM Role を使用して、TiDB Cloud Lake が有効期限の短い認証情報を取得できるようにする
- 複数のタスクから参照されているバケット、ロール、またはキューを 1 か所で更新する
統合のために TiDB を準備する
TiDB Cloud は、完全スナップショット (Dumpling) と増分変更 (TiCDC) をオブジェクトストレージのバケットにエクスポートします。TiDB Cloud の各プランには違いがあるため、設定を最小限に抑えつつデータ互換性を確保できるよう、プランごとに特定のセットアップ手順を推奨します。
- Premium または BYOC: TiDB Cloud コンソールの Data Pipeline UI を使用して、エクスポートとインポートを 1 か所で設定および管理します。
- Essential: コンソールの Export および Changefeed 機能を使用して、TiDB Cloud Lake へのデータパイプラインを手動で設定します。
- Dedicated: Dumpling とコンソールの Changefeed 機能を使用して、TiDB Cloud Lake へのデータパイプラインを手動で設定します。
TiDB データソースを作成する
Data > Data Sources に移動し、Create をクリックします。
サービスとして TiDB を選択し、データソースの Name を入力します。
Storage Provider と Authentication Method を選択し、接続の詳細を入力します。表示されるフィールドは、選択した組み合わせによって異なります。詳細は以下の Amazon S3 または Alibaba Cloud OSS を参照してください。
Test Connectivity をクリックして、バケットと認証情報を検証します。テストが成功したら、OK をクリックしてデータソースを保存します。
Amazon S3
ストレージプロバイダーが Amazon S3 の場合は、以下のいずれかの認証方式を選択します。
認証方式: Role ARN (推奨)
Role ARN は AssumeRole モデルを使用します。TiDB Cloud Lake は AWS アカウント内の IAM Role を引き受けて一時的な認証情報を取得するため、静的キーを TiDB Cloud Lake に渡す必要がありません。
データソースを保存する前に、IAM Role の信頼ポリシーで 2 つのプラットフォームロール (TiDB Cloud Lake のセットアップおよび検証ロール、ならびに TiDB Cloud Lake のデータロード用ロール) を信頼し、sts:ExternalId 条件に対応する外部 ID を指定する必要があります。完全な信頼ポリシー設定については、AWS IAM Role による認証 を参照してください。
認証方式: Access Key / Secret Key
この方式は、たとえばロール引き受けをサポートしない S3 互換ストアなど、静的認証情報を使用したい場合に利用します。
詳細は、Amazon S3 - Credentials を参照してください。
Alibaba Cloud OSS
ストレージプロバイダーが Alibaba Cloud OSS の場合、TiDB Cloud Lake は Alibaba Cloud から stage 用バケットを読み取ります。OSS では Access Key / Secret Key 認証のみサポートされます。
オプションの SQS キュー
SQS Queue URL フィールドはオプションであり、Amazon S3 にのみ適用されます。stage 用バケットに対する S3 ObjectCreated イベントを受信する標準 SQS キューを指定すると、TiDB Cloud Lake は次回のポーリングを待つ代わりに、そのキューから新しく書き込まれた changefeed / export オブジェクトを検出できます。
- キューは標準キューである必要があります。FIFO キューはサポートされません。S3 のイベント通知をそれらに配信できないためです。
- S3 バケットと SQS キューは同じリージョンに配置することを推奨します。
- バケットのポーリングは引き続き正式な検出経路であり、SQS は置き換えではなくレイテンシー最適化です。
- このフィールドを空のままにすると、タスクはポーリングによってオブジェクトを検出します。
キュー、バケット通知、および信頼ポリシーの設定については、Amazon SQS (S3) - IAM Role を参照してください。
次のステップ
このデータソースを作成した後、それを使用して TiDB 統合タスク を作成できます。