このトピックでは、Data Transmission Service (DTS) を使用して、Elastic Compute Service (ECS) でホストされ、スタンドアロンまたはレプリカセットアーキテクチャを使用するセルフマネージドMongoDBデータベースをApsaraDB for MongoDBに移行する方法について説明します。 DTSを使用すると、ビジネスを中断することなく履歴データと増分データを移行できます。
このセクションでは、旧バージョンのDTSコンソールでデータ移行を実行する方法について説明します。 新しいバージョンのDTSコンソールでデータ移行を実行する方法の詳細については、次のトピックを参照してください。
スタンドアロンアーキテクチャを使用するデータベースの移行: スタンドアロンApsaraDB for MongoDBインスタンスから別のApsaraDB for MongoDBインスタンスへのデータの移行
レプリカセットアーキテクチャを使用するデータベースの移行: ApsaraDB for MongoDBレプリカセットインスタンスからApsaraDB for MongoDBレプリカセットインスタンスまたはシャードクラスターインスタンスへのデータの移行
前提条件
自己管理型MongoDBデータベースのバージョンがMongoDB 3.0以降であること。
ApsaraDB for MongoDBインスタンスのストレージ容量が、自己管理型MongoDBデータベースのサイズよりも大きいこと。
使用上の注意
サービスの中断を防ぐため、オフピーク時にデータを移行することを推奨します。
config データベースは内部データベースです。 このデータベースからデータを移行しないことを推奨します。
移行元の自己管理型MongoDBデータベースと移行先のApsaraDB for MongoDBインスタンスが異なるデータベースバージョンまたはストレージエンジンを実行している場合は、移行を開始する前に、それらの間で互換性の問題が発生しないようにしてください。 ApsaraDB For MongoDBでサポートされているデータベースのバージョンとストレージエンジンの詳細については、「MongoDBのバージョンとストレージエンジン」をご参照ください。
課金情報
移行タイプ | インスタンス設定 | インターネットトラフィック |
フルデータ移行 | 無料 | 無料 |
増分データ移行 | 課金、詳細については、をご参照ください。 データ伝送サービス (DTS) の料金 | 無料 |
移行タイプの説明
フルデータ移行: 移行オブジェクトのすべてのデータが、移行元インスタンスから移行先インスタンスに移行されます。
説明データ移行は、データベース、収集、およびインデックスレベルでサポートされます。
増分データ移行: 移行オブジェクトの更新データは、移行元インスタンスから移行先インスタンスに同期されます。
説明データベース、コレクション、およびインデックスの作成操作と削除操作を同期できます。
ドキュメントの作成、削除、および更新操作は同期できます。
データベースアカウントに必要な権限
データベース | 完全なデータ移行 | 増分データ移行 |
ECSでホストされる自己管理型MongoDBデータベース | ソースデータベースの読み取り権限 | ソースデータベース、管理者データベース、およびローカルデータベースの読み取り権限 |
同期先の ApsaraDB for MongoDB インスタンス | ターゲットデータベースの読み取りおよび書き込み権限 | ターゲットデータベースの読み取りおよび書き込み権限 |
データベースアカウントを作成し、データベースアカウントに権限を付与する方法の詳細については、以下のトピックを参照してください。
ApsaraDB for MongoDBインスタンス: MongoDBデータベースユーザーの権限の管理
自己管理型MongoDBデータベース: db.createUser()
準備
ECSでホストされている自己管理型MongoDBデータベースがレプリカセットアーキテクチャを使用している場合は、この手順をスキップしてください。
ECSでホストされている自己管理型MongoDBデータベースがスタンドアロンアーキテクチャを使用しており、データベースの増分データを移行する場合は、データベースのoplogを有効にする必要があります。 詳細については、「DTSを使用したセルフマネージド型スタンドアロンMongoDBデータベースのAlibaba Cloudへの移行」をご参照ください。
手順
最初に DTSコンソールにログインします。
表示されるページの右下隅にあるアイコンをクリックして、以前のバージョンのDTSコンソールに戻ります。
左側のナビゲーションウィンドウで、データ移行 をクリックします。
[移行タスク] セクションで、ApsaraDB for MongoDBインスタンスがデプロイされているリージョンを選択します。
右上隅にある、[移行タスクの作成] をクリックします。
ソースデータベースとターゲットデータベースを設定します。
セクション
パラメーター
説明
タスク名
N/A
タスク名は自動生成されます。 一意のタスク名を使用する必要はありません。
タスクの識別に役立つ名前を指定することをお勧めします。
移行元データベース
インスタンスタイプ
移行元ディスクのタイプを設定します。 [ECS インスタンスのユーザー作成データベース] を選択します。
インスタンスリージョン
ECSインスタンスがデプロイされているリージョン。
ECSインスタンスのID。
自己管理型MongoDBデータベースがデプロイされているECSインスタンスのID。
データベースエンジン
ターゲットデータベースのタイプ。 MongoDB を選択します。
ポート番号
自己管理型MongoDBデータベースのサービスポート番号を入力します。
データベース名
認証に使用されるデータベースの名前。
データベースアカウント
自己管理型MongoDBデータベースへの接続に使用されるアカウント。 アカウントに必要な権限については、「データベースアカウントに必要な権限」をご参照ください。
データベースパスワード
自己管理型MongoDBデータベースへの接続に使用されるデータベースアカウントのパスワード。
説明ソース自己管理データベースの情報を指定した後、[データベースパスワード] の横にある [接続のテスト] をクリックして、情報が有効かどうかを確認できます。 情報が有効な場合は、[合格] メッセージが表示されます。 情報が無効な場合は、[失敗] メッセージが表示されます。 この場合、[失敗] メッセージの横にある [チェック] をクリックして情報を変更します。
ターゲットデータベース
インスタンスタイプ
ターゲットデータベースのタイプ。 MongoDB インスタンス を選択します。
インスタンスリージョン
ターゲットApsaraDB for MongoDBインスタンスが存在するリージョン。
MongoDB インスタンス ID
ターゲットApsaraDB for MongoDBインスタンスのID。
データベース名
認証に使用されるデータベースの名前。
データベースアカウント
宛先データベースへの接続に使用されるアカウント。 アカウントに必要な権限については、「データベースアカウントに必要な権限」をご参照ください。
データベースパスワード
ターゲットデータベースへの接続に使用されるデータベースアカウントのパスワード。
説明ターゲットデータベースの情報を指定した後、[データベースパスワード] の横にある [接続のテスト] をクリックして、情報が有効かどうかを確認できます。 情報が有効な場合は、[合格] メッセージが表示されます。 情報が無効な場合は、[失敗] メッセージが表示されます。 この場合、[失敗] メッセージの横にある [確認] をクリックして情報を変更する必要があります。
ページの右下隅にある [ホワイトリストの設定] および [次へ] をクリックします。
説明Alibaba Cloudデータベースインスタンス (ApsaraDB RDS for MySQLインスタンスやApsaraDB for MongoDBインスタンスなど) およびECSホスト型自己管理型データベースのセキュリティ設定を変更する必要はありません。 DTSは、DTSサーバーのCIDRブロックをAlibaba CloudデータベースインスタンスのIPホワイトリストまたはECSインスタンスのセキュリティルールに自動的に追加します。 詳細については、「DTSサーバーのCIDRブロックの追加」をご参照ください。
データの送信元または送信先が自己管理データベースであり、DTSサーバーのパブリックCIDRブロックが自己管理データベースのIPホワイトリストに追加されてDTSサーバーからのアクセスが許可されている場合、セキュリティ上のリスクが発生する可能性があります。 アカウントとパスワードによる認証を強化するか、許可されているポートを制限するか、Express connect、VPN Gateway、またはSmart Access Gateway経由でデータベースに接続することを推奨します。
データ移行が完了したら、DTSサーバーのCIDRブロックをホワイトリストから削除することを推奨します。
移行タイプと移行するオブジェクトを選択します。
パラメーター
説明
移行タイプ
フルデータ移行のみを実行するには、[フルデータ移行] のみを選択します。
説明データの一貫性を確保するために、フルデータ移行中に自己管理型MongoDBデータベースに新しいデータを書き込まないでください。
データ移行中のサービスの継続性を確保するには、[フルデータ移行] と [増分データ移行] の両方を選択します。
説明スタンドアロンの自己管理MongoDBデータベースから増分データを移行する前に、データベースのoplogを有効にする必要があります。 詳細については、「開始前」をご参照ください。
ソースオブジェクト
[ソースオブジェクト] セクションから1つ以上のオブジェクトを選択し、アイコンをクリックして、オブジェクトを [選択済みオブジェクト] リストに追加します。
説明DTSは、adminまたはローカルデータベースからデータを移行できません。
config データベースは内部データベースです。 設定データベースからデータを移行しないことを推奨します。
移行オブジェクトは、データベース、コレクション、または関数です。
既定では、オブジェクトがターゲットデータベースに移行された後、オブジェクトの名前は変更されません。 DTSが提供するオブジェクト名マッピング機能を使用して、ターゲットデータベース内のオブジェクトの名前を変更できます。 詳細は、オブジェクト名のマッピングをご参照ください。
ページの右下に表示される [事前確認] をクリックします。
説明移行タスクが開始される前にプリチェックが実行されます。 移行タスクは、事前チェックが成功した後にのみ開始されます。
事前チェックが失敗した場合は、失敗した各チェック項目のアイコンをクリックして詳細を表示します。 失敗が修正された後、再度事前チェックを実行します。
プリチェックが成功したら、次へ をクリックします。
[設定の確認] ダイアログボックスで、[インスタンスクラス] パラメーターを設定します。 次に、チェックボックスを読み、[Data Transmission Service (Pay-As-You-Go) Service Terms] に同意します。
購入して開始をクリックして移行タスクを開始します。
フルデータ移行
移行タスクを手動で終了しないでください。 その場合、データベースのすべてのデータの移行に失敗する可能性があります。 移行タスクが完了するまで待ちます。
増分データ移行
増分データ移行タスクは自動的に終了しません。 手動でタスクを終了する必要があります。
説明移行タスクを手動で終了する適切な時点を選択します。 たとえば、オフピーク時や、ビジネスをターゲットApsaraDB For MongoDBインスタンスに切り替える前に、移行タスクを終了できます。
タスクの進行状況バーに [増分データ移行] と [移行タスクが遅延していない] が表示されたら、ソースデータベースへのデータの書き込みを数分間停止します。 進行状況バーに、増分データ移行の横にある増分データ移行の遅延時間が表示されるまで待ちます。
[増分データ移行] のステータスが [移行タスクは遅延なし] に変更された後、移行タスクを手動で終了します。
ワークロードをターゲットApsaraDB for MongoDBインスタンスに切り替えます。