このページでは、ONTAP モードで ONTAP を管理する方法について説明します。
セキュリティとロギングの理由から、NetApp Volumes では ONTAP 管理 LIF への直接接続は許可されていません。そのため、SystemManager や SSH などのツールを使用して ONTAP システムを直接管理することはできません。代わりに、ONTAP REST API 呼び出し用の Google プロキシ API を使用して、ONTAP オペレーションを ONTAP モードのストレージ プールに送信できます。
Terraform などの管理ツールは、Google API プロキシを使用して ONTAP リソースを管理します。
ONTAP REST API 呼び出しに Google プロキシ API を使用する
NetApp Volumes は、各 Flex Unified ONTAP モードのストレージ プールに Google API エンドポイントを提供します。これにより、基盤となる ONTAP クラスタに ONTAP REST API 呼び出しを送信できます。これにより、API を使用して ONTAP 機能を制御できます。
ONTAP プロキシへの呼び出しでは、次の URL 形式を使用する必要があります。
https://netapp.googleapis.com/v1beta1/projects/PROJECT/locations/LOCATION/storagePools/POOL_NAME/ontap/ONTAP_REST_URL
この URL は次の要素で構成されています。
ベースライン URL:
https://netapp.googleapis.com/v1beta1/projectsストレージ プールの Google URN: /
PROJECT/locations/LOCATION/storagePools/POOL_NAME次の情報を置き換えます。
PROJECT:project IDまたは番号。LOCATION: ゾーンプールの場合はゾーン名、リージョンプールの場合はリージョン。POOL_NAME: プールの名前。
ONTAP REST API パス: /ontap/
ONTAP_REST_URL詳細については、ONTAP REST API リファレンスをご覧ください。
ストレージ プールのすべてのボリュームを一覧表示する
次の例は、プロジェクト myproject の us-central1-a にあるストレージ プール mypool のすべてのボリュームを一覧表示する完全な URL を示しています。
https://netapp.googleapis.com/v1beta1/projects/myproject/locations/us-central1-a/storagePools/mypool/ontap/api/storage/volumes
すべての Google API 呼び出しと同様に、この呼び出しも認証する必要があります。次の CLI の例では、API トークンを取得し、curl を使用して URL を呼び出し、プール内のすべてのボリュームを一覧表示します。
TOKEN=$(gcloud auth print-access-token) curl --location 'https://netapp.googleapis.com/v1beta1/projects/myproject/locations/us-central1-a/storagePools/mypool/ontap/api/storage/volumes'
--header "Authorization: Bearer $TOKEN"
--header "Content-Type: application/json"
ボリュームを作成
このセクションでは、ONTAP REST API を使用して、既存の Flex Unified ONTAP モードのストレージ プール(URN: /projects/myproject/locations/us-central1-a/storagePools/mypool で識別)に myvolume という名前のボリュームを作成する方法について説明します。
ボリュームを作成するには、ONTAP REST API のオンライン ドキュメントをご覧ください。ドキュメントで、[ストレージ] セクションに移動し、[ストレージ ボリュームを管理する] を開きます。このセクションでは、いくつかの例を示します。
ボリュームを作成する手順は次のとおりです。
ONTAP REST API エンドポイントを特定します。
NetApp Volumes の基本的な例を使用する場合、必要な ONTAP API エンドポイントは
/api/storage/volumesです。このエンドポイントは、URLhttps://netapp.googleapis.com/v1beta1/projects/myproject/locations/us-central1-a/storagePools/mypool/ontap/api/storage/volumesを作成します。リクエストのペイロードを作成します。
ONTAP ドキュメントのペイロードの例を使用して、特定の環境に合わせます。次に例を示します。
{ "name": "vol1", "aggregates": [ { "name": "aggr1" } ], "svm": { "name": "vs1" } }ボリュームを作成するときは、
nameフィールドを使用してボリューム名を割り当てます。ボリューム作成ペイロードには、ONTAP モードのプール作成時に NetApp Volumes によって割り当てられたアグリゲートとストレージ仮想マシン(SVM)の名前が必要です。ONTAP モードでは、各ストレージ プールに 1 つの SVM と 1 つのストレージ アグリゲートがあります。この情報は、ONTAP にすべての SVM をクエリすることで取得できます。SVM とアグリゲートの名前を取得するには:
フィールド選択に
ontap_fieldsを使用する: NetApp Volumes ONTAP モードのプールでは、標準の ONTAPfields=パラメータの代わりにクエリ パラメータontap_fields=を使用して、リクエストされたフィールドを指定します。省略可:
jqを使用してフィールドを抽出する: 次の例では、jq オープンソース ツールを使用して、JSON レスポンスからname(SVM 名)とaggregatesを抽出します。これは、シェル スクリプトでの処理に役立ちます。TOKEN=$(gcloud auth print-access-token) curl --location 'https://netapp.googleapis.com/v1beta1/projects/myproject/locations/us-central1-a/storagePools/mypool/ontap/api/svm/svms?ontap_fields=name,aggregates' \ --header "Authorization: Bearer $TOKEN" \ --header "Content-Type: application/json" | jq '.rawResponse.records[] | {name: .name, aggregates: .aggregates[].name}'レスポンスの例:
{ "name": "gcnv-7cf6ee41c1a94f0-svm-01", "aggregates": "aggr1" }
ボリューム作成の API 呼び出しを実行します。
集約名(
aggr1)と SVM 名(gcnv-7cf6ee41c1a94f0-svm-01)を使用して、最終的なボリューム作成ペイロードを作成し、API 呼び出しを送信します。ONTAP API ペイロードは、NetApp Volumes のbody: {}エンベロープ内に配置する必要があります。次の例では、サイズが 2 GB の
myvolumeという名前のボリュームを作成します。curl --location 'https://netapp.googleapis.com/v1beta1/projects/myproject/locations/us-central1-a/storagePools/mypool/ontap/api/storage/volumes' \ --header "Authorization: Bearer $TOKEN" \ --header "Content-Type: application/json" \ --data '{ "body": { "name": "myvolume", "aggregates": [ { "name": "aggr1" } ], "svm": { "name": "gcnv-7cf6ee41c1a94f0-svm-01" }, "size": "2GB" } }'ボリュームの作成では、
sizeなど、多くの省略可能なパラメータがサポートされています。たとえば、ペイロードで 2 GB のサイズを指定します。リソースのドキュメント ページには、必須パラメータと省略可能なパラメータを含む、使用可能なすべてのパラメータが一覧表示されます。また、ペイロードとレスポンス本文の詳細な例も示します。ONTAP ジョブをモニタリングします。
リソースの作成や更新を行う
POSTオペレーションやPATCHオペレーションなど、ほとんどの ONTAP API 呼び出しは同期的に実行されません。代わりに、これらの呼び出しは、ボリューム作成の例に示すように、ONTAP ジョブ リソースを返します。ジョブ レスポンスの例:
{ "body": { "job": { "_links": { "self": { "href": "curl --location 'https://netapp.googleapis.com/v1beta1/projects/myproject/locations/us-central1-a/storagePools/mypool/ontap/api/cluster/jobs/15be1c46-fd2c-11f0-b3c2-7f15697be61c' \ --header "Authorization: Bearer $TOKEN" \ --header "Content-Type: application/json"" } }, "uuid": "15be1c46-fd2c-11f0-b3c2-7f15697be61c" } } }ジョブのステータスを確認するには、返された
uuidを使用してジョブ リソースをクエリします。curl --location 'https://netapp.googleapis.com/v1beta1/projects/myproject/locations/us-central1-a/storagePools/mypool/ontap/api/cluster/jobs/15be1c46-fd2c-11f0-b3c2-7f15697be61c' \ --header "Authorization: Bearer $TOKEN" \ --header "Content-Type: application/json"
レスポンスの例:
{ "rawResponse": { "uuid": "15be1c46-fd2c-11f0-b3c2-7f15697be61c", "description": "POST /api/storage/volumes/15be0ad9-fd2c-11f0-b3c2-7f15697be61c", "state": "success", "message": "success", "code": 0, "start_time": "2026-01-29T16:03:43+00:00", "end_time": "2026-01-29T16:03:44+00:00", "svm": { "name": "gcnv-7cf6ee41c1a94f0-svm-01", "uuid": "8a29c15d-fb31-11f0-ab03-03e1bb49206d" } } }stateがsuccessの場合、ボリュームが作成されます。このワークフローの例では、ONTAP REST API ドキュメントで ONTAP アクションを検索する方法について説明します。また、必要なペイロード形式を作成して Google API を使用してストレージ プールに送信する方法についても説明します。最後に、リソースが作成されるまで ONTAP ジョブをモニタリングする方法を示します。このアプローチでは、ストレージ プールのほとんどの ONTAP 設定を制御できます。
許可される ONTAP アクション
API または CLI プロキシを介してプールにアクセスする場合、権限が制限され、すべての ONTAP コマンドを実行できません。これにより、システムの完全性が保護されます。一部の API では、システムが API リクエストとレスポンスのペイロードをフィルタします。たとえば、NetApp Volumes は論理容量に対して課金するため、システムは物理容量を構成するためのパラメータをブロックします。許可されていないパラメータを送信すると、API はエラーを返します。
ONTAP モードのプールを削除する
ONTAP モードのプールを削除するには、まずプール内のすべてのボリュームを削除する必要があります。