ストレージ

Pure Storage FlashArrayのREST API

Pure Storage FlashArray(FA)製品へのREST APIでのアクセス方法についてご紹介します。

はじめに

Pure Storageでは、ストレージの管理や運用を効率化するために、REST API(Representational State Transfer API)を提供しています。このREST APIを活用することで、スクリプトや外部ツールなどから、直接ストレージを操作・監視することが可能となります。例えば、以下のような操作を実行できます。

・ VolumeやFileSystemの作成・削除

・ Snapshotの取得・削除

・ 容量や使用状況の確認

・ 接続されているホストやポート状態の確認

・ パフォーマンス(IOPS・Bandwidth・Latency)の確認

また、Zabbixなどの外部ツールと連携させれば、ストレージの状態を常時監視し、異常を検知した際にはZabbix側で即時アラートを通知することが可能になります。

本ブログでは、FA製品にて、REST APIを使用するための認証方法やリクエスト例をご紹介します。

FlashArray REST APIについて

FAのREST APIは、HTTPベースで設計され、シンプルかつ直感的なインターフェースを持ち、外部アプリケーションや自動化スクリプトからストレージを制御・監視できる仕組みです。GUI(Graphical User Interface)やCLI(Command Line Interface)で実施している操作がAPI経由でも実行できるため、運用の自動化や構成管理の効率化に非常に適しています。

APIの基本的な仕様は以下の通りです。

・ 通信方式:HTTPS

セキュアな通信を実現するため、API通信はHTTPS経由で実施されます。

・ レスポンス方式:JSON

レスポンスはシンプルなJSON形式で返されます。プログラムが扱いやすく、スクリプトや外部ツールとの連携にも適しています。

・ エンドポイント設計:バージョン管理されたURL構成

APIエンドポイントには、APIバージョンが含まれており、バージョンごとの機能差異があります。

認証方式とAPIバージョンの違い

ここからは、このREST APIを実際に利用する上で必要となる、認証の仕組みや基本的なリクエストの書き方についてご紹介します。

REST APIには、主に以下の2つのバージョンがあります。(下記記載の推奨Purityバージョンは2025/12時点のものです)

REST APIの主な2つのバージョンについての図

・ API v1.x:トークンベース認証

v1.x系のAPIでは、FAで発行されたAPIトークンを使用し、直接セッションを開始します。トークンは基本的に長期間有効となっており、セッション確立後の通信にはこのトークンを使用して認証を行います。下記にトークンの作成・確認・セッション確立コマンドの紹介と情報取得までの流れを簡単に記載します。(以後の図に出てくる当社環境の情報(IPアドレスやAPI Token)はマスクしています)

まずはCLIにて、APIトークンを発行します。この時、APIでアクセスしたいユーザーにて、CLIでログインします。CLIでのアクセス方法は、下記ブログをご確認ください。

参考:Pure Storage GUI・CLIのログイン方法やそのアクセスユーザー

APIトークンを発行するコマンドは下記の通りです。

pureadmin create --api-token

作成したAPIトークンを確認するコマンドは下記の通りです。なお、この時ほかのユーザーのAPIトークンは自動的にマスクされ、確認することはできません。

pureadmin list --api-token --expose

APIエンドポイントに対してセッションを確立するコマンドは下記の通りです。

curl -k -i -X POST 'https://<FAのIPアドレス>/api/<APIバージョン>/auth/session' -H "Content-type:application/json" -d '{"api_token":<APIトークン>}' -c /任意のディレクトリ/任意のファイル

※curlコマンドのオプションの意味

-k:SSL証明書検証のスキップ(自己署名証明書などの「信頼されていないHTTPS証明書」を許可するために使います)

-i:レスポンスヘッダの表示(例:HTTP/1.1 200 OK)

-X:HTTPメソッドの指定(GET、POST、PUT、PATCHなど)

-H:リクエストヘッダの指定(データの形式などを指定)

-d:リクエストのデータ(リクエスト先に伝えたい情報)

-c:クッキーの保存(セッション情報を指定のファイルに保存)

下図は、APIバージョン 1.16 を使用してAPIエンドポイントに対してセッションを確立して実行したコマンドの結果です。

例として、実際に、セッションを確立して、FAの情報を取得するコマンドは下記の通りです。

curl -k -X POST 'https://<FAIPアドレス>/api/<APIバージョン>/<リクエスト内容>' -b /任意のディレクトリ/任意のファイル

(下の結果は、APIバージョン 1.16 を使用してFAの情報を取得するコマンドの出力結果)

/api/1.16/auth/arrayのエンドポイントは、「FAの基本情報」を返し、アレイの名前、Purity OSバージョンなどが表示されます。

curlのオプションbは、指定したファイルに保存されたセッション情報(Cookie)を読み込み、サーバーに送信することで認証済みの状態を維持します。トークンベース認証の場合、このセッション情報を送らないと未認証扱いとなってしまうため、bオプションでCookieを明示的に指定して送信する必要があります。

・ API v2.x:セッションベース認証

v2.x系のAPIでは、取得したAPIトークンから即座にセッションを開始するのではなく、一時的なセッショントークンを取得する必要があります。トークンの取得・確認はv1.x系で確認したコマンドと同じものを使用します。

APIトークンが取得できたら下記コマンドにてセッショントークンを取得します。

※セッショントークンは下図の中にあるx-auth-tokenです。

curl -k -i -X POST 'https://<FAのIPアドレス>/api/<APIバージョン>/login' -H '<APIトークン>'

下の図は、APIバージョン 2.26を使用してセッショントークン取得した際に実行したコマンドの結果です。

認証後に得られたセッショントークンをAPIリクエストヘッダに含めることで、以降の操作が可能になります。以下は、ストレージアレイに関する情報を取得するリクエストの例です。

curl -k -X GET 'https://<FAのIPアドレス>/api/<APIバージョン>/<リクエスト内容>' -H 'x-auth-token:<発行したx-auth-token>'

下の図は、APIバージョン 2.26 を使用してFAの情報を取得するコマンドを実行した結果です。

/api/2.26/arraysのエンドポイントは、「アレイの基本情報」を返しています。先ほどの例と同様、アレイの名前やPurity OSバージョンなどが表示されます。

その他の仕様や注意点

・ REST APIリファレンスについて

FAのAPIはバージョンごとにエンドポイントの記載方法が異なり、v1.x系とv2.x系では認証方式や利用可能な機能、取得されるデータに違いがあります。詳細は下記Pure Storage社のKB(Knowledge Base)をご確認ください。KBの閲覧にはPure1アカウントが必要です。お持ちでない場合は、Pure1アカウントを作成いたしますので、保守窓口までご連絡ください。

https://support.purestorage.com/bundle/m_purityfa_rest_api/page/FlashArray/PurityFA/topics/concept/c_purityfa_rest_api.html

・ v2.x系のセッショントークンについて

v2.x系のセッショントークンはOne Time Passwordのようなもので、一定時間後に失効するため、その際は改めて発行が必要です。

最後に

今回、Pure Storage FlashArrayで利用できるREST APIについて記載しました。REST APIを活用することで、ストレージの管理を自動化・効率化いただけます。FAのREST APIについて少しでも理解のお役に立つことができれば幸いです。

この記事に関連する製品・サービス

この記事に関連する記事