API によるバックアップ復元の自動化
APIを使用してスナップショットを復元するには、次の手順に従います。
復元するスナップショットの ID を見つけます。
そのスナップショット ID を使用して復元ジョブを作成します。
前提条件
APIアクセス権が必要です。 アクセス方法については、「 アクセスの構成API 」を参照してください。
スナップショットを検索してダウンロードするには、 APIキーが目的のプロジェクト内のスナップショットへの読み取りアクセス権を持っている必要があります。 そのスナップショットに関連するプロジェクトで、API キーに Project Read Only
ロールを付与します。
自動復元 API リソースの変数
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 | 復元ジョブのソース クラスターの一意の識別子。 |
TARGET-GROUP-ID | string | 復元ジョブのターゲット クラスターを含むプロジェクトの一意の識別子。 |
TARGET-CLUSTER-ID | string | 復元ジョブのターゲット クラスターの一意の識別子。 |
SNAPSHOT-ID | string | 復元するスナップショットの一意の識別子。 |
手順
1
スナップショット ID を取得します。
目的のスナップショットの ID を見つけるには、 Get All Snapshotsリソースを呼び出します。
次のコマンドを呼び出します。
curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \ --header "Accept: application/json" \ --header "Content-Type: application/json" \ --request GET "https://<OpsManagerHost>:<Port>/api/public/v1.0/groups/{PROJECT-ID}/clusters/{CLUSTER-ID}/snapshots?pretty=true"
2
スナップショットの復元ジョブを作成します。
スナップショット復元をリクエストするには、 [ 1 つの復元ジョブを作成]リソースを呼び出します。
次のコマンドを呼び出します。
1 curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \ 2 --header "Accept: application/json" \ 3 --header "Content-Type: application/json" \ 4 --request POST "https://<OpsManagerHost>:<Port>/api/public/v1.0/groups/{PROJECT-ID}/clusters/{CLUSTER-ID}/restoreJobs?pretty=true" \ 5 --data ' 6 { 7 "delivery" : { 8 "methodName" : "AUTOMATED_RESTORE", 9 "targetGroupId" : "{TARGET-PROJECT-ID}", 10 "targetClusterId" : "{TARGET-CLUSTER-ID}" 11 }, 12 "snapshotId": "{SNAPSHOT-ID}" 13 }'
注意
他の例を使用してスナップショットを復元する方法の詳細については、「 1 つのクラスター API の 1 つの復元ジョブを作成 する 」リソース ページを参照してください。