Skip to content

Latest commit

 

History

History
193 lines (151 loc) · 10.3 KB

File metadata and controls

193 lines (151 loc) · 10.3 KB

Description

This module creates a Google Cloud NetApp Volumes storage pool.

NetApp Volumes is a first-party Google service that provides NFS and/or SMB shared file-systems to VMs. It offers advanced data management capabilities and highly scalable capacity and performance. NetApp Volume provides:

  • robust support for NFSv3, NFSv4.x and SMB 2.1 and 3.x
  • a rich feature set
  • scalable performance
  • FlexCache: Caching of ONTAP-based volumes to provide high-throughput and low latency read access to compute clusters of on-premises data
  • Auto-tiering of unused data to optimse cost

Support for NetApp Volumes is split into two modules.

  • netapp-storage-pool provisions a storage pool. Storage pools are pre-provisioned storage capacity containers which host volumes. A pool also defines fundamental properties of all the volumes within, like the region, the attached network, the service level, CMEK encryption, Active Directory and LDAP settings.
  • netapp-volume provisions a volume inside an existing storage pool. A volume file-system container which is shared using NFS or SMB. It provides advanced data management capabilities.

For more information on this and other network storage options in the Cluster Toolkit, see the extended Network Storage documentation.

NetApp storage pool service levels

The netapp-storage-pool module currently supports the following NetApp Volumes service levels:

  • Standard: 16 KiBps throughput per provisioned KiB of volume capacity.
  • Premium: 64 KiBps throughput per provisioned KiB of volume capacity. Optional auto-tiering.
  • Extreme: 128 KiBps throughput per provisioned KiB of volume capacity. Optional auto-tiering.

Check the service level matrix for additional information on capability differences between service levels. Flex service levels are currently not supported, but you can connect to existing Flex volumes using the pre-existing-network-storage module.

On-boarding NetApp Volumes

NetApp Volumes uses Private Service Access (PSA) to connect volumes to your network. Before you create a storage pool, make sure to connect NetApp Volumes to your network.

Example of creating a storage pool using a new network:

deployment_groups:
- group: primary
  modules:
  - id: network
    source: modules/network/vpc
    settings:
      region: $(vars.region)

  - id: private_service_access
    source: modules/network/private-service-access
    use: [network]
    settings:
      prefix_length: 24
      service_name: "netapp.servicenetworking.goog"
      deletion_policy: "ABANDON"

  - id: netapp_pool
    source: modules/file-system/netapp-storage-pool
    use: [network, private_service_access]
    settings:
      pool_name: $(vars.deployment_name)-eda-pool
      capacity_gib: 20000
      service_level: "EXTREME"
      region: $(vars.region)

Example of creating a storage pool using an existing network which was already PSA-peered with NetApp Volume:

deployment_groups:
 - group: primary
  modules:
  - id: network
    source: modules/network/pre-existing-vpc
    settings:
      project_id: $(vars.project_id)
      region: $(vars.region)
      network_name: $(vars.network)

  - id: netapp_pool
    source: modules/file-system/netapp-storage-pool
    use: [network]
    settings:
      pool_name: "eda-pool"
      capacity_gib: 20000
      service_level: "EXTREME"
      region: $(vars.region)

Storage pool example

The following example shows all available parameters in use:

  - id: netapp_pool
    source: modules/file-system/netapp-storage-pool
    use: [network, private_service_access]
    settings:
      pool_name: "mypool"
      region: "us-west4"
      capacity_gib: 2048
      service_level: "EXTREME"
      active_directory_policy: "projects/myproject/locations/us-east4/activeDirectories/my-ad"
      cmek_policy: "projects/myproject/locations/us-east4/kmsConfigs/my-cmek-policy"
      ldap_enabled: false
      allow_auto_tiering: false
      description: "Demo storage pool"
      labels:
        owner: bob

NetApp Volumes quota

Your project must have unused quota for NetApp Volumes in the region you will provision the storage pool. This can be found by browsing to the Quota tab within IAM & Admin in the Cloud Console. Please note that there are separate quota limits for Standard and Premium/Extreme service levels.

See also NetApp Volumes default quotas.

License

Copyright 2026 Google LLC

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

 http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Requirements

Name Version
terraform >= 1.5.7
google >= 6.45.0
random ~> 3.0

Providers

Name Version
google >= 6.45.0
random ~> 3.0

Modules

No modules.

Resources

Name Type
google_netapp_storage_pool.netapp_storage_pool resource
random_id.resource_name_suffix resource
google_compute_network_peering.private_peering data source

Inputs

Name Description Type Default Required
active_directory_policy The ID of the Active Directory policy to apply to the storage pool in the format:
projects/<project_id>/locations/<location>/activeDirectoryPolicies/<policy_id>
string null no
allow_auto_tiering Whether to allow automatic tiering for the storage pool. bool false no
capacity_gib The capacity of the storage pool in GiB. number 2048 no
cmek_policy The ID of the Customer Managed Encryption Key (CMEK) policy to apply to the storage pool in the format:
projects/<project>/locations/<location>/kmsConfigs/<name>
string null no
deployment_name Name of the deployment, used as name of the NetApp storage pool if no name is specified. string n/a yes
description A description of the NetApp storage pool. string "" no
labels Labels to add to the NetApp storage pool. Key-value pairs. map(string) n/a yes
ldap_enabled Whether to enable LDAP for the storage pool. bool false no
network_id The ID of the GCE VPC network to which the NetApp storage pool is connected given in the format:
projects/<project_id>/global/networks/<network_name>"
string n/a yes
network_self_link Network self-link the pool will be on, required for checking private service access string n/a yes
pool_name The name of the storage pool. Leave empty to generate name based on deployment name. string null no
private_vpc_connection_peering The name of the private VPC connection peering. string "sn-netapp-prod" no
project_id ID of project in which the NetApp storage pool will be created. string n/a yes
region Location for NetApp storage pool. string n/a yes
service_level The service level of the storage pool. string "PREMIUM" no

Outputs

Name Description
capacity_gb Storage pool capacity in GiB.
netapp_storage_pool_id An identifier for the resource with format projects/{{project}}/locations/{{location}}/storagePools/{{name}}