Docs Menu
Docs Home
/
MongoDB Ops Manager
/ /

API によるキーファイルのローテーション

項目一覧

  • 前提条件
  • Automation Config API リソースの変数
  • 手順

プロジェクトのオートメーション構成を更新することで、キーファイルをプログラムでローテーションできます。

MongoDB Ops Manager APIを使用してキーファイルをローテーションするには、次の手順に従います。

  1. 現在の構成を取得します。

  2. auth.newKey設定で使用する新しいキー ファイルを追加します。

  3. PUTを使用して構成全体を置き換えます。 PUTを使用する必要があります。 PATCHは使用しないでください

すべてのMongoDBエージェントが新しいキーを使用すると、 MongoDB Ops Managerは auth.key の値をauth.newKeyで指定した新しいキーに置き換え、オートメーション構成からauth.newKeyを削除します。

  • APIへのアクセス権が必要です。 詳しくは、「 API アクセスの設定 」を参照してください。

  • API キーには、 Project Automation AdminまたはProject Ownerロールが必要です。

  • 認証を有効にする必要があります。

  • プロジェクト内の少なくとも 1 つのクラスターは、 clusterAuthModeオプションをkeyFileまたはsendKeyFileに設定して構成する必要があります。

  • プロジェクト内のすべてのクラスターは MongoDB バージョン 4.2 以降を実行している必要があります。

API リソースは、これらの変数の 1 つ以上を使用します。 これらの API リソースを呼び出す前に、これらの変数を目的の値に置き換えます。

名前
タイプ
説明
PUBLIC-KEY
string
API認証情報の公開 API キー。
PRIVATE-KEY
string
API 認証情報の プライベート API キー 。
<OpsManagerHost>:<Port>
string
MongoDB Ops Manager インスタンスのURL
GROUP-ID
string
プロジェクト設定からのプロジェクトの一意の識別子。
CLUSTER-ID
string
クラスターの一意の識別子です。
1
  1. 構成を取得するには、 automationConfigリソースを使用します。 次の コマンドを発行して、プレースホルダーを Automation Config 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
  2. ダウンロードしたオートメーション構成ファイルを検証します。

    versioncurrentAutomationConfig.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 構成ファイルを操作します。

2
  1. テキスト エディターでcurrentAutomationConfig.jsonを開きます。

  2. auth.newKeyフィールドを追加する。 このフィールドの値を、MongoDB Ops Manager で使用する新しいキー ファイルに設定します。

    注意

    以下のサンプル構成は、読みやすくするために切り捨てられています。

    {
    "auth": {
    "disabled": "false",
    "key": "<your-old-key>",
    "newKey": "<your-new-key>"
    }
    }

MongoDB Agent を更新する場合は、この手順を続行する前に「 Agent のバージョンを更新する 」を参照してください。

3

更新されたオートメーション構成を送信するには、 automationConfigリソースを使用します。

更新された構成ドキュメントへのパスを指定して次のコマンドを実行し、プレースホルダーを Automation Config 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ステータス コードを返します。

4

MongoDB Ops Managerからオートメーション構成を取得し、変更が含まれていることを確認します。 構成を取得するには、次のコマンドを実行して、プレースホルダーを Automation Config API リソースの変数に置き換えます。

curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \
--request GET "https://<OpsManagerHost>:<Port>/api/public/v1.0/groups/{PROJECT-ID}/automationConfig?pretty=true"
5

配置ステータスを取得するには、 automationStatusリソース を使用します。 次の コマンドを発行して、プレースホルダーを Automation Config 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フィールドと一致していることを確認します。 配置ステータスの詳細については、 「 最新プランのオートメーション ステータスを取得する 」を参照してください。

戻る

オートメーション構成の更新