

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

# Amazon DocumentDB のインプレースメジャーバージョンアップグレード
<a name="docdb-mvu"></a>

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

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

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

**Topics**
+ [MVU 前提条件と制限事項](#mvu-prerequisites)
+ [インプレースメジャーバージョンアップグレードのベストプラクティス](#mvu-best-practices)
+ [インプレースメジャーバージョンアップグレードの実行](#perform-an-mvu)
+ [Amazon DocumentDB 3.6/4.0 から 5.0 にアップグレードされたクラスターと新規作成される Amazon DocumentDB 5.0 クラスターの違い](#mvu-36-to-50-differences)
+ [インプレースメジャーバージョンアップグレードのトラブルシューティング](#mvu-troubleshooting)

## MVU 前提条件と制限事項
<a name="mvu-prerequisites"></a>

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

**重要**  
MVU は現在、Amazon DocumentDB 8.0 ではサポートされていません。エンジンバージョン 8.0 を使用するには、新しい 8.0 クラスターを作成し、データを移行します。8.0 の MVU サポートは今後のリリースが予定されています。
+ **インスタンスタイプ**: Amazon DocumentDB 4.0/5.0 は r4.\$1 インスタンスをサポートしていません。インプレースメジャーバージョンアップグレードを行うには、r4.\$1 インスタンスを r5.\$1 インスタンスに変更します。詳細については「[Amazon DocumentDB インスタンスの変更](db-instance-modify.md)」を参照してください。Amazon DocumentDB エンジンのバージョンごとのサポートされているインスタンスについては、「[リージョン別のサポートされるインスタンスクラス](db-instance-classes.md#db-instance-classes-by-region)」を参照してください。
+ **インスタンスの OS パッチ**: インプレースメジャーバージョンアップグレードを行うには、最新のオペレーティングシステム (OS) パッチが必要です。インプレースアップグレードを行う前に、保留中の OS メンテナンスアクションをインスタンスに適用しておいてください。詳細については、「[Amazon DocumentDB オペレーティングシステムの更新](db-instance-maintain.md#os-system-updates)」を参照してください。
**注記**  
保留中のクラスターレベルのエンジンパッチがある場合、状況によっては、インスタンスの OS パッチが表示されないことがあります。インスタンスの OS パッチの適用して、インプレースメジャーバージョンアップグレードを行う前に、クラスターレベルのエンジンパッチの適用が必要になる場合があります。「[クラスターのエンジンバージョンへのパッチ更新の実行](db-cluster-version-upgrade.md)」を参照してください。
+ インプレースメジャーバージョンアップグレードは、Amazon DocumentDB 5.0 が利用可能なすべてのリージョンで行うことができます。
+ Amazon DocumentDB 4.0 がターゲットバージョンの場合、インプレースメジャーバージョンアップグレードはできません。
+ 現在、Amazon DocumentDB グローバルクラスターとエラスティッククラスターでは、インプレースバージョンアップグレードはできません。
**注記**  
グローバルクラスターをアップグレードするには、セカンダリクラスターをグローバルクラスターから削除し、プライマリクラスターをリージョンクラスターに変換し、リージョン (プライマリ) クラスターでインプレースメジャーバージョンアップグレードを実行します。次に、以前と同じエンドポイントを保持するには、同じ名前を使用してセカンダリクラスターを追加してグローバルクラスターを再作成します。アップグレードしたプライマリクラスターが新しく追加したセカンダリクラスタにデータを複製している間は、IO 料金が発生することに注意してください。削除する前にグローバルクラスタからセカンダリクラスタを削除する方法の詳細な手順については、「[Amazon DocumentDB グローバルクラスターからのクラスターの削除](global-clusters.manage.md#global-clusters.remove)」を参照してください。
+ 大量のインデックス (3,000 個以上) があり、バーストパフォーマンスインスタンス (t3.medium や t4g.mediumt など) で運用している場合、インプレースメジャーバージョンアップグレードを実行するには、プライマリインスタンスをよりサイズの大きいインスタンス (r5.xlarge など) にスケールアップする必要があります。インスタンスサイズは、インプレースメジャーバージョンアップグレードの完了後にスケールダウンできます。インプレースメジャーバージョンアップグレードにおいて db.t3 および db.t4g のインスタンスタイプでサポートするインデックスの最大数については、以下の表を参照してください。    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/documentdb/latest/developerguide/docdb-mvu.html)

## インプレースメジャーバージョンアップグレードのベストプラクティス
<a name="mvu-best-practices"></a>

**Topics**
+ [クローンクラスターを使用したインプレースメジャーバージョンアップグレードのテスト](#test-in-place-mvu)
+ [インプレースメジャーバージョンアップグレードの前](#before-in-place-mvu)
+ [インプレースメジャーバージョンアップグレード中](#during-in-place-mvu)
+ [インプレースメジャーバージョンアップグレード後](#after-in-place-mvu)

### クローンクラスターを使用したインプレースメジャーバージョンアップグレードのテスト
<a name="test-in-place-mvu"></a>

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

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

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

### インプレースメジャーバージョンアップグレードの前
<a name="before-in-place-mvu"></a>

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

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

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

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

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

   アップグレードプロセスでは、アップグレード中に DB クラスターのスナップショットが作成されます。アップグレードプロセスの前に、独自のスナップショットを手動で作成しておくことを強くお勧めします。「[手動クラスタースナップショットの作成](backup_restore-create_manual_cluster_snapshot.md)」を参照してください。
**注記**  
アップグレードプロセスで自動作成されたスナップショットは、インプレースメジャーバージョンアップグレードが完了しても自動的には削除されません。このスナップショットは、保持期間内である限り料金は発生しません。クラスターのアップグレードが成功したことを確認したら、このスナップショットを削除できます。

   スナップショットの名前は `preupgrade-<name>-<version>-<timestamp>` です。  
![\[イメージ: 過去に作成したスナップショットのテーブルを示すスナップショットナビゲーションボックス。\]](http://docs.aws.amazon.com/ja_jp/documentdb/latest/developerguide/images/mvu-snapshot-2.png)

1. クラスターのインプレースメジャーバージョンアップグレードをすでにスケジュールしているかどうかを確認してください。

   クラスターを変更して次のメンテナンスウィンドウに適用することを選択した場合、インプレースメジャーバージョンアップグレードスケジュールはコンソールには表示されませんが、CLI で確認できます。インプレースメジャーバージョンアップグレードがすでにスケジュールされているかどうかを確認するには、[https://awscli.amazonaws.com/v2/documentation/api/latest/reference/docdb/describe-db-clusters.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/docdb/describe-db-clusters.html) コマンドを実行します。

   ```
   aws docdb describe-db-cluster \
     --region us-east-1 \
     --db-cluster-identifier mydocdbcluster
   ```

   上記の例では、各 *ユーザー入力プレースホルダー* をクラスターの情報に置き換えます。

   このコマンドは、以下の出力を返します。

   ```
   "PendingModifiedValues": {
       "EngineVersion": "5.0.0"
   },
   ```

1. インプレースメジャーバージョンアップグレード後は、下位環境で実行計画や機能に違いを付け、ボリュームクローンを使用して複数回クラスターのテストを実行します。インプレースメジャーバージョンアップグレードの実行時間をより正確に予測できるよう、同じ数とサイズのインスタンスでクローンを作成することをお勧めします。詳細については、「[Amazon DocumentDB クラスターのボリュームのクローン作成](db-cluster-cloning.md)」を参照してください。

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

### インプレースメジャーバージョンアップグレード中
<a name="during-in-place-mvu"></a>

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

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

インプレースメジャーバージョンアップグレードでは、アップグレード中に以下のイベントが生成されます。
+ アップグレード中: アップグレード前のスナップショット [preupgrade-<クラスター名>-<タイムスタンプ>] を作成しています
+ アップグレード中: ボリュームのクローンを作成しています。
+ アップグレード中: ライターをアップグレードしています。
+ アップグレード中: リーダーをアップグレードしています。
+ データベースクラスターエンジンのメジャーバージョンがアップグレードされました。

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

![\[イメージ: アップグレードイベントのテーブルを示すイベントナビゲーションボックス。\]](http://docs.aws.amazon.com/ja_jp/documentdb/latest/developerguide/images/mvu-events-2.png)


では AWS CLI、 [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/docdb/describe-events.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/docdb/describe-events.html) コマンドを実行して進行状況を追跡できます。

```
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"
        }
    ]
}
```

### インプレースメジャーバージョンアップグレード後
<a name="after-in-place-mvu"></a>

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

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

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

**重要**  
インプレースメジャーバージョンアップグレード (MVU) の実行直後、Amazon DocumentDB 5.0 クラスターがインデックスメタデータを自動再入力し、データベースエンジンがクエリ実行プランを最適化します。お使いの Amazon DocumentDB クラスターにおいて通常想定されるクエリパフォーマンスは、インデックスメタデータの再計算プロセス完了後に再開されます。多くの場合、このプロセスは数分で完了しますが、クラスターのインデックス数によっては最大 2 時間程度かかる場合があります。インプレース MVU 直後に再起動、フェイルオーバー、またはライターインスタンスのスケールアップやスケールダウンなどを実行すると、クラスターのインデックスメタデータ計算プロセスが中断される可能性があります。したがってこうした変更は、インプレース MVU の完了後、Amazon DocumentDB 5.0 クラスターで想定通りのクエリパフォーマンスが得られるかを確認した後で実施することをお勧めします。  
次のクラスターイベントを使用して、この再計算プロセスの開始と終了を追跡できます。  
アップグレード後のクラスターステータス: インデックスメタデータの更新プロセスが開始されました
アップグレード後のクラスターステータス: X 秒で完了したインデックスメタデータの更新プロセス
  
インデックスメタデータの更新プロセスが 3 時間以内に完了していない場合、またはプロセスの完了後もパフォーマンスの問題が続く場合は、 AWS サポートにお問い合わせください。

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

## インプレースメジャーバージョンアップグレードの実行
<a name="perform-an-mvu"></a>

------
#### [ Using the AWS マネジメントコンソール ]

 AWS マネジメントコンソールを使用してインプレースメジャーバージョンアップグレードを実行する

1. [AWS マネジメントコンソール](https://console.aws.amazon.com/docdb/home?region=us-east-1) にサインインし、Amazon DocumentDB コンソールを開きます。

1. [**クラスタ**] テーブルで、ソースクラスタを選択し、[**アクション**] をクリックして、 [**変更**]をクリックします。  
![\[イメージ: 既存のクラスターリンクとそれに対応するインスタンスリンクのリストを示すクラスターナビゲーションボックス。\]](http://docs.aws.amazon.com/ja_jp/documentdb/latest/developerguide/images/mvu-cluster-table-2.png)

1. [**クラスターの仕様**] セクションの [**クラスターの変更**] ダイアログの [**エンジンバージョン**] ドロップダウンメニューから目的のデータベースバージョン (**5.0.0**) を選択します。  
![\[イメージ: クラスターの識別子とエンジンバージョンフィールドを示すクラスター変更ダイアログボックスのクラスター仕様セクション。\]](http://docs.aws.amazon.com/ja_jp/documentdb/latest/developerguide/images/mvu-modify-cluster-2.png)

1. [**クラスターオプション**] セクションで、適切なクラスターパラメータグループ (**default.docdb5.0**) または独自に作成したパラメータグループを選択します。  
![\[イメージ: クラスターパラメータグループフィールドを示すクラスター変更ダイアログボックスのクラスターオプションセクション。\]](http://docs.aws.amazon.com/ja_jp/documentdb/latest/developerguide/images/mvu-param-group-2.png)

1. 完了したら、下にスクロールして [**続行**] を選択します。

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

   その後、[**Modify Cluster**] を選択します。  
![\[イメージ: 選択したクラスターの変更の概要とスケジュールを示すクラスター変更ダイアログボックス。\]](http://docs.aws.amazon.com/ja_jp/documentdb/latest/developerguide/images/mvu-mod-schedule-2.png)

1. クラスターの表に、アップグレード中のクラスターのステータスを書き留めてください。  
![\[イメージ: アップグレード対象のクラスターのステータス列を強調表示したクラスターナビゲーションボックス。\]](http://docs.aws.amazon.com/ja_jp/documentdb/latest/developerguide/images/mvu-cluster-upgrading-2.png)

------
#### [ Using the AWS CLI ]

目的のエンジンバージョンオプションが搭載され、`allow-major-version-upgrade` フラグが設定された [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/docdb/modify-db-cluster.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/docdb/modify-db-cluster.html) コマンドを使用する。

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

上記の例では、各 *ユーザー入力プレースホルダー* をクラスターの情報に置き換えます。

------

## Amazon DocumentDB 3.6/4.0 から 5.0 にアップグレードされたクラスターと新規作成される Amazon DocumentDB 5.0 クラスターの違い
<a name="mvu-36-to-50-differences"></a>
+ インプレースメジャーバージョンアップグレードしても、元のインデックスはアップグレード後のクラスターに引き継がれます。Amazon DocumentDB 5.0 では、特に低カーディナリティインデックスにおけるインデックスメンテナンスとガベージコレクションプロセスの全体的な効率が向上しています。一般的なベストプラクティスとして、MVU が正常に完了した後に再インデックスコマンドを使用してインデックスをすべて再作成することをお勧めします。インデックスの再作成は必須ではなく、追加の I/O が含まれます。 詳細については、「[`reIndex` を使用したインデックスのメンテナンス](managing-indexes.md#reIndex)」を参照してください。
+ 複数の数値データ型のサブドキュメント比較
  + 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 クラスターには該当しません。

**注記**  
Amazon DocumentDB 3.6/4.0と Amazon DocumentDB 5.0 の機能上の違いの一覧については、「[Amazon DocumentDB の MongoDB との互換性](compatibility.md)」を参照してください。

## インプレースメジャーバージョンアップグレードのトラブルシューティング
<a name="mvu-troubleshooting"></a>
+ 障害が発生した場合、インプレースメジャーバージョンアップグレードは、アップグレードのロールバックを試みて、アップグレード開始前のクラスターの最後の動作状態を引き継ごうとします。ロールバックが成功すると、「データベースクラスターはアップグレードできない状態です: DocumentDB クラスターはメジャーバージョンのアップグレードを正常に完了できない状態です。」というイベントが生成されます。この時点で、 AWS サポートチームに連絡してトラブルシューティングを行い、バージョンアップグレードを再試行する必要があります。ワークロードは以前と同様に使い続けることができます。アップグレードに予想以上に時間がかかるその他のまれなシナリオでは、 AWS サポートチームにお問い合わせください。
+ しかし、インプレース MVU の正常な完了後、インデックスメタデータの更新プロセスの実行中に、短時間ではありますがアップグレードされたクラスターのパフォーマンスが一時的に低下し、CPU 使用率が高くなる可能性があります。2 時間以上パフォーマンスが低下し続ける場合は、 AWS サポートにお問い合わせください。