このページでは、MongoDB データベースから BigQuery や Cloud Storage などのサポートされている宛先にデータをストリーミングするように変更データ キャプチャ(CDC)を構成する方法について説明します。Datastream を構成して、Atlas というフルマネージド クラウド データベース サービスからデータを複製できます。また、セルフマネージドの MongoDB インスタンスから複製する場合は、MongoDB Shell を使用します。
MongoDB Atlas インスタンスを構成する
MongoDB Atlas インスタンスで Datastream を使用するには、まず Datastream ユーザーを作成し、そのユーザーにデータベースへのアクセス権を付与する必要があります。
- MongoDB Atlas ダッシュボードで、[Security] の下にある [Database access] をクリックします。
- [New database user] をクリックし、ユーザーのパスワード認証方法を選択します。
- Datastream ユーザーのユーザー名とパスワードを入力します。
- [Database user privileges] で [Grant specific user privileges] を選択します。
- [Specific privileges] で次のロールと権限を追加します。
readAnyDatabase
- [ユーザーを追加] をクリックします。
MongoDB(自己ホスト型)インスタンスを構成する
このページでは、Datastream で使用する MongoDB 自己ホスト型データベースの設定方法について説明します。レプリカセットとシャーディングされたクラスタの両方に対応しています。
レプリカセット
MongoDB レプリカセットのデプロイについては、MongoDB ドキュメントの自己管理型レプリカセットの配置をご覧ください。
セルフマネージドの MongoDB レプリカセットで使用するように Datastream を構成する手順は次のとおりです。
- MongoDB Shell をインストールします。MongoDB Shell のインストール方法については、MongoDB のドキュメントをご覧ください。
- ターミナルを開き、
mongosh
コマンドを実行してレプリカセットまたはプライマリ ノードに接続します。 admin
データベースに Datastream のユーザーを作成します。
use admin
db.createUser({
user: "USERNAME",
pwd: "PASSWORD",
roles: [ "readAnyDatabase", {role: "read", db: "admin"} ]
})
USERNAME と PASSWORD は、それぞれユーザー名とパスワードに置き換えます。
シャーディングされたクラスタ
シャーディングされたクラスタのデプロイについては、MongoDB ドキュメントのシャーディングされたクラスターの配置をご覧ください。
セルフマネージドのシャーディングされた MongoDB クラスタで使用するように Datastream を構成するには、次の手順に従ってください。
- MongoDB Shell をインストールします。MongoDB Shell のインストール方法については、MongoDB のドキュメントをご覧ください。
- ターミナルを開き、
mongosh
コマンドを実行して、シャーディングされた MongoDB クラスタに接続します。 - すべてのプライマリ シャードノードと
mongos
クエリルーターに同じ Datastream ユーザーを作成します。
use admin
db.createUser({
user: "USERNAME",
pwd: "PASSWORD",
roles: [ "readAnyDatabase" ]
})
USERNAME と PASSWORD は、それぞれユーザー名とパスワードに置き換えます。任意のユーザー名とパスワードを選択できますが、すべてのプライマリ シャード ノードと mongos クエリルーターで同一のユーザー名とパスワードを使用する必要があります。
mongos クエリルーターに接続されているシャードを調べるには、次のコマンドを実行します。
db.adminCommand({ listShards: 1 })