Compose から MongoDB Atlas への移行
Overview
このガイドでは、Atlas ライブ移行プロセスを使用して Compose から MongoDB Atlas にデータを移行する方法について説明します。
MongoDB Atlas ライブ移行サービスを使用すると、MongoDB データベースを当社のフルマネージドクラウドデータベースである MongoDB Atlas に迅速かつ安全に移行できます。 既存の MongoDB database に接続し、アプリケーションが正常に機能し続けている間に、Atlas で実行されているクラスターと同期することで機能します。 2 つのクラスター間のデータが同期されたら、アプリケーション内のデータベース接続stringを更新して、 Atlasのクラスターに移行できます。
所要時間: 20 分
必要なもの
重要
Compose 配置で SSL を有効にしている場合、ライブ移行プロセスを完了するには SSL 証明書にアクセスする必要があります。
一部の Compose 配置では、Compose UI で SSL 証明書を表示できなくなりました。 配置がこれに当てはまる場合は、次の 2 つのオプションがあります。
SSL 証明書をリクエストするには、Compose に直接お問い合わせください。
MongoMirrorを使用して、Atlas にデータを移行します。
Composer のドキュメント を参照 SSL 証明書の詳細については、 を参照してください。
データは現在 MongoDB database にあります。
このガイドでは、Compose の既存の MongoDB デプロイから Atlas への移行に焦点を当てます。
現在の MongoDB database は MongoDB 2.6 以降を実行しています。
Atlas は MongoDB の最新バージョン ( 4.2 、 4.4 、 5.0 、 6.0 )をサポートしています。 MongoDB バージョン2.6以降を実行している場合、Atlas ライブ移行サービスは新しいデータベース バージョンにデータを直接移動できます。 MongoDB ドライバーを更新し、アプリケーション レベルで必要なコードを変更して互換性を確保します。 2より古いバージョンを実行している場合。 6 、 「 MongoDB を にアップグレードする26 」を参照してください。 アップグレード手順については、 を参照してください。
現在の配置は MongoDB レプリカセットまたはシャーディングされたクラスターです。
配置が現在スタンドアロン インスタンスである場合は、まずそれをレプリカセットに変換する必要があります。
シャーディングされたクラスターからのデータのライブ移行はサポートされていません。 宛先クラスターはシャーディングできますが、ソースクラスターはシャーディングされていないレプリカセットである必要があります。
(任意)ソース配置で認証を有効にしました。
移行プロセスでは、 Amazon Web Servicesのソースクラスターで認証が有効になっている必要があります。 認証を有効にする手順については、「 認証を有効にする 」を参照してください。 ソースクラスターで認証が有効になっているかどうかは、
mongosh
コマンドを使用して確認できます。mongosh <mongodb-connection-string> -u <mongodb-username> -p --authenticationDatabase admin 移行を実行するために使用するソースクラスターのデータベースユーザーには、必要な MongoDB ロールがあります。
readAnyDatabase
のロール。clusterMonitor
のロール。backup
のロール。
ライブ移行プロセスを実行するデータベースユーザーがこれらのロールを持っていることを確認するには、
admin
データベースでdb.getUser()コマンドを実行します。use admin db.getUser("admin") { "_id" : "admin.admin", "user" : "admin", "db" : "admin", "roles" : [ { "role" : "backup", "db" : "admin" }, { "role" : "clusterMonitor", "db" : "admin" } { "role" : "readAnyDatabase", "db" : "admin" } ] } ... さらに、Compose のソースクラスターのデータベースユーザーには、
admin
データベース上の oplog を読み取るロールが必要です。 「 oplogアクセス」を参照してください。 次の手順で Compose に oplog ユーザーを追加するときに、このロールへのアクセス権を取得します。 Compose でソースクラスターのデータベースユーザーにこれらの権限のすべてを付与できない場合、ライブ移行プロセスは機能しません。 この場合は、 mongodump と mongorestoreを使用してデータを Atlas に移行します。
手順
Composer アカウントにログインします。
Composer アカウント へのログイン をクリックし、Atlas に移行する配置に移動します。
注意
移行プロセス中に、Compose 配置コンソールで 1 つのブラウザ ウィンドウを開き、 Atlas コンソールで 1 つのウィンドウを開いたままにしておくと便利です。
oplog ユーザーを作成します。
左側のナビゲーションで [ Add-onsリンクをクリックします。 Oplog Accessアドオンがない場合は、 Addボタンで追加します。
Oplog Accessアドオンをすでにお持ちの場合は、 Configureをクリックして oplog ユーザーのユーザー名とパスワードを表示します。
移行プロセスを実行するには、oplog ユーザーは次の特権を持っている必要があります。
readAnyDatabaseロール。
clusterMonitorのロール。
バックアップロール。
これらの権限を oplog ユーザーに付与できない場合、ライブ移行プロセスは機能しません。 この場合は、 mongodump と mongorestoreを使用してデータを Atlas に移行します。
Composer 配置のホスト名とポートを Atlas ライブ移行ダイアログに追加します。
Oplog Accessの追加ページには、string アクセス用のホスト名とポートを含む接続oplog があります。これらを Atlas ライブ移行ダイアログにコピーします。
Composer TLS/SSL 証明書 データを入力します。
Compose 配置で TLS/SSL が有効になっていない場合は、この手順をスキップします。
重要
一部の Compose 配置では、Compose UI で TLS/SSL 証明書を表示できなくなりました。 配置がこれに当てはまる場合は、次の 2 つのオプションがあります。
TLS/SSL 証明書をリクエストするには、Compose に直接問い合わせます。
MongoMirrorを使用して、Atlas にデータを移行します。
Composer のドキュメント を参照してください SSL 証明書の詳細については、 を参照してください。
Oplog Access追加ページで、SSL 証明書を見つけます。 Atlas ライブ移行ダイアログの CAFile テキスト ボックスにコピーします。
注意
BEGIN CERTIFICATE
行とEND CERTIFICATE
行を含む証明書ファイル全体をコピーします。
カットオーバーを実行します。
Atlas は、ソースクラスターと宛先クラスターがほぼ同期していることを検出すると、延長可能な 72 時間のタイマーを開始してカットオーバー手順を開始します。 72 時間が経過すると、Atlas はソースクラスターとの同期を停止します。 <time> left to cut overタイマーの下のExtend timeハイパーリンクをクリックすると、残り時間を 24 時間延長できます。
アプリケーションを宛先の Atlas クラスターに移行する準備ができたら、Prepare to Cutover をクリックします。
Atlas には、カットオーバーの進め方を示すウォークスルー画面が表示されます。これらの手順は、以下でも概説しています。
アプリケーションを停止します。 これにより、ソースクラスターに対して追加の書込み (write) が生成されなくなります。
optime ギャップが 0 になるまで待ちます。カウンターがゼロに達すると、ソースクラスターと宛先クラスターは同期されます。
ライブ移行 のカットオーバー UI のステップ 3 で提供された接続stringを使用してアプリケーションを再起動します。
カットオーバー手順を完了し、アプリケーションが Atlas クラスターで正常に動作していることを確認したら、 Cut Overをクリックして移行手順を完了します。 これにより、Atlas では次のことが可能になります。
移行プランを完了としてマークします。
アプリケーション サーバーのサブネットを宛先クラスターの IP アクセス リストから削除する。
ライブ移行で宛先クラスターへのデータのインポートに使用した MongoDB ユーザーを削除する。
移行サポート
このドキュメントで説明されている範囲外で移行に関して質問がある場合、または移行中にエラーが発生した場合は、サポートのリクエスト に関する Atlas のドキュメントを参照してください。
概要
Atlas クラスターを作成し、古い Compose クラスターからデータを移行し、新しい Atlas クラスターを使用するようにアプリケーションを更新しました。 承認され、MongoDB Atlas へようこそ。