Editar instancias

En esta página, se muestra cómo editar una instancia de Filestore con la consola deGoogle Cloud o gcloud CLI.

Una vez creado, puedes modificar una instancia de Filestore de las siguientes maneras:

Para obtener más información sobre el escalamiento de la capacidad, consulta Escala la capacidad.

Algunas especificaciones, como la dirección IP de la instancia, son inmutables.

Instrucciones para editar una instancia

Google Cloud console

Para editar las instancias de Filestore con la consola de Google Cloud , navega a la página Editar instancia, en la que puedes editar la descripción de la instancia, administrar las reglas de control de acceso basadas en IP y escalar el rendimiento de archivos compartidos:

  1. En la consola de Google Cloud , ve a la página de instancias de Filestore.

    Vaya a la página de instancias de Filestore

  2. Haz clic en el ID de la instancia que deseas editar.

  3. En la página Detalles de la instancia, haz clic en Editar para ir a la página Editar instancia.

  4. Cambia la descripción de la instancia, las reglas de control de acceso basadas en IP y la capacidad según sea necesario. Para obtener más detalles, consulta Crea instancias.

  5. Haga clic en Save.

gcloud

Antes de comenzar

Para usar gcloud CLI, debes instalarla o usar Cloud Shell que está integrado en la consola de Google Cloud :

Ve a la Google Cloud consola.

Comando de gcloud para editar una instancia

Para editar una instancia de Filestore, ejecuta el comando instances update. Si necesitas actualizar las reglas de configuración para el control de acceso basado en IP, debes usar la marca --flags-file y especificar un archivo de configuración JSON. Si eliges este método, no necesitas usar la marca --file-share porque ya está incluida en el archivo de configuración JSON.

gcloud filestore instances update INSTANCE_ID
    --[project="PROJECT_ID"]
    --[location=LOCATION]
    --[performance=PERFORMANCE] \
    --[file-share=name="FILE_SHARE_NAME",CAPACITY=FILE_SHARE_SIZE]
    --[description="DESCRIPTION"]
    --[flags-file=FILE_NAME.json]

Donde:

  • INSTANCE_ID es el ID de la instancia de Filestore que deseas editar.
  • PROJECT_ID es el ID del proyecto de Google Cloud que contiene la instancia de Filestore. Puedes omitir esta marca si la instancia de Filestore está en el proyecto predeterminado gcloud. Para configurar el proyecto predeterminado, ejecuta el siguiente comando:

    gcloud config set project project-id
    
  • LOCATION es la ubicación en la que se encuentra la instancia de Filestore. Para las instancias regionales y empresariales, especifica una región. Para todas las demás instancias, especifica una zona. Ejecuta el comando gcloud filestore zones list para obtener una lista de las zonas compatibles. Puedes omitir esta marca si la instancia de Filestore está en la zona predeterminada de gcloud. Para configurar la zona predeterminada, ejecuta el siguiente comando:

    gcloud config set filestore/zone zone
    
  • PERFORMANCE es la configuración de rendimiento que se usa para especificar la configuración de rendimiento personalizada independientemente de la capacidad elegida.

    Puedes usar solo una de las siguientes opciones:

    • max-iops-per-tb especifica una tasa de IOPS por TiB que se escala de forma lineal con la capacidad de la instancia.
    • max-iops especifica una tasa de IOPS fija que no se escala con la capacidad de la instancia.

      El formato se ve de la siguiente manera:

      --performance=max-iops-per-tb=17000
      
  • FILE_SHARE_NAME es el nombre del archivo compartido que se entrega desde la instancia de Filestore. Los nombres de los archivos compartidos no se pueden cambiar después de que se crea la instancia.

  • FILE_SHARE_SIZE es el tamaño nuevo que deseas para el recurso de archivos compartidos. Puedes especificar el tamaño de archivos compartidos en números enteros mediante GiB (predeterminado) o TiB.

    Para ver tu cuota disponible, ve a la página Cuotas en la Google Cloud consola:

    Ir a la página Cuotas

  • DESCRIPTION es la descripción opcional de la instancia de Filestore.

  • FILE_NAME es el nombre del archivo de configuración json para el control de acceso basado en IP.

    Ejemplo de archivo de configuración json:

     {
    "--file-share":
      {
        "capacity": "4096",
        "name": "my_vol",
        "nfs-export-options": [
          {
            "access-mode": "READ_WRITE",
            "ip-ranges": [
              "10.0.0.0",
              "10.2.0.0"
            ],
            "squash-mode": "ROOT_SQUASH",
            "anon_uid": 1003,
            "anon_gid": 1003
          },
           {
            "access-mode": "READ_ONLY",
            "ip-ranges": [
              "10.0.1.0/28"
            ],
            "squash-mode": "NO_ROOT_SQUASH"
          }
        ],
      }
    }
    

    Donde:

    • ip-ranges es la dirección IP o el rango al que se le otorga acceso. Puedes especificar varias direcciones IP o rangos si los separas con una coma. Solo los siguientes niveles de servicio admiten la configuración de rangos de direcciones IP superpuestos:
      • Zonal
      • Regional
      • Enterprise
    • access-mode es el nivel de acceso para otorgar a los clientes cuya dirección IP se encuentra dentro de ip-range. Puede tener los valores de READ_WRITE o READ_ONLY. El valor predeterminado es READ_WRITE.
    • squash-mode puede tener los valores ROOT_SQUASH o NO_ROOT_SQUASH. ROOT_SQUASH quita el acceso de nivel raíz a los clientes cuya dirección IP se encuentra dentro de ip-range, mientras que NO_ROOT_SQUASH habilita el acceso raíz. El valor predeterminado es NO_ROOT_SQUASH.
    • anon_uid es el valor de ID de usuario que deseas asignar a anon_uid. El valor predeterminado es 65534.
    • anon_gid es el valor del ID del grupo que deseas asignar a anon_gid. El valor predeterminado es 65534.
