View a markdown version of this page

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

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

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

同じエンドポイント、ストレージ、タグを維持しながら、Amazon DocumentDB クラスターのインプレースメジャーバージョンアップグレード (MVU) を実行できます。アプリケーションは変更なしで動作し続けます。この機能は、Amazon DocumentDB が利用可能なすべてのリージョンで追加料金なしで使用できます。

重要

クラスターはアップグレード中に使用できなくなり、複数回再起動されます。アップグレードの開始後は、クラスターに接続したり、クラスターから読み取ったり、クラスターに書き込んだりしないでください。ダウンタイムは、コレクション、インデックス、データベース、インスタンスの数によって異なります。メンテナンスウィンドウまたは使用率の低い時間帯にアップグレードを実行することをお勧めします。

アップグレード後、以前のバージョンにダウングレードすることはできません。必要に応じて、アップグレード前のスナップショットを新しいクラスターに復元できます。

サポートされているアップグレードパス

ソースバージョン ターゲットバージョン

Amazon DocumentDB 3.6

Amazon DocumentDB 5.0

Amazon DocumentDB 4.0

Amazon DocumentDB 5.0

Amazon DocumentDB 5.0

Amazon DocumentDB 8.0

注記

インプレース MVU は、グローバルクラスターまたは Elastic クラスターではサポートされていません。グローバルクラスターをアップグレードするには、セカンダリクラスターを削除し、プライマリクラスターをリージョンクラスターに変換して MVU を実行し、同じ名前を使用してセカンダリクラスターを追加してグローバルクラスターを再作成してエンドポイントを保持します。アップグレードされたプライマリが新しいセカンダリにデータをレプリケートしている間、I/O 料金が発生します。詳細なステップについては、「Amazon DocumentDB グローバルクラスターからのクラスターの削除」を参照してください。

前提条件

  • インスタンスタイプ — Amazon DocumentDB 4.0+ は db.r4 インスタンスをサポートしていません。アップグレードする前に、db.r4.*インスタンスをdb.r5.*インスタンス以降に変更します。「Amazon DocumentDB インスタンスの変更」および「リージョン別のサポートされるインスタンスクラス」を参照してください。

  • OS パッチ — アップグレードする前に、すべてのインスタンスに保留中の OS メンテナンスアクションを適用します。「Amazon DocumentDB オペレーティングシステムの更新」を参照してください。

    注記

    クラスターレベルのエンジンパッチを保留すると、インスタンス OS パッチが非表示になる場合があります。必要に応じて、最初にエンジンパッチを適用します。「クラスターのエンジンバージョンへのパッチ更新の実行」を参照してください。

  • バーストインスタンス (t-family インスタンス) のインデックス制限 — バーストインスタンスに 3,000 個を超えるインデックスがある場合は、アップグレードする前にプライマリを少なくとも db.r5.large にスケールアップします。アップグレードが完了したら、スケールダウンできます。

    インスタンス MVU の最大インデックス

    db.t4g.medium

    3K

    db.t3.medium

    10K

  • パラメータグループ — アップグレードする前に、ターゲットバージョンのカスタムクラスターパラメータグループを準備することをお勧めします。指定しない場合、ターゲットバージョンのデフォルトのパラメータグループが使用されます (例: default.docdb5.0または default.docdb8.0)。

  • 手動スナップショット — アップグレードする前に手動スナップショットを作成します。アップグレードプロセスでは、 という名前の自動スナップショットが作成されますがpreupgrade-<name>-<version>-<timestamp>、独自のバックアップを持つことを強くお勧めします。「手動クラスタースナップショットの作成」を参照してください。

    注記

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

    イメージ: 過去に作成したスナップショットのテーブルを示すスナップショットナビゲーションボックス。

ベストプラクティス

アップグレード前 — クローンを使用したテスト

  1. Amazon DocumentDB クラスターのボリュームのクローン作成 を使用してクラスターのクローンを作成します。クローンのデータを変更しない限り、ストレージコストは発生しません。

  2. クローンのインスタンス数をターゲットクラスターに一致させて、現実的な推定時間を確保します。

  3. クローンで MVU を実行し、機能の違いを完全にテストします。

  4. を実行して を検索することでdescribe-db-clusters、アップグレードが既にスケジュールされているかどうかを確認しますPendingModifiedValues.EngineVersion。クラスターを変更し、次のメンテナンスウィンドウで適用するように選択した場合、スケジュールはコンソールに表示されませんが、 で表示できます AWS CLI。

    aws docdb describe-db-clusters \ --region us-east-1 \ --db-cluster-identifier mydocdbcluster
    "PendingModifiedValues": { "EngineVersion": "5.0.0" },
  5. テストが成功したら、本番クラスターのアップグレードに進みます。

