はじめに
Veeamの管理・運用というと、どうしてもGUIベースでの管理をイメージされる方が多いかと思います。確かに細かいところまできちんと構成できるGUIではあるのですが、やはりスクリプトベースでの運用管理、また他システムとの連携なども想定すると、CLI、あるいはAPIによる運用管理も考える必要があります。
Veeamでは、Powershell、またはRESTAPIを利用した管理用インタフェースも用意されており、こちらを利用することで、他システムとの連携などもスムーズに行うことができます。また、REST APIの利用に備えて、Swaggerクライアントを使ってのREST APIアクセス機能も実装されています。このブログではこちらのSwaggerUIのご紹介をさせていただきます。
SwaggerUIとは
Swagger UIは、REST APIの機能を評価および調査するためのツールです。Swagger UIはAPI仕様ファイルを視覚的に表示し、APIエンドポイントの操作を可能にします。RET APIに関する知識がなくとも、ブラウザからAPIを利用したGET/POSTを行うことができます。
SwaggerUIにアクセスするには
SwaggerUIにアクセスするには、Web ブラウザを使用して 以下のURLにアクセスします。
https://(VBRサーバのIPアドレス):(REST APIポート番号)/swagger/ui/index.html
「REST APIポート番号」におけるデフォルトのポート番号は9419です。これは、Veeam Backup & Replicationのインストール時に設定されます。
上記URLにアクセスすると以下のような画面が開きます。
必要があれば、画面上部の「Select a definition」のリストから必要なREST APIのバージョンを選択します。
最新バージョンは1.2-rev1です。
認証するには
Swagger UI を使用してVeeam Backup & Replication REST APIを利用するために、まず 認証を行います。
そのために、以下の手順でアクセス トークン(とリフレッシュ トークン)を取得します。
「Veeam Backup & Replication REST APIページで、ログインセクションを展開し、「POST api/oauth2/token」をクリックします。展開されたメソッド ウィンドウで、[Try it Out]をクリックします。
grant_typeドロップダウンリストから、 passwordを選択します。
ユーザー名とパスワードのフィールドに、 Veeam Backup & Replicationで作成されたユーザーの資格情報を指定します。
「Execute」をクリックします。
認証が正常に完了すると、「Server Response」にアクセストークンが表示されます。「Download」をクリックして、トークンファイルをダウンロードします。
ダウンロードしたトークンファイルを開き、「access token」として定義されている部分をコピーします。上記の例でいえば、「ey...FQ」までをコピーします(ダブルコーテーションは含みません)。
画面上部に戻り、「Authorize」をクリックします。認証画面が表示されるので、「Value」に先ほどコピーしたトークン情報をペーストし、「Authorize」をクリックします。
「Authorize」になることを確認します。「close」をクリックします。
情報の取得
承認を取得したら、Swagger UI で Veeam Backup & Replication REST API コレクションおよびリソースに HTTP リクエストを送信できます。
リクエストを送信するには、認証のセクションで記載した通り、REST APIページで、操作を実行するリソースを展開し、リクエストメソッドのリストで、必要なメソッドをクリックします。
展開されたメソッド ウィンドウで、[Try it out]をクリックします。必要に応じてパラメータ値を指定し、「Execute」をクリックします。
Swagger UIは、レスポンス本文、レスポンスコード、レスポンスヘッダーを返します。さらに、リクエストに対応するcurlコマンドとURLも生成します。
サーバーからのレスポンスをJSON形式でダウンロードできます。ダウンロードするには、展開されたメソッドウィンドウで、「レスポンス本文」フィールドの右下にある「ダウンロード」をクリックします。
このようにして、Veeam環境内部で定義されている情報をREST API経由で取得することが可能となります。また、情報の取得(GET)だけではなく、情報のセット(POST)、例えばジョブの作成やレポジトリ、バックアップ対象の追加などもREST APIを経由した実装が可能となります。
RESTAPIを利用した運用スクリプトの作成やアプリケーション(特に監視システムなど)との連携などご相談ください。