プロキシアクセスを介してONTAP APIにアクセスする
ゲートウェイAPIを使用すると、Active IQ Unified Managerのクレデンシャルを使用してONTAP REST APIを実行し、ストレージ オブジェクトを管理することができます。これらのAPIは、Unified Manager Web UIからAPIゲートウェイ機能を有効にすると使用できるようになります。
Unified Manager REST APIでUnified Managerのデータソース(ONTAPクラスタ)に対して実行できるのは、一部の処理のみです。それ以外の処理はONTAP APIを使用して実行できます。ゲートウェイAPIを使用すると、Unified Managerをパススルー インターフェイスとして、各データセンター クラスタに個別にログインせずに直接管理対象のONTAPクラスタに対してすべてのAPI要求を実行することができます。Unified Managerは単一の管理ポイントとして機能し、そのUnified Managerインスタンスが管理するONTAPクラスタ全体に対してAPIを実行することができます。APIゲートウェイ機能を使用すると、それぞれのONTAPクラスタに個別にログインすることなく、単一のコントロール プレーンであるUnified Managerから複数のONTAPクラスタを一元的に管理できます。Unified Managerにログインしたままで、ONTAP REST API処理を実行してONTAPクラスタを管理できます。
|
すべてのユーザがGET処理を使用してクエリを実行できます。アプリケーション管理者はすべてのONTAP REST処理を実行できます。 |
ゲートウェイは、ヘッダーと本文の形式をONTAP APIと同じにすることで、API要求をトンネリングするプロキシとして機能します。個々のクラスタのクレデンシャルを渡すことなく、Unified Managerのクレデンシャルを使用して特定の処理を実行し、ONTAPクラスタにアクセスして管理することができます。クラスタ認証とクラスタ管理は引き続き管理されますが、API要求は特定のクラスタにリダイレクトされて直接実行されます。APIから返される応答は、対応するONTAP REST APIをONTAPから直接実行した場合と同じです。
HTTP動詞 | パス(URL) | 説明 | ||
---|---|---|---|---|
|
|
このGETメソッドは、Unified Managerで管理されているクラスタのうち、ONTAP REST呼び出しをサポートするすべてのクラスタのリストを取得します。クラスタのUniversal Unique Identifier(UUID)に基づいてクラスタの詳細を確認し、他のメソッドを実行することができます。
|
||
|
|
これは単一ポイントのプロキシAPIで、POST、DELETE、PATCHの処理に加え、すべてのONTAP REST APIのGETをサポートしています。ONTAPでサポートされているかぎり、どのAPIにも制限はありません。トンネリングまたはプロキシ機能を無効にすることはできません。 その `OPTIONS`メソッドは、 ONTAP REST API でサポートされているすべての操作を返します。たとえば、 ONTAP APIが `GET`操作、実行 `OPTIONS`このゲートウェイAPIを使用してメソッドを返す `GET`応答として。このメソッドはSwaggerではサポートされていませんが、他のAPIツールでは実行できます。 その `OPTIONS`メソッドは、リソースが利用可能かどうかを判断します。この処理を使用して、リソースに関するメタデータをHTTP応答ヘッダーに表示できます。このメソッドはSwaggerではサポートされていませんが、他のAPIツールでは実行できます。 |
APIゲートウェイトンネリングを理解する
ゲートウェイAPIを使用すると、Unified ManagerからONTAPオブジェクトを管理できます。Unified Managerはクラスタと認証の詳細を管理し、ONTAP RESTエンドポイントに要求をリダイレクトします。ゲートウェイAPIは、ヘッダーおよび応答本文のURLとHypermedia as the Engine of Application State(HATEOAS)リンクをAPIゲートウェイのベースURLで変換します。ゲートウェイAPIはプロキシのベースURLとして機能し、これにONTAP REST URLを追加して必要なONTAP RESTエンドポイントを実行します。
|
ONTAP APIがAPIゲートウェイ経由で実行されるためには、APIを実行するONTAPクラスタのバージョンでAPIがサポートされている必要があります。ONTAPクラスタでサポートされていないAPIを実行した場合、結果は何も返されません。 |
この例では、ゲートウェイ API (プロキシ ベース URL) は次のとおりです。 /gateways/{uuid}/
取得したONTAP API は次のとおりです。 /storage/volumes
。このONTAP API REST URLをpathパラメータの値として追加する必要があります。
|
パスを追加する際は、「 |
追加された URL は次のとおりです。 /gateways/{uuid}/storage/volumes
実行時に GET`この操作により、生成される URL は次のようになります。 `GEThttps://<hostname\>/api/gateways/<cluster_UUID\>/storage/volumes
その `/api`追加された URL ではONTAP REST URL の タグが削除され、ゲートウェイ API のタグは保持されます。
サンプルcURLコマンド
curl -X GET "https://<hostname>/api/gateways/1cd8a442-86d1-11e0-ae1c-9876567890123/storage/volumes" -H "accept: application/hal+json" -H "Authorization: Basic <Base64EncodedCredentials>"
このAPIは、指定したクラスタ内のストレージ ボリュームのリストを返します。応答形式は、同じAPIをONTAPから実行した場合と同じです。返されるステータス コードは、ONTAP RESTのステータス コードです。
APIスコープを設定する
すべてのAPIは、コンテキストがクラスタのスコープ内に設定されています。Storage VMを対象とするAPIのスコープもクラスタです。つまり、管理対象クラスタ内の特定のStorage VMでAPI処理が実行されます。実行すると `/gateways/{uuid}/{path}`API を使用する場合は、操作を実行するクラスターのクラスター UUID (Unified Manager データ ソース UUID) を必ず入力してください。そのクラスタ内の特定のStorage VMにコンテキストを設定する場合は、Storage VMのキーをX-Dot-SVM-UUIDパラメータとして入力するか、Storage VMの名前をX-Dot-SVM-Nameパラメータとして入力します。指定したパラメータが文字列ヘッダーにフィルタとして追加され、クラスタ内のそのStorage VMのスコープ内で処理が実行されます。
サンプルcURLコマンド
curl -X GET "https://<hostname>/api/gateways/e4f33f90-f75f-11e8-9ed9-00a098e3215f/storage/volume" -H "accept: application/hal+json" -H "X-Dot-SVM-UUID: d9c33ec0-5b61-11e9-8760-00a098e3215f" -H "Authorization: Basic <Base64EncodedCredentials>"
ONTAP REST APIの使用の詳細については、以下を参照してください。https://docs.netapp.com/us-en/ontap-automation/index.html["ONTAP REST APIの自動化のドキュメントを参照してください。"]