このページでは、ONTAP モードで ONTAP を管理する方法について説明します。
セキュリティとロギングの理由から、NetApp Volumes では ONTAP 管理 LIF への直接接続は許可されていません。そのため、SystemManager や SSH などのツールを使用して ONTAP システムを直接管理することはできません。代わりに、次の方法で ONTAP オペレーションを ONTAP モードのストレージ プールに送信できます。
Terraform などの管理ツールは、Google API プロキシを使用して ONTAP リソースを管理します。
始める前に
ONTAP モードのストレージ プールの ONTAP オペレーションを管理するには、Google Cloud CLI のバージョンが 559.0.0 以上である必要があります。バージョンが古い場合、Google Cloud CLI はコマンドまたはフラグが定義されていないというエラーを返します。
Google Cloud CLI ONTAP CLI プロキシを使用する
ONTAP CLI への直接 SSH アクセスはできませんが、Google Cloud CLI を使用して ONTAP CLI コマンドをストレージ プールに送信できます。
gcloud
ONTAP コマンドを実行します。
gcloud netapp storage-pools execute POOL-NAME ONTAP-COMMAND --project PROJECT \ --location=LOCATION
次の情報を置き換えます。
POOL-NAME: Flex Unified ONTAP モードのストレージ プールの名前。ONTAP-COMMAND: クラスタまたはストレージ プールで実行する ONTAP コマンド。PROJECT: プロジェクト ID。LOCATION: ストレージ プールのロケーション。
ONTAP REST API 呼び出しに Google プロキシ API を使用する
NetApp Volumes は、各 Flex Unified ONTAP モードのストレージ プールに Google API エンドポイントを提供します。これにより、基盤となる ONTAP クラスタに ONTAP REST API 呼び出しを送信できます。これにより、API を使用して ONTAP 機能を制御できます。
ONTAP プロキシへの呼び出しでは、次の URL 形式を使用する必要があります。
https://netapp.googleapis.com/v1/projects/PROJECT/locations/LOCATION/storagePools/POOL_NAME/ontap/ONTAP_REST_URL
この URL は次の要素で構成されています。
ベースライン URL:
https://netapp.googleapis.com/v1ストレージ プールの Google URN: /projects/
PROJECT/locations/LOCATION/storagePools/POOL_NAME次の情報を置き換えます。
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/v1/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/v1/projects/myproject/locations/us-central1-a/storagePools/mypool/ontap/api/storage/volumes' \ --header "Authorization: Bearer $TOKEN" \ --header "Content-Type: application/json"
ボリュームのすべてのスナップショットを一覧表示する
次の例は、プロジェクト myproject の us-central1-a にあるストレージ プール mypool とボリューム volume-uuid のすべてのスナップショットを一覧表示する完全な URL を示しています。
https://netapp.googleapis.com/v1/projects/myproject/locations/us-central1-a/storagePools/mypool/ontap/api/storage/volumes/volume-uuid/snapshots
すべての Google API 呼び出しと同様に、この呼び出しも認証する必要があります。次の CLI の例では、API トークンを取得し、curl を使用して URL を呼び出し、ボリュームのすべてのスナップショットを一覧表示します。
TOKEN=$(gcloud auth print-access-token) curl --location 'https://netapp.googleapis.com/v1/projects/myproject/locations/us-central1-a/storagePools/mypool/ontap/api/storage/volumes/volume-uuid/snapshots' \ --header "Authorization: Bearer $TOKEN" \ --header "Content-Type: application/json"
ボリュームを作成
このセクションでは、ONTAP REST API を使用して、URN /projects/myproject/locations/us-central1-a/storagePools/mypool で識別される既存の Flex Unified ONTAP モードのストレージ プールに myvolume という名前のボリュームを作成する方法について説明します。
ボリュームを作成するには、ONTAP REST API のオンライン ドキュメントをご覧ください。ドキュメントで [ストレージ] セクションに移動し、[ストレージ ボリュームを管理する] を開きます。このセクションでは、いくつかの例を示します。
ボリュームを作成する手順は次のとおりです。
ONTAP REST API エンドポイントを特定します。
NetApp Volumes の基本例を使用する場合、必要な ONTAP API エンドポイントは
/api/storage/volumesです。このエンドポイントは、URLhttps://netapp.googleapis.com/v1/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/v1/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/v1/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 REST API で自動階層化を構成するには、リクエスト本文に
tieringJSON オブジェクトを含めます。ボリュームの階層化ポリシーを
allに設定するには、"tiering": {"policy": "all"}を使用します。省略可: クーリング日数を構成するには、
"tiering": {"policy": "auto", "min_cooling_days": 31}を使用します。min_cooling_daysフィールドで、冷却のしきい値を 2 ~ 183 日の範囲で指定できます。デフォルトの冷却しきい値は 31 日です。
ホットティアをバイパスして、読み取り / 書き込み(RW)ボリュームのクラウドティアにデータを直接書き込むには、高度な権限を持つ Google Cloud CLI ONTAP CLI プロキシを使用します。
set -privilege advanced; volume modify -vserver SVM_NAME -volume VOLUME_NAME -tiering-policy all -is-cloud-write-enabled true
ONTAP ジョブをモニタリングします。
リソースを作成または更新する
POSTオペレーションやPATCHオペレーションなど、ほとんどの ONTAP API 呼び出しは同期的に実行されません。代わりに、これらの呼び出しは、ボリューム作成の例に示すように、ONTAP ジョブ リソースを返します。ジョブ レスポンスの例:
{ "body": { "job": { "_links": { "self": { "href": "curl --location 'https://netapp.googleapis.com/v1/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/v1/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 設定を制御できます。
Terraform を使用して ONTAP モードを管理する
ONTAP モードのリソースは、CLI プロキシを使用して管理できます。CLI プロキシはインタラクティブな使用には効果的ですが、自動化はより複雑になる可能性があります。Terraform はクラウド リソースのライフサイクルを一貫して管理し、NetApp Volumes と ONTAP の両方のリソースを管理するために使用できます。
機能管理の概要の表を参考にして、使用するプロバイダを決定してください。
Google プロバイダは、NetApp Volumes API を介してリソースを管理します。
NetApp-ONTAP プロバイダは、ONTAP REST API を介してリソースを管理します。
たとえば、バージョン 7.27.0 以降の Google プロバイダを使用して ONTAP モードのストレージ プールを作成します。次に、ONTAP モードのプールにボリュームを作成するには、NetApp-ONTAP プロバイダ バージョン 2.6.0 以降を使用します。
設定と例の詳細については、NetApp-ONTAP プロバイダのドキュメントをご覧ください。
許可される ONTAP アクション
API または CLI プロキシを介して ONTAP モードのプールにアクセスする場合、完全な権限がなく、すべての ONTAP コマンドを実行できません。この制限は、システムの完全性を保護し、サービスによって管理される基盤となる物理リソースへの変更を防ぐのに役立ちます。
一部の API では、システムが API リクエストとレスポンスのペイロードをフィルタします。たとえば、NetApp Volumes は論理容量に対して課金するため、システムは物理容量を構成するためのパラメータをブロックします。許可されていないパラメータを送信すると、API はエラーを返します。
課金方法の詳細については、課金: 論理容量と物理容量をご覧ください。
サポートされている ONTAP コマンド
ONTAP モードを管理するには、Google Cloud CLI ONTAP CLI プロキシを使用して ONTAP コマンドを送信します。NetApp Volumes は、SVM、LUN、ボリューム、ONTAP 機能を管理するためのほとんどのコマンドをサポートしています。一部のコマンドは、システムの完全性を保護するため、または NetApp Volumes などのマネージド サービスでは関連性のない物理リソースを管理するためにブロックされます。
コマンドは ONTAP 管理者権限レベルで実行します。権限レベルを詳細に切り替えるには、コマンドの先頭に set advanced; または set -privilege advanced; を追加します。一部のコマンドでは、診断(diag)権限レベルもサポートされています。この権限レベルにアクセスするには、コマンドの先頭に set diag; を追加します。これらの権限の切り替えは永続的ではありません。
プロキシはインタラクティブ シェルではないため、一度に実行できるコマンドは 1 つだけです。この制限により、プロキシは追加情報をリクエストするインタラクティブ コマンドをサポートしません。たとえば、Active Directory 管理者の認証情報を必要とする CIFS または SMB vserver(SVM)を作成することはできません。CLI プロキシはインタラクティブ コマンドであるため、クラスタ ピアリングもサポートしていません。これらのオペレーションを実行するには、ONTAP REST API を使用する必要があります。
次の表に、ONTAP CLI プロキシでサポートされているコマンド ファミリー、コマンド、制限事項を示します。
| コマンド ファミリー | 目的 | サポートされているコマンド | メモ |
|---|---|---|---|
| クラスタ | SnapMirror と FlexCache のピア クラスタ、クラスタに関する選択した情報を表示する | クラスタ ピア - フルアクセス クラスタの表示、ID の表示、日付の表示、HA の表示、統計情報の表示、タイムサービス NTP サーバーの表示 - 読み取り専用 |
CLI プロキシはインタラクティブな cluster peer create コマンドをサポートしていません。代わりに REST API を使用してください。show などの他の cluster peer コマンドを使用することもできます。 |
| デバッグ | パケット トレース(tcpdump)、LUN、ロックのトラブルシューティングをサポート | debug network tcpdump、debug san lun、debug lock persistence - フルアクセス | 許可されているすべてのデバッグ コマンドには、diag 権限レベルが必要です。これらは一般的なデバッグ コマンドです。 |
| イベント | フィルタを作成して、関心のある ONTAP イベントを SMTP または syslog の宛先に送信する | event catalog show と イベントログ show - 読み取り専用 event config、event filter、アクティビティ通知 - フルアクセス |
イベントをカスタムの宛先に記録できます。event log show を使用して、ログイベントを時間またはタイプ別に表示できます。 |
| ジョブ | ノードレベルとクラスタレベルで ONTAP ジョブを管理する | job show、job schedule、job private、job stop、job resume - フルアクセス | |
| LUN | LUN とイニシエータ グループの作成と管理、外部 LUN のインポート | lun create、lun bind、igroup - フルアクセス | LUN のインポートは許可されていますが、外部ディスクを ONTAP モードのシステムに接続することはできません。 |
| ネットワーク | ネットワーク ポート、インターフェース、ルート、ipspace の構成を表示し、外部 IP アドレスに対して ping と traceroute を実行し、プロトコル別にクライアント接続を表示する | ネットワーク ping、ネットワーク traceroute、ネットワーク ポート インターフェース、ネットワーク ipspace、ネットワーク接続 - 読み取り専用 | |
| QoS | QoS ポリシー グループを作成して管理し、パフォーマンスを表示する | すべての QoS コマンド - 読み取り専用 | QoS 設定は表示専用です。 |
| セキュリティ | 監査構成の表示、ランサムウェア対策機能の有効化、証明書の作成とインストール | セキュリティ監査 - 読み取り専用 セキュリティ ランサムウェア対策ボリュームとセキュリティ証明書 - フルアクセス |
ランサムウェア対策パラメータは、ボリュームの作成時に設定できます。作成できるのは、サーバー証明書とクライアント証明書のみです。 |
| SnapLock | SnapLock のクロックとログを管理し、SnapLock のイベントベースの保持と訴訟のための記録保持(リティゲーション ホールド)のオペレーションを制御する | snaplock compliance-clock と snaplock log - フルアクセス | volume snaplock modify コマンドを使用して、個々のボリュームで SnapLock を構成します。SnapLock コマンド snaplock event-retention と snaplock legal-hold は、ONTAP REST API を使用してのみ管理できます。 |
| SnapMirror | SnapMirror 関係を作成して管理する | snapmirror create、snapmirror initialize、snapmirror break、snapmirror resync - フルアクセス | |
| 統計情報 | 定期的なシステム統計情報を表示する、または特定の統計情報のサンプルを作成する | statistics samples、statistics start、statistics stop、statistics show-periodic - フルアクセス statistics volume、statistics lun、statistics aggregate、statistics qtree、statistics SVM - 読み取り専用 |
多くのコマンドでは、パラメータを指定するために高度なモードが必要です。 |
| システム | 通常、システム コマンドはサポートされていませんが、AutoSupport とパフォーマンス アーカイブの送信は呼び出すことができます。 | system node autosupport invoke と system node autosupport invoke-performance-archive - フルアクセス | AutoSupport ファイルは NetApp サポートで利用できます。 |
| ボリューム | ボリュームの作成と管理 | volume create、volume delete、volume modify、volume clone、volume expand(FlexGroup)、volume flexcache、volume flexgroup、qtree、quota、snaplock、snapshot - フルアクセス | 論理スペースのレポート/適用やスペース保証(なし)などの一部のボリューム機能は、システムによって自動的に管理されます。ボリューム階層化ポリシーを設定して、プールレベルで設定された自動階層化を使用します。 |
| Vserver | ボリュームへのファイル(SMB、NFS)、ブロック(iSCSI、NVMe)、オブジェクト(S3)アクセス用の SVM(vserver)を管理します。 NFS のエクスポート ポリシーなど、ボリュームに使用されるポリシーを管理します。 監査ロギング(ファイル アクセス)、整合性グループ、ポリシー、名前サービス(DNS、LDAP)、ウイルス対策(vscan)などの SVM 機能を有効にします。 SnapMirror と FlexCache の SVM をピアリングします。 |
vserver cifs create(Active Directory ドメインに参加)、vserver nfs create、vserver iscsi create、vserver nvme create - フルアクセス vserver object-store-server - フルアクセス |
vserver modify コマンドを使用して、すべてのボリュームのデフォルト言語、セキュリティ スタイル、スナップショットと割り当てポリシーを設定します。 vserver create は現在サポートされていません。 パスワード変更コマンドはインタラクティブに実行できず、コマンド パラメータまたは REST API を使用して指定する必要があります。 |
| 以前のコマンド | timezone と version - フルアクセス |
ONTAP モードのプールを削除する
ONTAP モードのプールを削除するには、まずプール内のすべてのボリュームを削除する必要があります。