Amazon DocumentDB のインプレースメジャーバージョンアップグレード - Amazon DocumentDB

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon DocumentDB のインプレースメジャーバージョンアップグレード

Amazon DocumentDB では、広範なテストの後にのみデータベースエンジンの新しいバージョンを一般利用できます。Amazon DocumentDB クラスターを新しいバージョンにアップグレードする方法とタイミングは、選択することができます。

現在、Amazon DocumentDB は Amazon DocumentDB 3.6、4.0、5.0 の 3 つのメジャーバージョンをサポートしています。データベースのインプレースメジャーバージョンアップグレード (MVU) は、クラスターの同じエンドポイント、ストレージ、タグを維持しながら実行でき、変更を加えることなくアプリケーションを引き続き使用できます。この機能は、Amazon DocumentDB 5.0 が利用可能なすべてのリージョンで無料で利用できます。

重要

Amazon DocumentDB クラスターは、インプレースメジャーバージョンアップグレード中は使用できず、その間、クラスターは複数回再起動されます。アップグレードのダウンタイムは、コレクションやインデックス、データベース、インスタンスの数によってクラスターごとに異なる場合があります。アップグレードは、メンテナンスウィンドウまたは使用率が低い時間帯に行うことをお勧めします。クラスターをアップグレードすると、クラスターを以前のバージョンにダウングレードすることはできませんが、アップグレード前のスナップショットを新しいクラスターに復元することはできます。

MVU の前提条件と制限事項

以下は、インプレースメジャーバージョンアップグレードに対する前提条件と制限事項です。該当する場合は、アップグレードを実行する前に理解して対処しておく必要があります。

  • インスタンスタイプ: Amazon DocumentDB 4.0/5.0 は r4.* インスタンスをサポートしていません。インプレースメジャーバージョンアップグレードを行うには、r4.* インスタンスを r5.* インスタンスに変更します。詳細については、「Amazon DocumentDB インスタンスの変更」を参照してください。Amazon DocumentDB エンジンのバージョンごとのサポートされているインスタンスについては、「リージョン別のサポートされるインスタンスクラス」を参照してください。

  • インスタンスの OS パッチ: インプレースメジャーバージョンアップグレードを行うには、最新のオペレーティングシステム (OS) パッチが必要です。インプレースアップグレードを行う前に、保留中の OS メンテナンスアクションをインスタンスに適用しておいてください。詳細については、「Amazon DocumentDB オペレーティングシステムの更新」を参照してください。

    注記

    保留中のクラスターレベルのエンジンパッチがある場合、状況によっては、インスタンスの OS パッチが表示されないことがあります。インスタンスの OS パッチの適用して、インプレースメジャーバージョンアップグレードを行う前に、クラスターレベルのエンジンパッチの適用が必要になる場合があります。「クラスターのエンジンバージョンへのパッチ更新の実行」を参照してください。

  • インプレースメジャーバージョンアップグレードは、Amazon DocumentDB 5.0 が利用可能なすべてのリージョンで利用できます。

  • Amazon DocumentDB 4.0 がターゲットバージョンの場合、インプレースメジャーバージョンアップグレードはできません。

  • Amazon DocumentDB 4.0 以降、ユーザー名の「.」はサポートされていません。Amazon DocumentDB 3.6 から 5.0 にアップグレードし、「.」を含むユーザー名がある場合は、インプレース に進む前に、「.」なしでユーザー名を再作成してくださいMVU。

  • 現在、Amazon DocumentDB グローバルクラスターとエラスティッククラスターでは、インプレースバージョンアップグレードはできません。

    注記

    グローバルクラスターをアップグレードするには、セカンダリクラスターをグローバルクラスターから削除し、プライマリクラスターをリージョンクラスターに変換し、リージョン (プライマリ) クラスターでインプレースメジャーバージョンアップグレードを実行します。次に、以前と同じエンドポイントを保持するには、同じ名前を使用してセカンダリクラスターを追加してグローバルクラスターを再作成します。アップグレードしたプライマリクラスターが新しく追加したセカンダリクラスタにデータを複製している間は、IO 料金が発生することに注意してください。削除する前にグローバルクラスタからセカンダリクラスタを削除する方法の詳細な手順については、「Amazon DocumentDB グローバルクラスターからのクラスターの削除」を参照してください。

  • バーストパフォーマンスインスタンス (t3.medium や t4g.medium など) で大量のインデックス (>3,000) を実行している場合は、インプレースメジャーバージョンアップグレードを実行するために、プライマリインスタンスをより大きなインスタンス (r5.large 以上など) にスケールアップする必要があります。インスタンスサイズは、インプレースメジャーバージョンアップグレードの完了後にスケールダウンできます。インプレースメジャーバージョンアップグレードで db.t3 および db.t4g インスタンスタイプでサポートされるインデックスの最大数については、以下の表を参照してください。

    インスタンス インプレースでサポートされる最大インデックス MVU

    db.t4g.medium

    3K

    db.t3.medium

    10K

