HPE Blog, Japan
1752815 メンバー
5841 オンライン
108789 解決策
新規ポスト
yoshihiko1989

【連載】次世代ハイパーコンバージド「HPE SimpliVity」を取り巻くエコシステム ー 第5回 APIでSimpliVityを操作してみよう!その1

前回まではSimpliVityの上でコンテナを「動かす」ことに焦点を当ててお話しましたが、今回からは「自動化」をキーワードに、APIでのSimpliVity操作例をご紹介します。

 

APIを公開するメリットとその活用法

APIとは、Application Programming Interfaceの略語で、ソフトウェアとプログラムを繋ぐもの(インターフェース)のことを指します。

昨今のTwitterFacebookなどのWebサービスに代表されるように、API公開はもはや当たり前の時代になっています。APIのメリットは「複雑な処理を隠蔽」して複雑なプログラムをスクラッチで書く必要をなくすことです。そして、公開するメリットは「二次利用」による開発効率の向上や、「自動化」をしやすくするといったことが挙げられます。

世の中には様々なAPIの規格がありますが、インフラ系で標準となっているのが、REST APIRepresentational State Transfer)であり、後述するRESTの設計思想のもと様々なベンダーが開発しています。HPEのハードウェア製品もREST APIを公開しており、SimpliVityもそのうちの一つです。

 

REST APIの設計思想

RESTの規格に基づいたAPI設計では、主に5つの設計ポイントがあります。

 

1. アドレス指定可能なURLで公開

1つ目のポイントは操作対象のリソースをアドレスで指定可能な方式で公開していることです。「なにを操作したいか」がリソースのURLを見るだけである程度予想できるくらいシンプルな設計が望まれます。

下図の例だと「https://<OmniStack Virtual Controller>/api/virtual_machine」というURLになっているため、対象のOmniStack Virtual Controllerが搭載されたSimpliVity内の仮想マシンに何らかの操作ができるのだろうと予想することができます。

 

2. インターフェース(HTTPメソッド)の統一

操作する命令セットは、HTTPメソッドに則り、POST/GET/PUT/DELETEなどが利用されます。たとえば、SimpliVity内のなんらかの情報を取得したい場合はGET <リソース名>」SimpliVity内に情報を与えたい(例えばログイン情報など)はPOST <リソース名>」といった具合です。図1.png

  

3. 処理結果がHTTPステータスコードで通知

処理結果はHTTPステータスコードで通知されるため、きちんと処理が成功していれば200番台のステータスが、400番台は認証等のエラー、500番台はサーバー内部のエラーなど、わかりやすく通知されます。

403 Forbidden」とか「404 Not Found」はWebサービス利用時にもアクセス権の関係等で見たことある方は多いのではないでしょうか。

 

4. ステートレス

RESTは状態を持たないステートレスな設計のため、毎回ログインセッションを張るためにアクセストークンを取得する必要があります。ここはREST APIを使用する際の第一ステップです。

 

5. 情報の内部に別の情報を包含できる

細かい操作情報は、命令を投げる際にヘッダーとボディ部分に包含することができるため、例えば認証情報(ユーザー名/パスワード)をボディ部分に埋め込んでログインセッションを張るといったことも容易に可能となります。

ヘッダーとボディの記載方式は公開しているAPIにより異なるため、APIリファレンスガイドを参照しましょう。

 

図2.png 

上記5つのポイントをまとめ、クライアントによるリクエストからAPIサービスにより処理され実行結果が返ってくるまでのスキームを下記図に表します。処理結果はステータスコード200番台とともに、レスポンスボディの中にJSON/XML/TEXT形式で記載されます。

 

図3.png

 

SimpliVityREST APIで操作する前に

実際にSimpliVityREST APIで操作する前に、APIエンドポイントや詳細情報を埋め込むヘッダー、リクエストボディをどのように記載するのかのルールを参照するAPIリファレンスガイドをご紹介いたします。SimpliVityでのAPIリファレンスは2つあり、アクセス方法やデザインが異なれど、内容は双方とも同じものです。

インターネット上に公開されている汎用的なリファレンスガイド、SimpliVityに関連するProjectや、HPE製品のAPIも公開している

  • https://<omnistack virtual controller>/api

インターネットにアクセスできない環境のために、SimpliVityの筐体自体にもガイドが内蔵されています。OmniStack Virtual ControllerManagement IPのアドレスで上記URLにアクセスすると、ログインセッションの張り方から各リソースへの操作方法もわかりやすく載っている。


HPE Dev.PNG

 HPE Dev:https://developer.hpe.com/platform/hpe-simplivity

 

OVC rest_2.PNGhttp://<omnistack virtual controller>/api

 

今回はSimpliVityREST APIで操作する前段階のお話をさせていただきました。

次回は実際にリファレンスガイドに沿って、REST APIを気軽にお試しできるGooglePOSTMANといったAPIクライアントツールでの操作例を、手順も交えてご紹介したいと思います。

0 感謝
作者について

yoshihiko1989

日本ヒューレット・パッカード株式会社で Server Solution / CloudNative関連のプリセールスを担当しています。