こんにちは! クラウドエンジニアリング本部サービス開発部の山口です。
IDCFクラウドRDBサービスは、2025年7月より一部APIの公開をいたしました。
RDBサービスでは、既存機能としてIDCFクラウドポータルのUIから指定のRDBに対してバックアップ設定やバックアップ作成を実施することができます。これまで、UIから1台ずつ手動で実施していたバックアップ関連操作を、APIを活用することでより効率的に実行できるようになります。
今回は、APIを利用して指定のRDBに対してバックアップの設定を行い、更にバックアップの作成を実施するまでを順にご紹介します。
また、提供中のAPIの利用方法は IDCF Cloud API Docs でもご紹介していますので、あわせてご参照ください。
※バックアップオプションを利用するには、クラウドストレージを有効化しておく必要があります。有効化されていない場合は、クラウドストレージのご利用ガイド「クラウドストレージ申し込みからオブジェクトアップロードまでの流れ」を参考に、「1-3. クラウドストレージの有効化」まで完了してください。
目次
API実行の準備
IDCFクラウドの各種APIを実行するには、APIを実行する対象サービスのエンドポイントと、IDCFクラウドのユーザーアカウントに提供されているUser KeyのAPI KeyとSecret Keyが必要になります。使用する情報はこちらで確認することができます。
本ブログでは例として、すべてのAPIリクエストで下記の情報を使用します。
| 項目 | 値 |
|---|---|
| API Key | Md33QscmP4IMNSgCGsFM_5oyxJgFbhWGYLWS4JgfWJjF3X5b_YWoZy-Yobpe04nouSA8_E5KJ1_PkBrlOETRgw |
| エンドポイント | https://rdb.idcfcloud.com/api/v1 |
バックアップ対象のRDBの情報を取得する
対象のRDBに紐づくバックアップ設定を取得するため、対象のRDBのuuidを確認します。各RDBのuuidはIDCFクラウドポータルのUIからも確認できますので、API実行を必要としない場合はUIからuuidをご参照ください。