アップグレード中

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

アップグレード中に次のイベントが生成されます。

  1. データベースクラスターエンジンのメジャーバージョンアップグレードが開始されました。クラスターはオンラインのままです。

  2. アップグレードの準備中: オンラインアップグレードの事前チェックを開始しました。

  3. アップグレードの準備中: オンラインアップグレードの事前チェックを完了しました。

  4. プライマリインスタンスがパッチ/アップグレードプロセスを完了する間、データベースクラスターをオフラインにします。

  5. アップグレードの準備中: オフラインアップグレードの事前チェックを開始します。

  6. アップグレードの準備中: オフラインアップグレードの事前チェックが完了しました。

  7. アップグレード中: アップグレード前のスナップショットの作成 [preupgrade-<cluster-name>-<version-from>-to-<version-to>-<timestamp>]。

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

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

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

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

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

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

から AWS CLI、 aws docdb describe-eventsを実行してアップグレードの進行状況をモニタリングできます。通知を自動的に受信するには、 aws docdb create-event-subscription を使用してイベントをサブスクライブし、E メール、プッシュメッセージ、またはその他の配信方法で Amazon SNS にルーティングします。詳細については、「Amazon DocumentDB イベントにサブスクライブする」を参照してください。

aws docdb describe-events --source-identifier mydocdbcluster --source-type db-cluster

このコマンドにより、以下のような出力が返されます。

