Data Transmission Service (DTS) を使用して、スタンドアロンのセルフマネージド MongoDB データベースから ApsaraDB for MongoDB インスタンスにデータを移行します。
または、MongoDB ツールを使用してセルフマネージドデータベースをスタンドアロンインスタンスに移行することもできます。
他のデータ移行またはデータ同期ソリューションの詳細については、「データ移行とデータ同期」をご参照ください。
前提条件
-
移行元のセルフマネージド MongoDB データベースと移行先の ApsaraDB for MongoDB インスタンスは、サポート対象のバージョンである必要があります。詳細については、「移行ソリューションの概要」をご参照ください。
-
移行先の ApsaraDB for MongoDB インスタンスには、移行元のセルフマネージド MongoDB データベースよりも少なくとも 10% 多いストレージ容量を確保することを推奨します。
注意事項
-
デフォルトでは、スタンドアロンのセルフマネージド MongoDB データベースは oplog をサポートしていません。増分データ移行を使用するには、スタンドアロンノードをシングルノードのレプリカセットとして設定し、oplog を有効にする必要があります。
-
サービスの中断を避けるため、データ移行はオフピーク時間に実行してください。
-
ApsaraDB for MongoDB インスタンスでサポートされているバージョンとストレージエンジンについては、「バージョンとストレージエンジン」をご参照ください。バージョンやストレージエンジンをまたいでデータを移行する場合は、事前に互換性を確認してください。
-
adminデータベースとlocalデータベースは、移行元データベースまたは移行先データベースとして設定できません。 -
DTS はデータを並行して書き込むため、移行先データベースが移行元データベースよりも 5% から 10% 多くのストレージを使用する場合があります。
-
移行先データベースに、移行元データベースと同じプライマリキー (
_id) を持つドキュメントが含まれていないことを確認してください。含まれている場合、データ損失が発生する可能性があります。そのようなドキュメントが存在し、サービスに影響を与えない場合は、移行前に移行先データベースから削除してください。
課金
|
移行タイプ |
リンク設定料金 |
パブリックネットワークトラフィック料金 |
|
全量データ移行 |
無料 |
パブリックネットワーク経由で Alibaba Cloud からデータを移行する場合、トラフィックに対して課金されます。詳細については、「課金の概要」をご参照ください。 |
|
増分データ移行 |
課金されます。詳細については、「課金の概要」をご参照ください。 |
移行タイプ
-
全量データ移行:DTS は、移行元の MongoDB データベースで選択したオブジェクトのすべてのデータを、移行先の MongoDB データベースに移行します。
説明DTS は、データベース、コレクション、インデックスの移行をサポートしています。
-
増分データ移行:全量移行が完了した後、DTS は移行元の MongoDB データベースからの増分データ変更を移行先の MongoDB データベースに同期します。
説明-
DTS は、データベース、コレクション、インデックスの作成および削除操作を同期できます。
-
DTS は、ドキュメントの作成、更新、削除操作を同期できます。
-
データベースアカウントの権限
|
データベースソース |
権限 |
|
セルフマネージド MongoDB データベース |
移行するデータベースに対する |
|
ApsaraDB for MongoDB インスタンス |
移行先データベースに対する |
データベースアカウントを作成し、権限を付与するには:
-
セルフマネージド MongoDB データベースについては、MongoDB の公式ドキュメント「db.createUser()」をご参照ください。
-
ApsaraDB for MongoDB インスタンスについては、「DMS を使用したデータベースアカウントの管理」をご参照ください。
操作手順
-
DTS コンソール にログインします。
-
左側メニューで、データの移行 をクリックします。
-
[移行タスク] ページの上部で、移行先の ApsaraDB for MongoDB インスタンスのリージョンを選択します。
-
ページの右上隅にある 移行タスクの作成 をクリックします。
-
移行元データベースと移行先データベースを設定します。
カテゴリ
パラメーター
説明
N/A
タスク名
DTS は自動的にタスク名を生成します。識別しやすいように、分かりやすい名前を指定することを推奨します。名前は一意である必要はありません。
移行元データベース
インスタンスタイプ
移行元データベースのデプロイ場所を選択します。このトピックでは、[パブリック IP アドレスを持つユーザー作成データベース] を例として使用します。
説明セルフマネージドデータベースのインスタンスタイプが異なる場合は、追加の準備が必要になることがあります。詳細については、「データ移行の準備」をご参照ください。
インスタンスリージョン
[パブリック IP アドレスを持つユーザー作成データベース] を選択した場合、インスタンスのリージョン を設定する必要はありません。
説明セルフホストデータベースにホワイトリストが設定されている場合は、インスタンスのリージョン 設定項目の後にある [DTS IP セグメントの取得] をクリックして DTS サーバーの IP アドレスを取得し、セルフホストデータベースのホワイトリストに追加します。
データベースタイプ
MongoDB を選択します。
ホスト名または IP アドレス
セルフマネージド MongoDB データベースの接続アドレスを入力します。この例では、パブリック IP アドレスを入力します。
ポート
セルフマネージド MongoDB データベースのサービスポートを入力します。
説明この例では、サービスポートがパブリックネットワーク経由でアクセス可能である必要があります。
データベース名
データベースアカウントを含む認証データベースの名前を入力します。
データベースアカウント
セルフマネージド MongoDB データベースのアカウントを入力します。必要な権限については、「データベースアカウントの権限」をご参照ください。
データベースパスワード
データベースアカウントのパスワードを入力します。
説明移行元データベース情報を入力した後、データベースのパスワード の横にある 接続テスト をクリックして情報を確認します。情報が正しければ、[合格] というメッセージが表示されます。[失敗] というメッセージが表示された場合は、[失敗] の横にある チェック をクリックし、プロンプトに基づいて移行元データベース情報を調整します。
接続モード
非暗号化 を選択します。
説明SSL 暗号化 は、MongoDB Atlas データベースからデータを移行する場合にのみ選択できます。
移行先データベース
インスタンスタイプ
[MongoDB インスタンス] を選択します。
インスタンスリージョン
移行先の ApsaraDB for MongoDB インスタンスのリージョンを選択します。
MongoDB インスタンス ID
移行先の ApsaraDB for MongoDB インスタンスの ID を選択します。
データベース名
データベースアカウントを含む認証データベースの名前を入力します。
データベースアカウント
ApsaraDB for MongoDB インスタンスのアカウントを入力します。必要な権限については、「データベースアカウントの権限」をご参照ください。
データベースパスワード
データベースアカウントのパスワードを入力します。
説明移行先データベース情報を入力した後、データベースのパスワード の横にある 接続テスト をクリックして情報を確認します。情報が正しければ、[合格] というメッセージが表示されます。[失敗] というメッセージが表示された場合は、[失敗] の横にある チェック をクリックし、プロンプトに従って移行先データベース情報を調整します。
-
設定が完了したら、[ホワイトリストを設定して次へ] をクリックします。
移行元または移行先が ApsaraDB RDS for MySQL や ApsaraDB for MongoDB などの Alibaba Cloud データベースインスタンスである場合、DTS は対応するリージョンにあるサーバーの CIDR ブロックをインスタンスのホワイトリストに自動的に追加します。移行元または移行先が ECS インスタンス上のセルフマネージドデータベースである場合、DTS はサーバーの CIDR ブロックを ECS インスタンスのセキュリティグループのセキュリティルールに自動的に追加します。また、セルフマネージドデータベースが ECS インスタンスからのアクセスを許可していることを確認する必要があります。データベースが複数の ECS インスタンスにまたがるクラスターである場合は、追加の各 ECS インスタンスのセキュリティルールに DTS の CIDR ブロックを手動で追加する必要があります。移行元または移行先がオンプレミスのデータセンターまたは他のクラウドプラットフォーム上のデータベースである場合は、その環境のファイアウォールまたはセキュリティグループに DTS サーバーの CIDR ブロックを手動で追加する必要があります。DTS サーバーの CIDR ブロックのリストについては、「DTS サーバーの CIDR ブロック」をご参照ください。
警告DTS サーバーのパブリック CIDR ブロックを自動または手動で追加すると、セキュリティリスクが生じる可能性があります。本製品を使用することにより、これらの潜在的なリスクを認識し、受け入れるものとします。強力なパスワードの使用、開いているポートの制限、内部 API コールの認証の使用、不要なネットワークセグメントの定期的な確認と制限、または Express Connect、VPN Gateway、Smart Access Gateway などのプライベートネットワーク経由での接続など、基本的なセキュリティ対策を講じる責任はお客様にあります。
-
移行タイプとオブジェクトを選択します。
パラメーター
説明
移行タイプ
-
全量データ移行のみを実行するには、[全量データ移行] を選択します。
-
ダウンタイムを最小限に抑えてデータを移行するには、[全量データ移行] と [増分データ移行] の両方を選択します。
説明-
DTS は、oplog を有効にした場合にのみ、スタンドアロンインスタンスの増分データ移行をサポートします。
-
増分データ移行を選択しない場合、データの一貫性を確保するために、全量データ移行中に移行元データベースに新しいデータを書き込まないでください。
移行オブジェクト
-
[利用可能] ボックスで移行するオブジェクトを選択し、
アイコンをクリックして 選択中のオブジェクト ボックスに移動させます。説明DTS は、
admin、local、またはconfigデータベースの移行をサポートしていません。 -
データベース、コレクション、またはインデックスを移行オブジェクトとして選択できます。
-
デフォルトでは、オブジェクト名はソースデータベースと宛先データベースで同じままです。宛先データベースのオブジェクト名を変更するには、オブジェクト名のマッピング機能を使用します。詳細については、「オブジェクト名のマッピング」をご参照ください。
マップされたオブジェクトの名前変更
この機能を使用して、移行先データベースで移行されたオブジェクトの名前を変更できます。詳細については、「オブジェクト名マッピング」をご参照ください。
接続再試行期間
デフォルトでは、DTS は 12 時間接続を再試行します。この期間はカスタマイズできます。指定された時間内に移行元または移行先データベースへの接続が復元された場合、タスクは自動的に再開されます。それ以外の場合、タスクは失敗します。
説明再試行期間中、DTS インスタンスに対して課金されます。合理的な再試行期間を設定するか、移行元インスタンスと移行先インスタンスがリリースされた後、速やかに DTS インスタンスをリリースすることを推奨します。
-
-
設定が完了したら、ページの右下隅にある [事前チェックと起動] をクリックします。
説明-
移行タスクが開始される前に、DTS は事前チェックを実行します。タスクは、事前チェックに合格した場合にのみ開始できます。
-
事前チェックが失敗した場合は、失敗した項目の横にある
アイコンをクリックして詳細を表示します。-
プロンプトに従って問題を修正し、事前チェックを再度実行します。
-
警告項目を修正する必要がない場合は、無視 を選択し、[警告を無視して再実行] をクリックして事前チェックを再度実行できます。
-
-
-
事前チェックに合格したら、次へ をクリックします。
-
[設定の確認] ページで、インスタンスクラス を選択し、[Data Transmission Service (従量課金) サービス規約] チェックボックスをオンにします。
-
購入して起動 をクリックして移行タスクを開始します。
-
全量データ移行
不完全なデータになる可能性があるため、タスクを手動で停止しないでください。タスクが完了するまで待ちます。タスクは自動的に停止します。
-
増分データ移行
タスクは自動的に停止しません。手動で停止する必要があります。
説明オフピーク時間や、ワークロードを移行先の ApsaraDB for MongoDB インスタンスに切り替える前など、適切なタイミングでタスクを停止することを推奨します。
-
タスクのステータスが 増分データ移行 に変わり、遅延なし と表示されるまで待ってください。その後、移行元データベースへのデータ書き込みを数分間停止してください。増分データ移行 のステータスが一時的に遅延を示すことがあります。
-
増分データ移行 のステータスが再び 遅延なし に変わったら、タスクを手動で停止してください。この時点で、[移行タスク] ページのタスクステータスは [移行中] であり、[全量移行] の進捗は [100%] と表示されます。
-
-
-
ワークロードを ApsaraDB for MongoDB インスタンスに切り替えてください。