まず、RDB一覧のAPIを実行するためのシグネチャーを計算します。
シグネチャーの計算方法はAPI DocsのAPIリクエスト方法をご確認ください。
例として下記情報でシグネチャーを作成します。
| 項目 | 値 |
|---|---|
| HTTPリクエストメソッド | GET |
| リクエストパス | /api/v1/dbservers |
| API Key | Md33QscmP4IMNSgCGsFM_5oyxJgFbhWGYLWS4JgfWJjF3X5b_YWoZy-Yobpe04nouSA8_E5KJ1_PkBrlOETRgw |
| 有効期限 | 1234567890 |
| クエリストリング | null |
シグネチャーを作成できたら、APIを実行します。
RDBの情報を取得するAPIは、アカウントに紐づくRDBの全件取得とuuidを指定して特定のRDBのみ取得する2種類のAPIがあり、今回は全件取得で確認します。
curl -X "GET" \ -H "X-IDCF-APIKEY: Md33QscmP4IMNSgCGsFM_5oyxJgFbhWGYLWS4JgfWJjF3X5b_YWoZy-Yobpe04nouSA8_E5KJ1_PkBrlOETRgw" \ -H "X-IDCF-Expires: 1234567890" \ -H "X-IDCF-Signature: LXtskuAfipQwn2JeQfB0bv7h56xIP3KPHcIwab/Q6ww=" \ -H "Content-Type: application/json" \ https://rdb.idcfcloud.com/api/v1/dbservers
APIを実行すると、API Keyに紐づくIDCFクラウドアカウントで作成したRDBの一覧がJSON形式で返却されます。一覧の中からバックアップを作成したいRDBのuuidを確認します。
RDBのuuidに例として下記uuidを使用します。
a9b5f216-1234-4db2-add3-344c4e841234
バックアップ設定を確認する
バックアップを作成するには、RDBに紐づくバックアップ設定のuuidが必要になります。RDBを作成した段階では、対象のRDBにはバックアップ設定はありませんので、UIから定期バックアップの設定を実施するか、APIを利用してバックアップ設定を作成する必要があります。
この項目では、APIを利用して対象のRDBのバックアップ設定情報の確認とバックアップ設定の作成を実施します。
1 . 対象のRDBに紐づくバックアップ設定情報を取得する
バックアップ設定情報の取得をするAPIには、特定のRDBに紐づくバックアップ設定情報を取得するAPIと、バックアップ設定情報のuuidを指定して取得するAPIの2種類があります。本項では前者のAPIを利用します。
バックアップ設定情報を取得するAPIを実行するために、まずはシグネチャーを計算します。
例として下記情報でシグネチャーを作成します。dbserver_idは前項で確認したRDBのuuidを指定します。
| 項目 | 値 |
|---|---|
| HTTPリクエストメソッド | GET |
| リクエストパス | /api/v1/backup_settings |
| API Key | Md33QscmP4IMNSgCGsFM_5oyxJgFbhWGYLWS4JgfWJjF3X5b_YWoZy-Yobpe04nouSA8_E5KJ1_PkBrlOETRgw |
| 有効期限 | 1234567890 |
| クエリストリング | dbserver_id=a9b5f216-1234-4db2-add3-344c4e841234 |
上記情報で作成したシグネチャーを使用し、APIを実行します。
curl -X "GET" \ -H "X-IDCF-APIKEY: Md33QscmP4IMNSgCGsFM_5oyxJgFbhWGYLWS4JgfWJjF3X5b_YWoZy-Yobpe04nouSA8_E5KJ1_PkBrlOETRgw" \ -H "X-IDCF-Expires: 1234567890" \ -H "X-IDCF-Signature: TR3TSISiAu4KzL9g301i6naLCtY3uJY8ACogqb3lVK4=" \ -H "Content-Type: application/json" \ https://rdb.idcfcloud.com/api/v1/backup_settings?dbserver_id=a9b5f216-1234-4db2-add3-344c4e841234
APIを実行すると指定したRDBに紐づくバックアップ設定情報がJSON形式で返却されるので、uuidを確認してください。バックアップ設定情報が作成されていない場合は空のレスポンスが返却されます。バックアップ設定情報のuuidが確認できた場合は「バックアップを作成する」の項目へ進んでください。バックアップ設定情報がない場合は次項目でバックアップ設定情報を作成します。
2. バックアップ設定情報を作成する
バックアップ設定情報がないRDBに対して、設定情報を作成します。本項で使用するAPIと同じAPIを利用して作成済みの設定情報を更新することもできますので、定期バックアップ時間の変更や定期バックアップ作成の有効化・無効化にもこのAPIを使用してください。
例として下記情報でシグネチャーを作成します。
| 項目 | 値 |
|---|---|
| HTTPリクエストメソッド | POST |
| リクエストパス | /api/v1/backup_settings |
| API Key | Md33QscmP4IMNSgCGsFM_5oyxJgFbhWGYLWS4JgfWJjF3X5b_YWoZy-Yobpe04nouSA8_E5KJ1_PkBrlOETRgw |
| 有効期限 | 1234567890 |
| クエリストリング | null |
上記情報で作成したシグネチャーを使用し、APIを実行します。 引数として指定するdata内容は例となりますので、状況に合わせて変更してください。
curl -X "POST" \
-H "X-IDCF-APIKEY: Md33QscmP4IMNSgCGsFM_5oyxJgFbhWGYLWS4JgfWJjF3X5b_YWoZy-Yobpe04nouSA8_E5KJ1_PkBrlOETRgw" \
-H "X-IDCF-Expires: 1234567890" \
-H "X-IDCF-Signature: hrYN0v5nO9Hjyn5B6C/RFSyr9LUOdqVriwfQ/T3BwhM=" \
-H "Content-Type: application/json" \ https://rdb.idcfcloud.com/api/v1/backup_settings \
-d '{"dbserver_id":"a9b5f216-1234-4db2-add3-344c4e841234","start_time":"12","backup_count":1,"is_schedule":true}'
APIを実行するとJSON形式でsuccessというメッセージが返却されるので、設定情報は作成完了となります。次項目のバックアップ作成に設定情報のuuidが必要となるので、1つ前の項目と同じようにバックアップ設定情報を取得するAPIを実行して設定情報のuuidを確認してください。 バックアップ設定情報のuuidに例として下記uuidを使用します。
81c8a239-456d-4867-8166-c869177be1ac
バックアップを作成する
バックアップを作成するには、対象のRDBがRunning状態である必要があります。対象のRDBがStoppedになっている場合はあらかじめ起動してください。
まずはバックアップ作成のAPIを実行するためのシグネチャーを計算します。例として下記情報でシグネチャーを作成します。backup_setting_idは前項で確認した設定情報のuuidを指定します。
| 項目 | 値 |
|---|---|
| HTTPリクエストメソッド | POST |
| リクエストパス | /api/v1/backups |
| API Key | Md33QscmP4IMNSgCGsFM_5oyxJgFbhWGYLWS4JgfWJjF3X5b_YWoZy-Yobpe04nouSA8_E5KJ1_PkBrlOETRgw |
| 有効期限 | 1234567890 |
| クエリストリング | backup_setting_id=81c8a239-456d-4867-8166-c869177be1ac |
上記情報で作成したシグネチャーを使用し、APIを実行します。
curl -X "POST" \ -H "X-IDCF-APIKEY: Md33QscmP4IMNSgCGsFM_5oyxJgFbhWGYLWS4JgfWJjF3X5b_YWoZy-Yobpe04nouSA8_E5KJ1_PkBrlOETRgw" \ -H "X-IDCF-Expires: 1234567890" \ -H "X-IDCF-Signature: FY9QJtpUvBy/2wxKRoCoRNUI8rgjyfwj3/6crJUsGdQ=" \ -H "Content-Type: application/json" \ https://rdb.idcfcloud.com/api/v1/backups?backup_setting_id=81c8a239-456d-4867-8166-c869177be1ac
バックアップ作成APIは非同期で実行されるので、APIを実行すると登録されたasync_job情報がJSON形式で返却されます。このレスポンスにあるresource_id項目のuuidはバックアップのuuidです。次項目のバックアップの確認で使用します。
バックアップの作成は作成開始ジョブとステータスチェックジョブの2つのジョブで構成されており、本項で返却されたasync_job情報は作成開始ジョブの情報になります。ジョブ取得APIを利用し返却されたasync_jobの結果を確認した際にジョブのステータスがsuccessになっていても、後続のステータスチェックジョブが実行中の場合はバックアップ作成が完了していない可能性があるため、バックアップ作成の最終的な成否を確認するにはバックアップ一覧から対象のステータスを確認するようにしてください。
作成したバックアップの確認
作成したバックアップ一覧はIDCFクラウドポータルUIとAPIのどちらからも確認することができます。本項ではAPIでの確認方法についてご紹介します。
バックアップを確認するAPIは、アカウントに紐づくすべてのバックアップを取得するAPI、特定のRDBから作成したバックアップを取得するAPI、特定のバックアップのみを取得するAPIの3種類あります。今回は作成を実施したことでバックアップのuuidがわかっている状態なので特定のバックアップのみを取得するAPIと、バックアップのuuidがわからなくても利用できるアカウントに紐づくすべてのバックアップを取得するAPIの2種類を紹介します。
特定のバックアップのみを取得するAPIを利用して確認する場合は、/api/v1/backups/:backup_uuid をリクエストパスに指定してAPIを実行してください。
例として下記情報でシグネチャーを作成します。リクエストパスの/api/v1/backups/:backup_uuidのbackup_uuidは作成時に返却されたresource_id項目を参照してください。
| 項目 | 値 |
|---|---|
| HTTPリクエストメソッド | GET |
| リクエストパス | /api/v1/backups/3576467b-f71e-4375-934a-eb607609c6a1 |
| API Key | Md33QscmP4IMNSgCGsFM_5oyxJgFbhWGYLWS4JgfWJjF3X5b_YWoZy-Yobpe04nouSA8_E5KJ1_PkBrlOETRgw |
| 有効期限 | 1234567890 |
| クエリストリング | null |
上記情報で作成したシグネチャーを使用し、APIを実行します。
curl -X "POST" \ -H "X-IDCF-APIKEY: Md33QscmP4IMNSgCGsFM_5oyxJgFbhWGYLWS4JgfWJjF3X5b_YWoZy-Yobpe04nouSA8_E5KJ1_PkBrlOETRgw" \ -H "X-IDCF-Expires: 1234567890" \ -H "X-IDCF-Signature: lSMDL4bdlxoyn1iAFuSO58oG3cvkLHGkvKdhffnFakk=" \ -H "Content-Type: application/json" \ https://rdb.idcfcloud.com/api/v1/backups/3576467b-f71e-4375-934a-eb607609c6a1
APIを実行すると指定したbackup_uuidに紐づくバックアップ情報がJSON形式で返却されます。
アカウントに紐づくすべてのバックアップを取得するAPIを利用して確認する場合は、/api/v1/backups をリクエストパスに指定してAPIを実行してください。
例として下記情報でシグネチャーを作成します。
| 項目 | 値 |
|---|---|
| HTTPリクエストメソッド | GET |
| リクエストパス | /api/v1/backups |
| API Key | Md33QscmP4IMNSgCGsFM_5oyxJgFbhWGYLWS4JgfWJjF3X5b_YWoZy-Yobpe04nouSA8_E5KJ1_PkBrlOETRgw |
| 有効期限 | 1234567890 |
| クエリストリング | null |
上記情報で作成したシグネチャーを使用し、APIを実行します。
curl -X "POST" \ -H "X-IDCF-APIKEY: Md33QscmP4IMNSgCGsFM_5oyxJgFbhWGYLWS4JgfWJjF3X5b_YWoZy-Yobpe04nouSA8_E5KJ1_PkBrlOETRgw" \ -H "X-IDCF-Expires: 1234567890" \ -H "X-IDCF-Signature: cYlv1DeTbTOj8iJxCLX2YjUFU3rCeKicf/aGTVpYvcE=" \ -H "Content-Type: application/json" \ https://rdb.idcfcloud.com/api/v1/backups
APIを実行すると自身のIDCFクラウドアカウントに紐づくすべてのバックアップ情報がJSON形式で返却されます。(すでに削除済みのバックアップは対象外です)
どちらのAPIを使用した場合も確認できるバックアップ情報の項目は同じとなっています。
status項目がenableになっていれば作成完了となります。creatingになっている場合はまだ作成中の状態ですので、5分程度待ってからもう一度GETのAPIを実行しstatusを再確認してください。errorになっている場合は作成に失敗しているので、再度作成を実施するようにしてください。
最後に
今回はRDBの複数のAPIを利用してバックアップを作成し確認するまでを順を追ってご紹介しました。RDBにはバックアップ以外にもいくつかのAPIが用意されていますので、ぜひAPIリファレンスをご覧ください。