{ "Events": [ { "SourceIdentifier": "mydocdbcluster", "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 クラスターは、データベースエンジンがクエリ実行プランを最適化するために使用するインデックスメタデータを再入力します。このプロセスが完了すると、クエリのパフォーマンスは期待レベルに戻ります。通常は数分で終了しますが、クラスターのインデックス数によっては最大 2 時間かかる場合があります。

インデックスメタデータの再計算が中断される可能性があるため、この間はライターインスタンスを再起動、フェイルオーバー、スケールアップ/ダウンしないでください。このような変更を行う前に、予想されるクエリパフォーマンスを確認するまで待つことをお勧めします。

次のクラスターイベントを使用して進行状況を追跡します。

  • アップグレード後のクラスターステータス: インデックスメタデータの更新プロセスが開始されました

  • アップグレード後のクラスターステータス: X 秒で完了したインデックスメタデータの更新プロセス

インデックスメタデータの更新プロセスが 3 時間以内に完了していない場合、またはプロセスの完了後もパフォーマンスの問題が続く場合は、 AWS サポートにお問い合わせください。

  1. アップグレード後の状態に復元する必要がある場合に備えて、アップグレードされたクラスターの手動スナップショットを作成します。自動スナップショットプロセスは、インプレースメジャーバージョンアップグレードが完了するとすぐに再開されます。

  2. 3.6 からアップグレードされたクラスターにタグを付けます。3.6 からアップグレードされたクラスターを区別するタグを追加します (「」を参照3.6 または 4.0 からアップグレードされたクラスターのアップグレード後の考慮事項)。

  3. ドライバーを更新します。新機能 (8.0 での照合、ビュー、Zstd 圧縮など) を使用するには、対応する MongoDB API バージョンにアップグレードします。詳細については、Amazon DocumentDB 8.0 の新機能」を参照してください。

  4. 徹底的にテストします。アップグレードされたクラスターに対してアプリケーションを検証します。

Amazon DocumentDB 5.0 から 8.0 にアップグレードした後の変更点

Amazon DocumentDB 5.0 から 8.0 へのメジャーバージョンアップグレードを実行すると、次の機能が有効化または変更されます。

  • 照合。Amazon DocumentDB 8.0 は照合をサポートしています。アップグレード後、新しいコレクションとそのインデックス、および既存のコレクションの新しいインデックスは、デフォルトで照合が有効になります。

  • テキストインデックス。新しいテキストインデックスは、更新されたテキスト検索パーサーを使用して MongoDB の互換性を向上させるテキストインデックス V2 を使用して作成されます。既存のテキストインデックスは影響を受けません。

  • クエリプランナーのバージョン。カスタムパラメータグループがない場合は、Amazon DocumentDB 8.0 の新しいデフォルトパラメータグループが作成され、プランナーバージョン 3 が自動的に選択されます。クエリプランナーバージョン 3 では、ビューも利用できます。

  • 圧縮。Amazon DocumentDB 8.0 は、Zstd アルゴリズムを使用したディクショナリベースのドキュメント圧縮をサポートしています。アップグレード後、Zstd 圧縮がデフォルトで有効になっている新しいコレクションが作成されます。5.0 の既存のコレクションは、圧縮設定を保持します。既存のコレクションで Zstd 圧縮を利用するには、圧縮設定を変更します。詳細については、「ディクショナリベースの圧縮」を参照してください。

  • インデックスの再構築。Amazon DocumentDB 5.0 から Amazon DocumentDB 8.0 にアップグレードする場合、インデックスの再構築は必要ありません。

注記

機能の違いの完全なリストについては、「」を参照してくださいAmazon DocumentDB の MongoDB との互換性

3.6 または 4.0 からアップグレードされたクラスターのアップグレード後の考慮事項

  • インデックスの再構築。MVU は元のインデックスを保持します。Amazon DocumentDB 5.0 では、特に低カーディナリティインデックスのインデックスメンテナンスとガベージコレクションが改善されました。3.6 または 4.0 からアップグレードした後、最適なクエリパフォーマンスを確保するためにインデックスを再構築することをお勧めします (オプション、追加の I/O を含む)。「reIndex を使用したインデックスのメンテナンス」を参照してください。

  • サブドキュメントの数値比較 (3.6 のみ)。3.6 からアップグレードされたクラスターは、サブドキュメントの数値型が型間で比較されない 3.6 の動作を継承します。たとえば、 {a: {b: NumberLong(1)}}は 3.6 {a: {b: 1}}では等しくありませんが、4.0 以降では等しくなります。この動作は、3.6 からアップグレードされたすべてのクラスターに影響します。

アップグレードの実行

Using the AWS マネジメントコンソール
  1. AWS マネジメントコンソール にサインインし、Amazon DocumentDB コンソールを開きます。

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

    イメージ: 既存のクラスターリンクとそれに対応するインスタンスリンクのリストを示すクラスターナビゲーションボックス。
  3. クラスターの仕様で、エンジンバージョンドロップダウンからターゲットバージョン (5.0.08.0.0 など) を選択します。

    イメージ: クラスターの識別子とエンジンバージョンフィールドを示すクラスター変更ダイアログボックスのクラスター仕様セクション。
  4. クラスターオプションで、ターゲットエンジンバージョンのクラスターパラメータグループを選択します。デフォルト (default.docdb5.0default.docdb8.0 など) または作成したカスタムパラメータグループを使用できます。

    イメージ: クラスターパラメータグループフィールドを示すクラスター変更ダイアログボックスのクラスターオプションセクション。
  5. 続行 を選択し、スケジュール設定 (即時または次のメンテナンスウィンドウを適用) を選択し、クラスターの変更 を選択します。

    イメージ: 選択したクラスターの変更の概要とスケジュールを示すクラスター変更ダイアログボックス。
  6. アップグレードに変わると、クラスターテーブルのクラスターステータスをモニタリングします。

    イメージ: アップグレード対象のクラスターのステータス列を強調表示したクラスターナビゲーションボックス。
Using the AWS CLI

--allow-major-version-upgrade フラグmodify-db-clusterで を使用します。

aws docdb modify-db-cluster \ ‐‐db-cluster-identifier mydocdbcluster \ ‐‐allow-major-version-upgrade \ ‐‐engine-version 8.0.0 \ ‐‐apply-immediately \ ‐‐cluster-parameter-group mydocdbparametergroup \ ‐‐region us-east-1

プレースホルダーをクラスターの情報に置き換えます。

トラブルシューティング

  • アップグレードの失敗とロールバック。アップグレードが失敗すると、自動的にロールバックが試行されます。ロールバックが成功すると、「データベースクラスターはアップグレードできない状態です」というイベントが生成されます。クラスターはアップグレード前の状態に戻され、引き続き使用できます。再試行する前に AWS 、 サポートに連絡してトラブルシューティングを行ってください。

  • アップグレード後のパフォーマンス。インデックスメタデータの更新の実行中に、パフォーマンスが一時的に低下し、CPU 使用率が高くなる可能性があります。劣化が 3 時間を超えて持続する場合は、 AWS サポートにお問い合わせください。

その他のサポートについては、 AWS サポートにお問い合わせください。