インプレースメジャーバージョンアップグレードのベストプラクティス

クローンクラスターを使用したインプレースメジャーバージョンアップグレードのテスト

  1. インプレースメジャーバージョンアップグレードをテストでは、高速クローン作成機能を使用してターゲットクラスターのクローンを作成することをお勧めします。クラスター上のデータを変更しない限り、クローンボリュームでインプレースメジャーバージョンアップグレードをテストしても、ストレージコストは発生しません。クローン作成の詳細については、「Amazon DocumentDB クラスターのボリュームのクローン作成」を参照してください。

  2. インプレースメジャーバージョンアップグレードの実行にかかる時間のより具体的な数字を得るには、クローンクラスターのインスタンス数をターゲットクラスターに一致させてください。

  3. 新しくアップグレードした Amazon DocumentDB 5.0 クラスターの機能の違いを十分にテストして、すべてが期待どおりに動作することを確認することをお勧めします。

インプレースメジャーバージョンアップグレードの前

  1. バージョン互換のパラメータグループを用意します。

    新しいエンジンバージョンには、Amazon DocumentDB のデフォルトクラスターパラメータグループを使用することも、独自のカスタムクラスターパラメータグループを作成することもできます。

    アップグレードリクエストの一部として Amazon DocumentDB クラスターの新しいパラメータグループを関連付けると、インプレースメジャーバージョンアップグレードによってクラスターが自動的に再起動され、新しいパラメータグループが適用されます。

  2. 「前提条件と制限事項」セクションで説明しているように、インプレースメジャーバージョンアップグレードの前提条件を満たしていることを確認します。

  3. スナップショットを手動で作成します。

    アップグレードプロセスでは、アップグレード中に DB クラスターのスナップショットが作成されます。アップグレードプロセスの前に、独自のスナップショットを手動で作成しておくことを強くお勧めします。「手動クラスタースナップショットの作成」を参照してください。

    注記

    アップグレードプロセスで自動作成されたスナップショットは、インプレースメジャーバージョンアップグレードが完了しても自動的には削除されません。このスナップショットは、保持期間内である限り料金は発生しません。クラスターのアップグレードが成功したことを確認したら、このスナップショットを削除できます。

    スナップショットの名前は preupgrade-<name>-<version>-<timestamp> です。

    イメージ: 以前に作成したスナップショットのテーブルを示すスナップショットナビゲーションボックス。
  4. クラスターのインプレースメジャーバージョンアップグレードをすでにスケジュールしているかどうかを確認してください。

    クラスターを変更して次のメンテナンスウィンドウで適用するように選択した場合、インプレースメジャーバージョンアップグレードスケジュールはコンソールに表示されませんが、 で表示できますCLI。インプレースメジャーバージョンアップグレードがすでにスケジュールされているかどうかを確認するには、次のコマンドを実行します。

    aws docdb describe-db-cluster \ --region $REGION \ --db-cluster-identifier $CLUSTER_NAME "PendingModifiedValues": { "EngineVersion": "5.0.0" },
  5. インプレースメジャーバージョンアップグレード後は、下位環境で実行計画や機能に違いを付け、ボリュームクローンを使用して複数回クラスターのテストを実行します。インプレースメジャーバージョンアップグレードの実行時間をより正確に予測できるよう、同じ数とサイズのインスタンスでクローンを作成することをお勧めします。詳細については、「Amazon DocumentDB クラスターのボリュームのクローン作成」を参照してください。

  6. 前のステップが成功したら、本番クラスターでのインプレースメジャーバージョンアップグレードに進みます。

インプレースメジャーバージョンアップグレード中

クラスターメンテナンスイベントにサブスクリプションすることで、インプレースメジャーバージョンアップグレードの進捗状況をモニタリングできます。アップグレードが完了すると、「データベースクラスターのメジャーバージョンがアップグレードされました」というイベントが送信されます。アップグレード中に発生するこのイベントやその他のイベントは、Amazon DocumentDB コンソールのクラスター詳細ページの「イベントとタグ」セクションに表示されます。その後、クラスターのステータスが「アップグレード中」から「利用可能」に変わります。

からCLI、 aws docdb create-event-subscriptionを実行してイベントを作成し、 aws docdb describe-eventsを実行して進行状況をモニタリングできます。また、上記のイベントのイベント通知をターゲットSNSとして Amazon に設定し、E メール、プッシュメッセージ、その他の方法で通知を受け取ることもできます。詳細については、「Amazon DocumentDB イベントのサブスクライブ」を参照してください。

