本ガイドは、MongoDB 3.4 を実行している ApsaraDB for MongoDB のユーザーを対象としています。サブスクリプションを更新できないという通知を受け取った場合、または MongoDB 3.4 のサポート終了後に何が起こるかを知りたい場合は、本ガイドをご参照ください。
ご利用のインスタンスは影響を受けますか?
このセクションを読むべき方:EOFS 関連の通知を受け取ったが、ご利用のインスタンスが影響を受けるかどうかがわからない方。
EOFS とは?
EOFS (フルサポート終了) は、Alibaba Cloud 製品ライフサイクルの一段階です。MongoDB 3.4 は EOFS 段階に入っており、これは以下のことを意味します。
|
日付 |
イベント |
影響 |
|---|---|---|
|
2023年1月1日 |
新規販売終了 (EOM) |
MongoDB 3.4 インスタンスは購入できなくなります |
|
2026年6月30日 |
更新および仕様変更の終了 (EOFS) |
更新および仕様変更 (スケールアップ、スケールダウン、ストレージタイプの変更) はサポートされなくなります |
|
2026年12月31日 |
サービス終了 (EOS) |
インスタンスリソースがリリースされ、すべてのサービスが利用不可になります |
2026 年 6 月 30 日以降、MongoDB 3.4 インスタンスは更新または仕様変更ができなくなります。有効期限後にサブスクリプションを更新できない場合、これが原因です。
インスタンスが影響を受けるかどうかの確認方法
-
MongoDB コンソールにログインします。
-
インスタンスリストで、対象インスタンスの [データベースバージョン] 列を確認します。
-
バージョンが 3.4 と表示されている場合、そのインスタンスは EOFS の影響を受けるため、できるだけ早くアップグレードする必要があります。
EOFS 後の具体的な制限事項
|
操作 |
EOFS 後のサポート状況 |
|---|---|
|
既存インスタンスの継続利用(有効期限切れ前) |
はい |
|
更新 |
いいえ(更新前にアップグレードが必要です) |
|
仕様変更(ディスク拡張、スケールアップ、スケールダウン) |
いいえ |
|
ストレージタイプの変更(ローカルディスクからクラウドディスクへ) |
いいえ |
|
メジャーバージョンアップグレード |
はい(アップグレードの条件を満たす必要があります) |
|
サブスクリプションの解約 |
はい |
|
自動更新 |
自動的に無効化されます |
自動更新
インスタンスのインプレースアップグレードは可能ですか?アップグレードパスのクイックリファレンス
自動的に無効化
アップグレードパスのクイックリファレンス表
EOFS の後は、従量課金に切り替えることはできません。期限切れ後、インスタンスは 15 日間ロックされ、アクセスできなくなります。詳細については、「このガイドのセクション 6」をご参照ください。
|
アーキテクチャ |
ストレージタイプ |
現在のバージョン |
アップグレード先 |
アップグレード方法 |
|---|---|---|---|---|
|
スタンドアロン |
汎用クラウドディスク |
3.4 |
直接アップグレード不可 |
新規インスタンス + DTS 移行が必須 |
|
レプリカセット |
ローカルディスク |
3.4 |
4.0 または 4.2 |
コンソールから直接アップグレード |
|
レプリカセット |
クラウドディスク |
3.4 |
4.0 または 4.2 |
コンソールから直接アップグレード |
|
シャードクラスター |
ローカルディスク |
3.4 |
4.0 または 4.2 |
コンソールから直接アップグレード |
|
シャードクラスター |
専用クラウドディスク |
3.4 |
4.0 または 4.2 |
コンソールから直接アップグレード |
|
サーバーレス |
— |
4.2 |
上位バージョンなし |
— |
冗長データの整理: アップグレードする前に、未使用のコレクション、インデックス、または一時データを削除して空き容量を確保します。
3.2 なぜスタンドアロンインスタンスは直接スペックアップできないのですか?
直接スペックアップを試行する: 20% はあくまで推奨値であり、厳密なしきい値ではありません。空き領域が推奨値よりわずかに少なくても、スペックアップに成功する可能性があります。空き領域不足が原因でスペックアップに失敗した場合でも、システムはインスタンスに影響を及ぼすことなく自動的にロールバックします。
3.3 ローカルディスク 4.2 はアップグレード可能な最上位バージョン
DTS 移行: より大きなディスク領域を持つ新しい上位バージョンのインスタンスを購入し、DTS を使用してデータを移行し、移行後に旧インスタンスをリリースします。この方法では、ディスク領域による制限を受けません。
-
3.4 から 4.0 および 4.2 にアップグレードする際の互換性の変更点は、以下のとおりです。
-
4.0 へのアップグレード (3.6 経由):
3.4 から 4.2 へ直接アップグレードできますか (4.0 をスキップ)?
-
変更
-
説明
アップグレード中に何が起こりますか?影響評価
aggregate 戻り値
アップグレードによるサービス中断時間はどのくらいですか?
-
レプリカセットとシャードクラスター:アップグレードにより 1〜2 回のプライマリ/セカンダリのフェールオーバーがトリガーされ、それぞれ約 30 秒の短時間の切断が発生します。
説明snapshotクエリオプションサポートが終了しました
配列のソート
-
$sort集約ステージのメモリ制限は 100 MB です。
アップグレードによってデータは失われますか?
更新操作
アップグレード後、アカウントの認証情報は変更されますか?
複数のフィールドを同時に更新する場合、新しいフィールドは辞書順で追加されます
アップグレード後、接続文字列は変更されますか?
-
reIndex -
インデックスの再構築が完了するまで、グローバルな書き込みロックを追加します
copydb、clone
アップグレード後にロールバックできますか?
サポートされなくなりました (4.2 で正式に削除されました)
4.2 へのアップグレード (3.6 → 4.0 → 4.2 経由、上記のすべての変更に加え、以下の内容が含まれます):
アップグレード前にディスク領域を確認する必要がありますか?
変更
-
説明
-
グループコマンド -
削除されました (バージョン 3.4 以降は非推奨となり、バージョン 4.2 で正式に削除されました)。代わりに
db.collection.aggregate()またはmapReduce()を使用してください。
どのような互換性リスクがありますか?
3.4 から 4.0 および 4.2 にアップグレードする際に導入される互換性の変更は以下の通りです。
削除 (4.0 以降はサポート対象外、4.2 で正式に削除)
|
変更 |
サポートされなくなりました。代わりに |
|
|
サポートされなくなりました。代わりに |
|
|
サポートされなくなりました |
|
|
サポートされていません。 |
|
再試行可能な書き込み |
オープンソース ドライバーでは、デフォルトで有効です。 |
|
|
詳細については、「MongoDB メジャーバージョンアップにおける互換性の変更」をご参照ください。 |
|
このセクションをお読みいただくケース: スペックアップが必要なことはわかっているものの、お使いのインスタンスがコンソールから直接スペックアップできるのか、あるいは移行を必要とするのかが不明な場合。 |
お使いのインスタンスアーキテクチャとストレージタイプに基づいて、スペックアップパスを確認してください: |
アーキテクチャ
|
ストレージタイプ |
現在のバージョン |
|
アップグレード対象 |
アップグレードメソッド |
|
スタンドアロン |
汎用クラウドディスク |
|
3.4 |
直接アップグレードはサポートされていません |
|
新しいインスタンス + DTS 移行必須 |
レプリカセット |
|
ローカルディスク |
3.4 |
|
4.0 または 4.2 |
サポートされなくなりました |
|
レプリカセット |
クラウドディスク |
3.4
4.0 または 4.2
アップグレード前のチェックリスト
このセクションを読むべき方:アップグレードパスを決定し、アップグレードの開始準備をしている方。
シャーディングされたクラスター
-
ローカルディスク
-
3.4
-
4.0 または 4.2
-
アップグレードパス (コンソールからの直接アップグレードまたは DTS 移行) の確認
-
シャーディングされたクラスター
-
専用クラウドディスク
-
3.4
-
4.0 または 4.2
-
Java ドライバーのバージョンとターゲット MongoDB バージョンの互換性を確認
-
サーバーレス
-
—
-
4.2
アップグレード手順
利用可能な上位バージョンはありません
コンソールからの直接アップグレード (レプリカセット/シャードクラスター)
ステップ 1:手動バックアップ
ー
ステップ 2:ディスク領域の確認
4.2 より高いバージョン (5.0、6.0、7.0、8.0 など) にアップグレードするには、まず 4.2 にアップグレードしてから、段階的にアップグレードします。別の方法として、新しい高バージョンのインスタンスを作成し、DTS を使用してデータを移行します。
ステップ 3:アップグレードの実行
-
スタンドアロンアーキテクチャは、レプリカセット/シャードクラスターアーキテクチャとは異なります。スタンドアロンインスタンスにはレプリカセットが持つような高可用性メカニズムがなく、コンソールのアップグレード機能で用いられるローリングアップグレード方式は、スタンドアロンアーキテクチャには適用できません。このため、スタンドアロン 3.4 インスタンスは、以下の方法でアップグレードする必要があります。
-
新しい高バージョンのインスタンス (4.2 レプリカセットなど) を購入します。
-
DTS (Data Transmission Service) を使用して、旧インスタンスから新インスタンスにデータを移行します。
-
移行完了後、業務を新しい インスタンスに切り替えます。
MongoDB 4.2 は、スタンドアロンインスタンスの購入に対応しています。スタンドアロンアーキテクチャを維持したい場合は、4.2 のスタンドアロンインスタンスを購入できます。
ステップ 4:アップグレード完了を待つ
-
ローカルディスクインスタンスは、コンソール経由では 4.2 までしかアップグレードできません。5.0 以上にアップグレードするには、新しいクラウドディスクインスタンスを作成し、DTS を使用してデータを移行する必要があります。
-
はい。 コンソールでは、アップグレード先として 4.2 を直接選択できます。バックエンドではメジャーバージョンが段階的に (3.4 → 3.6 → 4.0 → 4.2) アップグレードされ、各バージョンのステップで 1 回の瞬断が発生します。中間バージョンに対して手動で介入する必要はありません。
-
このセクションを読むタイミング:アップグレードパスを決定し、アップグレードを開始する準備をしている場合。
-
スペックアップを開始する前に、各項目をご確認ください:
アップグレード後の検証
アップグレードが完了したら、以下の検証を実行してください。
-
スペックアッププロセスでは、それぞれ約 30 秒の短い切断が 2~3 回発生します。アプリケーションに再接続メカニズムが備わっていることを確認してください。
-
スペックアップの完了後、インスタンスステータスは「実行中」に戻ります。
-
スペックアップタスクが長時間「スペックアップ中」と表示されている場合、スイッチオーバー時間を [即時切り替え] に変更することで、完了を早めることができます。
-
対象: スタンドアロン 3.4 インスタンスのユーザー。
-
バージョン 4.0 または 4.2 の新しい MongoDB インスタンスを購入します。
アップグレードが間に合わない場合はどうすればよいですか?
ネットワーク接続を確保するために、元のインスタンスと同じリージョンとゾーンを選択することを推奨します。
インスタンスの有効期限が迫っているが、時間内にアップグレードできない場合
新しいインスタンスのストレージ容量は、元のインスタンスの使用済みストレージ容量以上である必要があります。
-
MongoDB 4.0 ではスタンドアロンインスタンスを購入できず、レプリカセットインスタンスを購入する必要があります。MongoDB 4.2 はスタンドアロンインスタンスに対応しています。
-
DTS コンソールに移動します。
-
データ移行タスクを作成します。ソースデータベースには元の 3.4 インスタンスを、ターゲットデータベースには新しい高バージョンインスタンスを選択します。
移行タイプを選択:
インスタンスが有効期限切れでロックされている場合
完全移行: すべてのデータを移行します。ダウンタイムが許容されるシナリオに適しています。完全移行は無料です。
-
完全 + 増分移行:まず完全移行を実行し、次に増分データを継続的に同期します。ダウンタイムなしのスイッチオーバーが求められるシナリオに適しています。
警告-
増分移行を選択した場合は、ソースインスタンスで oplog が有効になっていることを確認してください。
-
スタンドアロン 3.4 インスタンスでは、デフォルトで oplog は有効になっていません。
-
-
oplog を有効化するには、チケットを送信してテクニカルサポートにご連絡ください。oplog を有効化すると、インスタンスの再起動が必要です。この操作はオフピーク時間中に実行してください。
-
レプリカセットおよびシャードクラスターインスタンスでは、デフォルトで oplog が有効になっています。追加の操作は不要です。
よくある質問
Q1:インスタンスの有効期限が迫っており、更新できません。どうすればよいですか?
DTS 移行では、デフォルトでシステムデータベース (admin, local, config) は移行されません。ビジネスデータベースがすべて揃っていることを確認してください。
Q2: コンソールに「データベースバージョンのアップグレード」オプションが表示されない
完全移行が完了した後 (または増分同期のレイテンシーが 0 に近づいたとき)、業務の書き込みを一時停止します。
Q3: 自動更新が動作しなくなったのはなぜですか?
増分同期が完了するまで待ちます。
-
アプリケーションコード内のデータベース接続文字列を、新しいインスタンスを指すように更新します。
-
業務の書き込みを再開します。
Q4: 4.0 と 4.2 のどちらにアップグレードすべきですか?
業務が正常に稼働していることを確認した後、古いインスタンスをリリースします。
-
新旧のインスタンスの接続文字列は異なります。新しいインスタンスの接続文字列のフォーマットは、古いインスタンスと異なる場合があります (ドメインサフィックスが異なる場合があります)。すべての接続設定を必ず更新してください。
-
アップグレードが完了したら、以下の検証を実行してください。
-
バージョン確認:コンソールで、データベースのバージョンが目的のバージョンに変更されたことを確認します。
Q5: アップグレード後、Java コードを修正する必要がありますか?
接続テスト: クライアントを使用してインスタンスに接続し、接続が正常であることを確認します。
Q6: 200 GB のデータを移行するのに、どのくらいの時間がかかりますか?
データの整合性: キービジネスデータが完全であるかどうかを確認します。
Q7: アップグレードプロセスをキャンセルできますか?
アプリケーションの機能: コアビジネス機能をテストし、正常に動作することを確認します。
Q8: スペックアップ後、レプリカセットコンソールにノードが 2 つしか表示されません
パフォーマンスモニタリング: スペックアップ後にパフォーマンスメトリクスを監視し、正常であることを確認します。
|
このセクションの対象: インスタンスがまもなく有効期限切れになり、時間内にスペックアップを完了できない場合、またはインスタンスがすでに有効期限切れになりロックされている場合。 |
インスタンスの有効期限が切れる前にスペックアップを完了できない場合は、速やかに以下の情報を添えてチケットを送信してください。 |
インスタンス ID |
|
現在の有効期限 |
|
インスタンスが期限切れになり、ロック済み状態になった場合: |
|
ロックタイムライン: 期限切れ後 1 日目から 15 日目まで、インスタンスはロック済みとなり、アクセスできなくなります。期限切れ後 16 日目に、インスタンスのコンピューティングリソースがリリースされます。期限切れ後 23 日目に、データは保持されなくなります。 |
|
データがリリースされる前に、必ずチケットを送信してください。ローカルディスクインスタンスの場合、有効期限切れ後 23 日目になる前にチケットを送信してください。クラウドディスクインスタンスの場合、バックアップ保持ポリシーに基づいて期限を確認してください。 |
スタンドアロンインスタンスは、リリース後にゴミ箱から解凍できません。お使いのインスタンスがスタンドアロンアーキテクチャを使用している場合、ロック期間中 (有効期限が切れてから 1 日目から 15 日目まで) にすぐにチケットを送信してください。コンピューティングリソースがリリースされるまで待たないでください。詳細については、「ゴミ箱の注意事項」をご参照ください。
Q9: インスタンスの有効期限が切れた後、データは保持されますか?
A: すぐにチケットを起票して、状況を説明してください。お使いのインスタンスがレプリカセットまたはシャードクラスターの場合、コンソールから直接 4.0 または 4.2 にアップグレードすることもできます。アップグレード後は、通常どおり更新できます。
Q10: 3.4 から 4.0 への互換性の問題はありますか?
A: 最も考えられる原因は、インスタンスがスタンドアロンアーキテクチャであることです。スタンドアロンの 3.4 インスタンスは、コンソールからの直接スペックアップをサポートしておらず、新しいインスタンスへの DTS 移行が必要です。操作手順については、セクション 5.2 をご参照ください。インスタンスがスタンドアロンではないことを確認してもスペックアップオプションが表示されない場合は、コンソールのスクリーンショットを添付してチケットを送信してください。
Q11: EOFS 後に、従量課金に切り替えることはできますか?
A: 2026年6月30日以降、MongoDB 3.4 は更新サービスのサポートを終了するため、自動更新が停止します。EOFS 日の前に、システムから SMS およびサイト内メッセージで通知が送信されます。更新を再開するには、データベースのメジャーバージョンをアップグレードする必要があります。
-
A:
-
お使いのコードで
groupコマンドを使用している場合は、まず 4.0 へのアップグレードを推奨します (4.0 でもgroupは利用可能ですが、非推奨です)。リファクタリングが完了したら、4.2 にアップグレードしてください。
Q12: 運用担当者なしでスペックアップを完了するにはどうすればよいですか?
group コマンドを使用しない場合は、直接 4.2 にスペックアップできます。バージョン 4.2 ではコンソールのディスク領域解放 (compact) がサポートされていますが、4.0 ではサポートされていません。
Q13: "InvalidSaleComponentFault" エラーでアップグレードに失敗する
A: 3.4 から 4.0/4.2 へのアップグレードでは、通常 Java コードの変更は必要ありませんが、次の点をご確認ください。
付録:関連ドキュメント
|
|
|
|
お使いの Java ドライバーバージョンは、対象の MongoDB バージョンと互換性があります (MongoDB 公式推奨のドライバーバージョンの使用を推奨します。詳細は ドライバー互換性マトリックスをご参照ください) |
A: DTS 移行では、200 GB のデータは通常、数時間で完了します。完全移行は無料です。増分移行 (ゼロダウンタイムのスイッチオーバー) が必要な場合は、まずソースインスタンスで oplog を有効にする必要があります。 |
|
A: 進行中のスペックアップタスクはキャンセルできません。ただし、スイッチオーバー時間を変更して、スイッチオーバーをオフピーク時間まで遅らせることができます。オフピーク時間中にスペックアップを開始することをお勧めします。 |
A: これは正常です。デフォルトでは、レプリカセットの隠しノードはコンソールに表示されません。インスタンスは引き続き 3 ノードアーキテクチャを維持しており、高可用性に影響はありません。 |
|
A: |
期限切れ後 1~15 日目:インスタンスはロック済みでアクセスできませんが、データは保持されます。 |
|
有効期限切れ後 16 日目: コンピューティングリソースがリリースされ、データはバックアップ保持ポリシーに基づいて一定期間保持されます。 |
有効期限切れ後 23 日目: ローカルディスクのデータは保持されなくなります。クラウドディスクインスタンスの場合、データの保持はバックアップ保持ポリシーによって決まります。 |
|
データを回復するには、すぐにチケットを送信してください。アクセスが復旧した後、データをエクスポートできます。エクスポートが完了したら、インスタンスの登録を解除できます。 |
スタンドアロンインスタンスは、リリース後にゴミ箱から復元できません。お使いのインスタンスがスタンドアロンアーキテクチャの場合、ロック期間 (1日目から15日目) 中にただちにチケットを送信してください。 |
MongoDB 3.4 EOFS アップグレードガイド
本ガイドは、MongoDB 3.4 を実行している ApsaraDB for MongoDB のユーザーを対象としています。サブスクリプションを更新できないという通知を受け取った場合、または MongoDB 3.4 のサポート終了後に何が起こるかを知りたい場合は、本ガイドをご参照ください。
1. ご利用のインスタンスは影響を受けますか?
このセクションを読むべき方:EOFS 関連の通知を受け取ったが、ご利用のインスタンスが影響を受けるかどうかがわからない方。
1.1 EOFS とは?
EOFS (フルサポート終了) は、Alibaba Cloud 製品ライフサイクルの一段階です。MongoDB 3.4 は EOFS 段階に入っており、これは以下のことを意味します。
|
日付 |
イベント |
影響 |
|---|---|---|
|
2023 年 1 月 1 日 |
新規購入終了 (EOM) |
MongoDB 3.4 インスタンスは購入できなくなります |
|
2026 年 6 月 30 日 |
更新および仕様変更の終了 (EOFS) |
更新および仕様変更 (スケールアップ/スケールダウン/ストレージタイプ変更) がサポートされなくなります |
|
2026 年 12 月 31 日 |
サービス終了 (EOS) |
インスタンスリソースが解放され、すべてのサービスが利用できなくなります |
2026 年 6 月 30 日以降、MongoDB 3.4 インスタンスは更新または仕様変更ができなくなります。有効期限後にサブスクリプションの更新に失敗した場合、これが原因です。
1.2 インスタンスが影響を受けるかどうかの確認方法
-
MongoDB コンソールにログインします。
-
インスタンスリストで、対象インスタンスの [データベースバージョン] 列を確認します。
-
バージョンが 3.4 と表示されている場合、そのインスタンスは EOFS の影響を受けるため、できるだけ早くアップグレードする必要があります。
1.3 EOFS 後の具体的な制限事項
|
操作 |
EOFS 後のサポート状況 |
|---|---|
|
既存インスタンスの継続利用 (有効期限前) |
はい |
|
更新 |
いいえ (更新前にアップグレードが必要) |
|
仕様変更 (ディスク拡張/スケールアップ/スケールダウン) |
いいえ |
|
ストレージタイプ変更 (ローカルディスクからクラウドディスクへ) |
いいえ |
|
メジャーバージョンアップ |
はい (アップグレード条件を満たす必要があります) |
|
登録解除 |
はい |
|
自動更新 |
自動的に無効化 |
EOFS 後は、従量課金への切り替えはできません。有効期限が切れると、インスタンスは 15 日間のロック状態に入り、アクセスできなくなります。詳細については、本ガイドのセクション 6 をご参照ください。
2. アップグレード中に何が起こりますか?影響評価
このセクションを読むべき方:アップグレードが必要なことはわかっているが、ビジネスへの影響を懸念している方。
2.1 アップグレードによるサービス中断時間はどのくらいですか?
アップグレードはローリングアップグレード方式を使用します。プロセス中に、インスタンスは 2〜3 回自動的に再起動され、各再起動で約 30 秒の短時間の切断が発生します。
|
ストレージタイプ |
推定アップグレード時間 |
説明 |
|---|---|---|
|
ローカルディスク |
数分 |
近接バージョンのアップグレードではインスタンスの再起動時間に類似 |
|
クラウドディスク (ESSD) |
約 15 分 |
データ量に依存 |
クロスバージョンアップグレード (3.4 から 4.2 など) の場合、バックエンドは段階的にメジャーバージョンをアップグレードし、各バージョンステップで 1 回の短時間の切断が発生します。アップグレードはオフピーク時に実行し、アプリケーションに再接続メカニズムがあることを確認してください。
2.2 アップグレードによってデータは失われますか?
いいえ。アップグレードプロセスによってデータが失われることはありません。ただし、万一に備えて、アップグレード前に手動で完全バックアップを作成することを推奨します。
2.3 アップグレード後、アカウントの認証情報は変更されますか?
いいえ。アカウントとパスワードはアップグレード後も変更されません。
2.4 アップグレード後、接続文字列は変更されますか?
-
インプレースアップグレード (レプリカセット/シャードクラスターのローカルディスク):接続文字列は変更されません。
-
DTS 移行 (スタンドアロンインスタンス):新しいインスタンスの接続文字列は異なります。アップグレード後、アプリケーションコードの接続設定を更新する必要があります。
ConnectionStringURI 高可用性接続文字列を使用することを推奨します。ConnectionStringURI は、接続されたノードが常にプライマリノードであることを保証し、アップグレード中のプライマリ/セカンダリのフェールオーバーによる読み書きの中断を防ぎます。
2.5 アップグレード後にロールバックできますか?
いいえ。メジャーバージョンアップ後のダウングレードはサポートされていません。アップグレードする前に、必ず互換性テストとデータバックアップを実行してください。
メジャーバージョンアップ後、下位バージョンのバックアップデータは ApsaraDB for MongoDB インスタンスに復元できません。バックアップファイルをダウンロードし、下位バージョンのバックアップデータを自主管理 MongoDB データベースに復元することは可能です。詳細については、バックアップデータの復元をご参照ください。
2.6 アップグレード前にディスク領域を確認する必要がありますか?
はい。アップグレードプロセス中のデータ再編成に十分な領域を確保するため、アップグレード前にディスクの空き領域が少なくとも 20% あることを推奨します。EOFS 段階に達しているため、ディスク拡張は利用できなくなっています。ディスクの空き領域が 20% 未満の場合は、以下の代替案を試してください。
-
冗長データのクリーンアップ:未使用のコレクション、インデックス、または一時データを削除して、アップグレード前に領域を解放します。
-
直接アップグレードを試行:20% は推奨値であり、厳密なしきい値ではありません。空き領域がわずかに少なくてもアップグレードが成功する場合があります。領域不足でアップグレードが失敗した場合、システムは自動的にロールバックし、インスタンスに影響はありません。
-
DTS 移行の使用:より大きなディスク領域を持つ新しい高バージョンインスタンスを購入し、DTS を使用してデータを移行し、移行後に古いインスタンスを解放します。この方法はディスク領域に制限されません。
2.7 どのような互換性リスクがありますか?
3.4 から 4.0 および 4.2 にアップグレードする際に導入される互換性の変更は以下の通りです。
4.0 へのアップグレード (3.6 経由):
|
変更点 |
説明 |
|---|---|
|
|
単一のドキュメントを返さなくなり、代わりに |
|
|
サポートされなくなりました |
|
配列のソート |
|
|
更新操作 |
複数のフィールドを同時に更新する場合、新しいフィールドは辞書順で追加されます |
|
|
インデックスの再構築が完了するまでグローバル書き込みロックを追加します |
|
|
サポートされなくなりました (4.2 で正式に削除) |
4.2 へのアップグレード (3.6 → 4.0 → 4.2 経由、上記のすべての変更に加えて以下の変更が含まれます):
|
変更点 |
説明 |
|---|---|
|
|
削除されました (3.4 以降非推奨、4.2 で正式に削除)。代わりに |
|
|
削除されました (4.0 以降サポート対象外、4.2 で正式に削除) |
|
|
サポートされなくなりました。代わりに |
|
|
サポートされなくなりました。代わりに |
|
|
サポートされなくなりました |
|
|
サポートされなくなりました |
|
再試行可能な書き込み (Retryable Writes) |
オープンソースのドライバーでデフォルトで有効 |
group コマンドは MongoDB 4.0 でも利用可能ですが、非推奨とマークされています。4.2 で正式に削除されます。コードで group コマンドを使用している場合は、4.2 にアップグレードする前に aggregate または mapReduce に変更する必要があります。
詳細については、「MongoDB のメジャーバージョンアップにおける互換性の変更点」をご参照ください。
3. インスタンスのインプレースアップグレードは可能ですか?アップグレードパス
このセクションを読むべき方:アップグレードが必要なことはわかっているが、インスタンスをコンソールから直接アップグレードできるのか、それとも移行が必要なのかがわからない方。
3.1 アップグレードパスのクイックリファレンス
インスタンスのアーキテクチャとストレージタイプに基づいてアップグレードパスを確認してください。
|
アーキテクチャ |
ストレージタイプ |
現在のバージョン |
アップグレードターゲット |
アップグレード方法 |
|---|---|---|---|---|
|
スタンドアロン |
汎用クラウドディスク |
3.4 |
直接アップグレードはサポートされていません |
新しいインスタンス + DTS 移行が必要 |
|
レプリカセット |
ローカルディスク |
3.4 |
4.0 または 4.2 |
コンソールからの直接アップグレード |
|
レプリカセット |
クラウドディスク |
3.4 |
4.0 または 4.2 |
コンソールからの直接アップグレード |
|
シャードクラスター |
ローカルディスク |
3.4 |
4.0 または 4.2 |
コンソールからの直接アップグレード |
|
シャードクラスター |
専用クラウドディスク |
3.4 |
4.0 または 4.2 |
コンソールからの直接アップグレード |
|
Serverless |
— |
4.2 |
利用可能な上位バージョンなし |
— |
4.2 より高いバージョン (5.0、6.0、7.0、8.0 など) にアップグレードするには、まず 4.2 にアップグレードしてから、段階的にアップグレードします。または、新しい高バージョンインスタンスを作成し、DTS を使用してデータを移行します。
3.2 なぜスタンドアロンインスタンスは直接アップグレードできないのですか?
スタンドアロンアーキテクチャはレプリカセット/シャードクラスターアーキテクチャとは異なります。スタンドアロンインスタンスにはレプリカセットの高可用性メカニズムがなく、コンソールのアップグレード機能で使用されるローリングアップグレード方式はスタンドアロンアーキテクチャには適用できません。したがって、スタンドアロン 3.4 インスタンスは、以下の方法でアップグレードする必要があります。
-
新しい高バージョンインスタンス (4.2 レプリカセットなど) を購入します。
-
DTS (Data Transmission Service) を使用して、古いインスタンスから新しいインスタンスにデータを移行します。
-
移行が完了したら、ビジネスを新しいインスタンスに切り替えます。
MongoDB 4.2 はスタンドアロンインスタンスの購入をサポートしています。スタンドアロンアーキテクチャを維持したい場合は、4.2 のスタンドアロンインスタンスを購入できます。
3.3 ローカルディスク 4.2 がアップグレード可能な最高バージョンです
ローカルディスクインスタンスは、コンソール経由で最大 4.2 までしかアップグレードできません。5.0 以上にアップグレードするには、新しいクラウドディスクインスタンスを作成し、DTS を使用してデータを移行します。
3.4 3.4 から 4.2 へ直接アップグレードできますか (4.0 をスキップ)?
はい。コンソールでは、アップグレードターゲットとして 4.2 を直接選択できます。バックエンドは段階的にメジャーバージョンをアップグレードし (3.4 → 3.6 → 4.0 → 4.2)、各バージョンステップで 1 回の短時間の切断が発生します。中間バージョンに対して手動で介入する必要はありません。
4. アップグレード前のチェックリスト
このセクションを読むべき方:アップグレードパスを決定し、アップグレードの開始準備をしている方。
アップグレードを開始する前に、各項目を確認してください。
-
インスタンスアーキテクチャ (スタンドアロン/レプリカセット/シャードクラスター) とストレージタイプ (ローカルディスク/クラウドディスク) の確認
-
シャードクラスターの場合、インスタンスのプロトコルタイプが MongoDB プロトコルであることを確認 (DynamoDB プロトコルのインスタンスはアップグレードをサポートしていません)
-
シャードクラスターの場合、アップグレード中にバランサーが自動的に停止し、アップグレード完了後に自動的に再起動されることを理解する
-
アップグレードパス (コンソールからの直接アップグレードまたは DTS 移行) の確認
-
ターゲットバージョン (4.0 または 4.2) の確認
-
ディスクの空き領域が少なくとも 20% あることを確認
-
手動で完全バックアップを作成
-
コードが削除されたコマンド (
group、copydb、clone、geoNear、cloneCollection、repairDatabaseなど) を使用していないか確認 -
Java ドライバーのバージョンとターゲット MongoDB バージョンの互換性を確認
-
アプリケーションに再接続メカニズムがあることを確認
-
オフピーク時にアップグレードをスケジュール
-
ConnectionStringURI 高可用性接続文字列を使用
5. アップグレード手順
このセクションを読むべき方:アップグレード前のチェックリストを完了し、具体的な操作手順が必要な方。
5.1 パス A:コンソールからの直接アップグレード (レプリカセット/シャードクラスター)
対象:レプリカセットまたはシャードクラスター 3.4 のローカルディスク/クラウドディスクインスタンス。
ステップ 1:手動バックアップ
アップグレード前に、手動で完全バックアップを作成することを推奨します。アップグレード後はダウングレードがサポートされていないため、必要に応じて新しいインスタンスにバックアップデータを復元して、迅速なビジネス復旧が可能です。
ステップ 2:ディスク領域の確認
ディスクの空き領域が少なくとも 20% あることを確認してください。領域が不足している場合は、セクション 2.6 の代替案をご参照ください。
ステップ 3:アップグレードの実行
-
MongoDB コンソールにログインします。
-
インスタンスリストで、対象のインスタンス ID をクリックして基本情報ページに移動します。
-
基本情報エリアで、[データベースバージョンのアップグレード] にカーソルを合わせ、ターゲットのメジャーバージョン (4.0 または 4.2) をクリックします。
-
確認ダイアログボックスで、[OK] をクリックします。
メジャーバージョンをアップグレードする際、システムはそのメジャーバージョンで利用可能な最新のマイナーバージョンに自動的にアップグレードします。
ステップ 4:アップグレード完了を待つ
-
アップグレード中、インスタンスのステータスは「アップグレード中」と表示されます。
-
アップグレードプロセスには、それぞれ約 30 秒の短時間の切断が 2〜3 回含まれます。アプリケーションに再接続メカニズムがあることを確認してください。
-
アップグレードが完了すると、インスタンスのステータスは「実行中」に戻ります。
-
アップグレードタスクが長時間「アップグレード中」と表示される場合は、切り替え時間を「すぐに切り替え」に変更して完了を早めることができます。
5.2 パス B:DTS 移行 (スタンドアロンインスタンス)
対象:スタンドアロン 3.4 インスタンスのユーザー。
ステップ 1:新しいインスタンスの購入
-
バージョン 4.0 または 4.2 の新しい MongoDB インスタンスを購入します。
-
ネットワーク接続を確保するため、元のインスタンスと同じリージョンとゾーンを選択することを推奨します。
-
新しいインスタンスのストレージ容量は、元のインスタンスの使用済みストレージ容量以上である必要があります。
MongoDB 4.0 ではスタンドアロンインスタンスの購入は提供されていません。レプリカセットインスタンスを購入する必要があります。MongoDB 4.2 はスタンドアロンインスタンスをサポートしています。
ステップ 2:DTS 移行の設定
-
DTS コンソールに移動します。
-
データ移行タスクを作成します。元の 3.4 インスタンスをソースデータベースとして、新しい高バージョンインスタンスをターゲットデータベースとして選択します。
-
移行タイプを選択します。
-
完全移行:すべてのデータを移行します。ダウンタイムが許容されるシナリオに適しています。完全移行は無料です。
-
完全 + 増分移行:最初に完全移行を行い、その後継続的に増分データを同期します。ゼロダウンタイムでの切り替えが必要なシナリオに適しています。
ステップ 3:oplog について (増分移行に必須)
増分移行を選択する場合、ソースインスタンスで oplog が有効になっていることを確認してください。
-
スタンドアロン 3.4 インスタンスでは、デフォルトで oplog は有効になっていません。
-
oplog を有効にするには、チケットを送信してテクニカルサポートに連絡してください。oplog を有効にするにはインスタンスの再起動が必要です。この操作はオフピーク時に実行してください。
-
レプリカセットおよびシャードクラスターインスタンスでは、デフォルトで oplog が有効になっているため、追加の操作は不要です。
DTS 移行では、デフォルトでシステムデータベース (admin、local、config) は移行されません。ビジネスデータベースが完全であることを確認してください。
ステップ 4:ビジネス接続の切り替え
-
完全移行が完了した後 (または増分同期の遅延が 0 に近づいたとき)、ビジネスの書き込みを一時停止します。
-
増分データの同期が完了するのを待ちます。
-
アプリケーションコードのデータベース接続文字列を更新して、新しいインスタンスを指すようにします。
-
ビジネスの書き込みを再開します。
-
ビジネスが正常に動作していることを確認した後、古いインスタンスを解放します。
古いインスタンスと新しいインスタンスの接続文字列は異なります。新しいインスタンスの接続文字列の形式が古いインスタンスと異なる場合があります (ドメインサフィックスが異なる可能性があります)。すべての接続設定を必ず更新してください。
5.3 アップグレード後の検証
アップグレードが完了したら、以下の検証を実行してください。
-
バージョン確認:コンソールでデータベースバージョンがターゲットバージョンに変更されたことを確認します。
-
接続テスト:クライアントを使用してインスタンスに接続し、接続が正常であることを確認します。
-
データ整合性:主要なビジネスデータが完全であるかどうかを確認します。
-
アプリケーション機能:コアビジネス機能をテストして、正常に動作していることを確認します。
-
パフォーマンスモニタリング:アップグレード後のパフォーマンスメトリクスを観察し、正常であることを確認します。
6. アップグレードが間に合わない場合はどうすればよいですか?
このセクションを読むべき方:インスタンスの有効期限が迫っており、時間内にアップグレードを完了できない方、またはインスタンスがすでに有効期限切れでロックされている方。
6.1 インスタンスの有効期限が迫っているが、時間内にアップグレードできない場合
インスタンスの有効期限が切れる前にアップグレードを完了できない場合は、できるだけ早く以下の情報を添えてチケットを送信してください。
-
インスタンス ID
-
現在の有効期限日
-
アップグレード計画とタイムライン
テクニカルサポートチームが、お客様の特定の状況に応じて支援します。
6.2 インスタンスが有効期限切れでロックされている場合
インスタンスが有効期限切れでロック状態に入った場合:
-
ロックのタイムライン:有効期限切れ後 1 日目から 15 日目まで、インスタンスはロックされアクセスできなくなります。有効期限切れ後 16 日目に、インスタンスのコンピューティングリソースが解放されます。有効期限切れ後 23 日目に、データは保持されなくなります。
上記のタイムラインはローカルディスクインスタンスに適用されます。クラウドディスク (ESSD) インスタンスの場合、コンピューティングリソースは有効期限切れ後 16 日目に解放され、データ保持はバックアップ保持ポリシーに依存します。「インスタンス解放時にすべてのバックアップセットを即時削除」ポリシーの場合、バックアップセットは 7 日間保持されます。「長期保持」ポリシーの場合、データはより長期間保持されます。詳細については、ゴミ箱をご参照ください。
-
回復方法:インスタンス ID と状況説明を添えて、すぐにチケットを送信してください。テクニカルサポートチームがインスタンスへのアクセス回復を支援します。
-
回復後すぐにアップグレード:アクセスが回復したら、できるだけ早くデータベースのメジャーバージョンをアップグレードしてください。
データが解放される前に必ずチケットを送信してください。ローカルディスクインスタンスの場合、有効期限切れ後 23 日目までにチケットを送信してください。クラウドディスクインスタンスの場合、バックアップ保持ポリシーに基づいて期限を確認してください。
スタンドアロンインスタンスは、解放後にゴミ箱から復元できません。インスタンスがスタンドアロンアーキテクチャを使用している場合は、ロック期間中 (1 日目から 15 日目) にすぐにチケットを送信してください。コンピューティングリソースが解放されるまで待たないでください。詳細については、ゴミ箱の注意事項をご参照ください。
7. よくある質問
Q1:インスタンスの有効期限が迫っており、更新できません。どうすればよいですか?
A:状況を説明するために、すぐにチケットを送信してください。インスタンスがレプリカセットまたはシャードクラスターの場合は、コンソールから直接 4.0 または 4.2 にアップグレードすることもできます。アップグレード後、通常通り更新できます。
Q2:コンソールに「データベースバージョンのアップグレード」オプションが表示されません
A:最も可能性の高い理由は、インスタンスがスタンドアロンアーキテクチャを使用していることです。スタンドアロン 3.4 インスタンスはコンソールからの直接アップグレードをサポートしておらず、新しいインスタンスへの DTS 移行が必要です。操作手順についてはセクション 5.2 をご参照ください。インスタンスがスタンドアロンではないことを確認してもアップグレードオプションが表示されない場合は、コンソールのスクリーンショットを添えてチケットを送信してください。
Q3:自動更新が機能しなくなったのはなぜですか?
A:2026 年 6 月 30 日以降、MongoDB 3.4 は更新サービスのサポートを停止したため、自動更新が機能しなくなります。システムは EOFS 日付の前に SMS およびサイト内メッセージで通知します。更新を再開するには、データベースのメジャーバージョンをアップグレードする必要があります。
Q4:4.0 と 4.2 のどちらにアップグレードすべきですか?
A:
-
コードで
groupコマンドを使用している場合は、まず 4.0 にアップグレードすることを推奨します (4.0 ではgroupはまだ利用可能ですが非推奨です)。コードのリファクタリングを完了した後、4.2 にアップグレードしてください。 -
groupコマンドを使用していない場合は、直接 4.2 にアップグレードできます。バージョン 4.2 はコンソールからのディスク領域解放 (compact) をサポートしていますが、4.0 はサポートしていません。
Q5:アップグレード後、Java コードを変更する必要がありますか?
A:3.4 から 4.0/4.2 へのアップグレードでは通常 Java コードの変更は不要ですが、以下を確認してください。
-
groupコマンドを使用していないこと (4.2 で削除) -
copydb、clone、cloneCollection、geoNear、repairDatabaseなどの削除されたコマンドを使用していないこと -
Java ドライバーのバージョンがターゲットの MongoDB バージョンと互換性があること (MongoDB が公式に推奨するドライバーバージョンの使用を推奨します。詳細については、ドライバー互換性マトリックスをご参照ください)
Q6:200 GB のデータを移行するのにどのくらい時間がかかりますか?
A:DTS 移行を使用すると、200 GB のデータは通常数時間以内に完了します。完全移行は無料です。増分移行 (ゼロダウンタイム切り替え) が必要な場合は、まずソースインスタンスで oplog を有効にする必要があります。
Q7:アップグレードプロセスをキャンセルできますか?
A:進行中のアップグレードタスクはキャンセルできません。ただし、切り替え時間を変更して、オフピーク時まで切り替えを遅らせることはできます。アップグレードはオフピーク時に開始することを推奨します。
Q8:アップグレード後、レプリカセットのコンソールに 2 つのノードしか表示されません
A:これは正常です。レプリカセットの Hidden ノードはデフォルトでコンソールに表示されません。インスタンスは引き続き 3 ノードアーキテクチャを維持しており、高可用性に影響はありません。
Q9:インスタンスの有効期限が切れた後、データは保持されますか?
A:
-
有効期限切れ後 1〜15 日:インスタンスはロックされアクセスできませんが、データは保持されます。
-
有効期限切れ後 16 日:コンピューティングリソースが解放されます。データはバックアップ保持ポリシーに基づいて一定期間保持されます。
-
有効期限切れ後 23 日:データは保持されなくなります (ローカルディスク)。クラウドディスクインスタンスの場合、データ保持はバックアップ保持ポリシーに依存します。
データを回復するには、すぐにチケットを送信してください。アクセスが回復した後、データをエクスポートできます。エクスポートが完了したら、インスタンスの登録を解除できます。
スタンドアロンインスタンスは、解放後にゴミ箱から復元できません。インスタンスがスタンドアロンアーキテクチャを使用している場合は、ロック期間中 (1 日から 15 日) にすぐにチケットを送信してください。
Q10:3.4 から 4.0 への互換性の問題はありますか?
A:3.4 から 4.0 への既知の高リスクな互換性の問題はありません。主な変更点には、aggregate が単一のドキュメントではなくカーソルを返すこと、snapshot クエリオプションがサポートされなくなったこと、reIndex がグローバル書き込みロックを追加することなどがあります。アップグレードする前に、セクション 2.7 の互換性変更リストに対してコードを確認することを推奨します。
Q11:EOFS 後に従量課金に切り替えることはできますか?
A:いいえ。EOFS 後は、更新も従量課金への切り替えもできません。有効期限が切れると、インスタンスは 15 日間のロック期間に入り、その後リソースが解放されます。唯一の解決策は、データベースのメジャーバージョンをアップグレードすることです。
Q12:運用担当者がいなくてもアップグレードを完了するにはどうすればよいですか?
A:以下を推奨します。
-
インスタンス情報とアップグレード要件を添えてチケットを送信してください。テクニカルサポートチームが支援を提供します。
-
スタンドアロンインスタンスをお持ちの場合、DTS 移行が必要です。この操作は比較的複雑なため、専門の技術担当者の支援を求めることを推奨します。
-
Alibaba Cloud パートナーにアップグレードサービスを依頼してください。
Q13:アップグレードが「InvalidSaleComponentFault」エラーで失敗します
A:これは通常、選択した仕様がターゲットバージョンで利用できないために発生します。たとえば、専用タイプに 8 コア 32 GB の仕様がない場合があります。アップグレード中にターゲットバージョンでサポートされている仕様を選択するか、チケットを送信して利用可能な仕様リストを確認してください。
Q14:Navicat が 3.4 インスタンスに接続できません
A:バージョン 3.4 は、新しい Navicat ドライバーとの互換性の問題がある可能性があります。古い Navicat ドライバーバージョンを使用するか、mongo shell / mongosh を使用して接続することを推奨します。4.0/4.2 にアップグレードすると、最新バージョンの Navicat を使用できます。
付録:関連ドキュメント
|
ドキュメント |
説明 |
|---|---|
|
公式のアップグレード操作ドキュメント |
|
|
公式のライフサイクルドキュメント |
|
|
互換性の変更に関する説明 |
|
|
有効期限切れ/ロックされたインスタンスの回復 |
|
|
DTS 移行操作ガイド |