このチュートリアルでは、 APIを使用して MongoDB 配置を MongoDB の新しいバージョンに移行する方法について説明します。 これらの手順では、チュートリアルの を使用して API 経由でクラスターを配置した場合など、MongoDB の 4.0.6
バージョンを使用する既存の配置があることを前提としています。
注意
グループとプロジェクトは同義語です。 あなたの{PROJECT-ID}
は、プロジェクト ID と同じです。 既存のグループの場合、グループ/プロジェクト ID は同じままです。 このページでは、説明を参照するときに、より一般的な用語の グループ を使用します。 エンドポイントは ドキュメントに記載されているままです。
Considerations
APIは、MongoDB バージョン 2.6 以降のほとんどの MongoDB 設定とパラメータをサポートしています。 詳しくは、「 MongoDB 設定とオートメーション サポート 」を参照してください。
警告
MongoDB 5.0から6.0にアップグレードします
シャーディングされたクラスターを MongoDB 5.0から6.0にアップグレードする場合は、MongoDB マニュアルの 「シャーディングされたクラスターを6.0にアップグレードする」 ページの手順を使用して、各mongos
のキャッシュされたルーティング テーブルを更新する必要があります。
MongoDB のバージョンを更新するための API リソースの変数
API リソースは、これらの変数の 1 つ以上を使用します。 これらの API リソースを呼び出す前に、これらの変数を目的の値に置き換えます。
名前 | タイプ | 説明 |
---|---|---|
| string | API認証情報の公開 API キー。 |
| string | API 認証情報の プライベート API キー 。 |
| string | MongoDB Ops Manager インスタンスのURL 。 |
| string | プロジェクト設定からのプロジェクトの一意の識別子。 |
| string | クラスターの一意の識別子です。 |
前提条件
Global Owner
ロールを持つユーザーとして MongoDB Ops Manager にアクセスするには、認証情報が必要です。
手順
MongoDB Ops Managerからオートメーション構成を取得します。
構成を取得するには、 automationConfigリソースを使用します。 次のコマンドを発行して、プレースホルダーを MongoDB バージョンを更新するための API リソースの変数に置き換えます。
curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \ --request GET "https://<OpsManagerHost>:<Port>/api/public/v1.0/groups/{PROJECT-ID}/automationConfig?pretty=true" \ --output currentAutomationConfig.json ダウンロードしたオートメーション構成ファイルを検証します。
version
のcurrentAutomationConfig.json
フィールドと Automation Configuration バックアップ ファイルのmms-cluster-config-backup.json
フィールドを比較します。version
値は両方のJSONドキュメントの最後の要素です。 このファイルは、MongoDB Agent を実行しているホスト上の次の場所にあります。Linux と macOS:
/var/lib/mongodb-mms-automation/mms-cluster-config-backup.json
Windows:
%SystemDrive%\MMSAutomation\versions\mms-cluster-config-backup.json
version
値が一致する場合は、現在のバージョンの Automation 構成ファイルを操作します。
編集する構成ドキュメントを開きます。
次の手順で構成ドキュメントを編集する際には、設定の詳細な説明については、オートメーション構成の説明を参照してください。
更新された自動化構成を送信します。
更新されたオートメーション構成を送信するには、 automationConfigリソースを使用します。
更新された構成ドキュメントへのパスを指定して次のコマンドを発行し、プレースホルダーを MongoDB バージョンを更新するための API リソースの変数に置き換えます。
curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \ --header "Content-Type: application/json" --request PUT "https://<OpsManagerHost>:<Port>/api/public/v1.0/groups/{PROJECT-ID}/automationConfig?pretty=true" \ --data @currentAutomationConfig.json
構成の更新に成功すると、API はリクエストが成功したことを示す HTTP 200 OK
ステータス コードを返します。
オートメーション構成の更新が成功したことを確認します。
MongoDB Ops Managerからオートメーション構成を取得し、変更が含まれていることを確認します。 構成を取得するには、次のコマンドを実行して、プレースホルダーを「MongoDB バージョンを更新するための API リソースの変数」に置き換えます。
curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \ --request GET "https://<OpsManagerHost>:<Port>/api/public/v1.0/groups/{PROJECT-ID}/automationConfig?pretty=true"
配置ステータスをチェックし、目的の状態に達していることを確認します。
配置ステータスを取得するには、 automationStatusリソース を使用します。 次のコマンドを発行して、プレースホルダーを MongoDB バージョンを更新するための API リソースの変数に置き換えます。
curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \ --request GET "https://<OpsManagerHost>:<Port>/api/public/v1.0/groups/{PROJECT-ID}/automationStatus?pretty=true"
processes
配列内のすべてのlastGoalVersionAchieved
フィールドの値がgoalVersion
フィールドと一致していることを確認します。 配置ステータスの詳細については、 「 最新プランのオートメーション ステータスを取得する 」を参照してください。