インプレースメジャーバージョンアップグレードでは、アップグレード中に以下のイベントが生成されます。

  • アップグレード中: アップグレード前のスナップショット [preupgrade-<クラスター名>-<タイムスタンプ>] を作成しています

  • アップグレード中: ボリュームのクローンを作成しています。

  • アップグレード中: ライターをアップグレードしています。

  • アップグレード中: リーダーをアップグレードしています。

  • データベースクラスターエンジンのメジャーバージョンがアップグレードされました。

イベントはコンソールの [イベント] ページにも表示されます。

イメージ: アップグレードイベントのテーブルを示すイベントナビゲーションボックス。

では AWS CLI、次のコマンドを使用して進行状況を追跡できます。

aws docdb describe-events --source-identifier $CLUSTER_NAME --source-type db-cluster { "Events": [ { "SourceIdentifier": "mycluster", "SourceType": "db-cluster", "Message": "Database cluster engine version upgrade started.", "EventCategories": [ "maintenance" ], "Date": "2023-07-11T23:20:32.444000+00:00", "SourceArn": "arn:aws:rds:us-east-1:xxxx:cluster:mycluster" } ] }

インプレースメジャーバージョンアップグレード後

Amazon DocumentDB 3.6 の場合は、クラスターにタグを追加することで、新しく作成された Amazon DocumentDB 5.0 クラスターではなく Amazon DocumentDB 3.6 から Amazon DocumentDB 5.0 にアップグレードされたことを区別できます。アップグレードした Amazon DocumentDB 5.0 クラスターと新しい Amazon DocumentDB 5.0 クラスターの違いに関するセクションを参照してください。

アップグレード後の状態に戻す必要がある場合に備えて、インプレースメジャーバージョンアップグレードの終了後に手動でスナップショットを作成しておいてください。自動スナップショット処理は、インプレースメジャーバージョンアップグレードが完了するとすぐに再開されます。この手動スナップショットは、保持期間内である限り料金は発生しません。

Amazon DocumentDB 5.0 に関連する新機能、例えばクライアント側のフィールドレベルの暗号化を使用するには、ドライバーバージョンを MongoDB 5.0 APIバージョンにアップグレードすることをお勧めします。詳細については、「Amazon DocumentDB 5.0 の新機能」の Amazon DocumentDB 5.0 の機能リストを参照してください。

重要

インプレースメジャーバージョンアップグレード (MVU) を実行するとすぐに、Amazon DocumentDB 5.0 クラスターはインデックスメタデータを再入力し、データベースエンジンがクエリ実行プランを最適化します。Amazon DocumentDB クラスターで予想されるクエリパフォーマンスは、インデックスメタデータの再計算プロセスが完了すると再開されます。通常、このプロセスは数分で完了しますが、クラスターのインデックス数によっては最大 2 時間かかる場合があります。

さらに、インプレース 後にライターインスタンスをすぐに再起動、フェイルオーバー、またはスケールアップ/スケールダウンするとMVU、クラスターのインデックスメタデータ計算プロセスが中断される可能性があります。インプレースMVUが完了したら、Amazon DocumentDB 5.0 クラスターで予想されるクエリパフォーマンスを確認したら、このような変更を行うことをお勧めします。

この一時的なパフォーマンスの低下が、 のインプレースから 2 時間以上続く場合は、 AWS サポートにお問い合わせくださいMVU。

アップグレードfした Amazon DocumentDB 5.0 クラスターを十分にテストして、すべてが期待どおりに動作することを確認します。

注記

変更ストリームを有効にした MVU Amazon DocumentDB クラスターでインプレースを実行すると、以前の変更ストリームイベントは保持され、 resumeTokenまたは を使用して再開できますstartAtOperationTime。新しく作成された Amazon DocumentDB クラスターの場合と同様に、ログサイズが 51,200 MB を超える場合、 よりchange_stream_log_retention_duration古いストリームイベントログは削除されます。

インプレースメジャーバージョンアップグレードの実行

Using the AWS Management Console