Ejemplo

El siguiente ejemplo actualiza la instancia nfs-server al aumentar el tamaño del archivo compartido a 3 TiB.

    gcloud filestore instances update nfs-server --zone=us-central1-c --file-share=name="vol1",capacity=3TiB
  ```

API de REST

  1. Tener la gcloud CLI instalada e inicializada, lo que te permite generar un token de acceso para el encabezado Authorization.

  2. Usa cURL para llamar a la API de Filestore:

    curl --request PATCH \
        'https://file.googleapis.com/v1/projects/PROJECT/locations/LOCATION/instances?instanceId=NAME?updateMask=performanceConfig%2CdeletionProtectionReason%2CdeletionProtectionEnabled&key=YOUR_API_KEY' \
        --header "Authorization: Bearer $(gcloud auth print-access-token)" \
        --header 'Accept: application/json' \
        --header 'Content-Type: application/json' \
        --data '{
                "tier":"TIER",
                "networks":[
                    {
                    "network":"NETWORK"
                    }
                  ],
                "performanceConfig": {"PERFORMANCE"}
                "fileShares":[
                  {"capacityGb":CAPACITY,"name":"SHARE_NAME"}
                  ],
                "deletionProtectionEnabled": true,
                "deletionProtectionReason": "PROTECTION_REASON"}' \
        --compressed
    
    

    Aquí:

    • PROJECT es el nombre del proyecto en el que residirá tu instancia. Por ejemplo, my-genomics-project
    • LOCATION es la ubicación en la que residirá la instancia. Por ejemplo, us-east1 o us-central1-a.
    • NAME es el nombre de la instancia que deseas crear. Por ejemplo, my-genomics-instance
    • PERFORMANCE es la configuración de rendimiento que se usa para especificar la configuración de rendimiento personalizada.

      Solo puedes usar una de las opciones proporcionadas.

      • iopsPerTB habilita el rendimiento personalizado con una tasa de IOPS definida por el usuario que se escala con la capacidad de la instancia. Para definir los IOPS por TiB, usa el campo maxIopsPerTb.
      • fixedIops habilita el rendimiento personalizado con una tasa de IOPS fija que no se escala con la capacidad de la instancia. Para definir un valor de IOPS fijo, usa el campo maxIops.

        El formato es el siguiente:

        "performanceConfig": {
            "iopsPerTb" : {
                "maxIopsPerTb":17000
            }
          }
        
    • CAPACITY es el tamaño, en GiB, que deseas asignar para la instancia. Por ejemplo, 1024

    • SHARE_NAME es el nombre del archivo compartido. Por ejemplo, vol1.

    • PROTECTION_REASON Si decides usar la marca deletionProtectionEnabled, tienes la opción de agregar una nota sobre la configuración. Para agregar la nota, usa la marca opcional deletionProtectionReason y, luego, incluye una descripción de la justificación del parámetro de configuración que elegiste. Por ejemplo, "Todos los datos de genómica deben cumplir con las políticas actuales de la organización". Para obtener más información, consulta Protección contra la eliminación.

    Ejemplo

    En el siguiente ejemplo, se actualiza la instancia nfs-server disminuyendo la proporción de IOPS por TiB a 12000.

    curl --request PATCH \
        'https://file.googleapis.com/v1/projects/my-project/locations/us-central1/instances?instanceId=nfs-server?updateMask=performanceConfig%2CdeletionProtectionReason&key=12334fr232' \
        --header "Authorization: Bearer $(gcloud auth print-access-token)" \
        --header 'Accept: application/json' \
        --header 'Content-Type: application/json' \
        --data '{
                  "performanceConfig":
                    {
                      "iopsPerTb":
                        {
                          "maxIopsPerTb":12000
                        }
                    },
                  "deletionProtectionReason":"Deletion+not+allowed"}' \
        --compressed
    
    

¿Qué sigue?