AWS Management Consoleを使用してインプレースメジャーバージョンアップグレードを実行する

  1. AWS Management Console にサインインし、Amazon DocumentDB コンソールを開きます。

  2. [クラスタ] テーブルで、ソースクラスタを選択し、[アクション] をクリックして、 [変更]をクリックします。

    イメージ: 既存のクラスターリンクとそれに対応するインスタンスリンクのリストを示すクラスターナビゲーションボックス。
  3. [クラスターの仕様] セクションの [クラスターの変更] ダイアログの [エンジンバージョン] ドロップダウンメニューから目的のデータベースバージョン (5.0) を選択します。

    イメージ: クラスターの識別子とエンジンバージョンフィールドを示すクラスターの変更ダイアログボックスのクラスター仕様セクション。
  4. [クラスターオプション] セクションで、適切なクラスターパラメータグループ (default.docdb5.0) または独自に作成したパラメータグループを選択します。

    イメージ: クラスターパラメータグループフィールドを示すクラスターの変更ダイアログボックスのクラスターオプションセクション。
  5. 完了したら、下にスクロールして [続行] を選択します。

  6. [変更のスケジュール] セクションで、希望のスケジュールプラン (すぐに適用するか、次のメンテナンスウィンドウに適用) を選択します。

    その後、[Modify Cluster] を選択します。

    イメージ: 選択したクラスターの変更の概要とスケジュールを示すクラスターの変更ダイアログボックス。
  7. クラスターの表に、アップグレード中のクラスターのステータスを書き留めてください。

    イメージ: アップグレードするクラスターのステータス列が強調表示されたクラスターナビゲーションボックス。
Using the AWS CLI

目的のエンジンバージョンとallow-major-version-upgradeフラグが設定されmodify-db-clusterAPIている を使用します。

aws docdb modify-db-cluster \ ‐‐db-cluster-identifier $CLUSTER_NAME \ ‐‐allow-major-version-upgrade \ ‐‐engine-version 5.0 \ ‐‐apply-immediately \ ‐‐cluster-parameter-group $PARAMETER_GROUP \ ‐‐region $REGION

Amazon DocumentDB 3.6/4.0 から 5.0 にアップグレードされたクラスターと新しい Amazon DocumentDB 5.0 クラスターの違い

  • 複数の数値データ型のサブドキュメント比較

    • Amazon DocumentDB 3.6 から移行したクラスターの場合、クラスターは Amazon DocumentDB 3.6 のサブドキュメント比較動作を継承します。機能の違いはサブドキュメント内の数値型 (長整数型、倍精度型、Decimal128 型など) にあるだけです。例えば {a: {b: {NumberLong(1)}} は Amazon DocumentDB 3.6 で {a: {b: 1}} に等しくありませんが、Amazon DocumentDB 4.0 以降では等しいになります。

    • このサブドキュメント比較動作は、Amazon DocumentDB 3.6 と、インプレースメジャーバージョンアップグレードを使用してバージョン 3.6 からアップグレードされた Amazon DocumentDB 5.0 クラスターでのみ存在します。これは、新しく作成された Amazon DocumentDB 5.0 クラスターには該当しません。

  • インプレースメジャーバージョンアップグレードしても、元のインデックスはアップグレード後のクラスターに引き継がれます。一般的なベストプラクティスとして、インプレースMVUが正常に完了した後にインデックスを削除して再作成することをお勧めします。Amazon DocumentDB 5.0 では、特に低基数インデックスの場合に、ガベージコレクションプロセスの全体的な効率が向上しました。Amazon DocumentDB 3.6 または 4.0 クラスターでガベージコレクションの問題が過去に発生した場合は、これらのクラスターがインデックスを後で削除して再作成することでメリットが得られますMVU。インデックスの再作成は必須ではありません。ただし、インデックスを再作成すると、追加の I/O や時間がかかる場合があります。詳細については、「Amazon DocumentDB インデックスの管理」を参照してください。

注記

Amazon DocumentDB 3.6/4.0と Amazon DocumentDB 5.0 の機能上の違いの一覧については、「Amazon DocumentDB と MongoDB の互換性」を参照してください。

インプレースメジャーバージョンアップグレードのトラブルシューティング

  • 障害が発生した場合、インプレースメジャーバージョンアップグレードは、アップグレードのロールバックを試みて、アップグレード開始前のクラスターの最後の動作状態を引き継ごうとします。ロールバックが成功すると、「データベースクラスターはアップグレードできない状態です: DocumentDB クラスターはメジャーバージョンのアップグレードを正常に完了できない状態です。」というイベントが生成されます。この時点で、 AWS サポートチームに連絡して、バージョンアップグレードのトラブルシューティングと再試行を行う必要があります。ワークロードは以前と同様に使い続けることができます。アップグレードに予想以上に時間がかかるその他のまれなシナリオでは、 AWS サポートチームに連絡してサポートを依頼してください。

  • インプレースが正常にMVU完了すると、インデックスメタデータの更新プロセスの実行中に、アップグレードされたクラスターのパフォーマンスが一時的に低下し、CPU使用率が高くなることがあります。2 時間以上パフォーマンスが低下し続ける場合は、 AWS サポートにお問い合わせください。