Modifier les instances

Cette page explique comment modifier une instance Filestore à l'aide de la consoleGoogle Cloud ou de gcloud CLI.

Une fois créée, vous pouvez modifier une instance Filestore comme suit :

Pour en savoir plus sur le scaling de la capacité, consultez la section Scaling de la capacité.

Certaines spécifications, comme l'adresse IP de l'instance, sont immuables.

Instructions pour modifier une instance

Console Google Cloud

Pour modifier des instances Filestore à l'aide de la console Google Cloud , accédez à la page Modifier l'instance, dans laquelle vous pouvez modifier la description de l'instance, gérer les règles de contrôle des accès basé sur les adresses IP et procéder au scaling des performances du partage de fichiers:

  1. Dans la console Google Cloud , accédez à la page "Instances Filestore".

    Accéder à la page des instances Filestore

  2. Cliquez sur l'ID de l'instance à modifier.

  3. Sur la page Détails de l'instance, cliquez sur Modifier pour accéder à la page Modifier l'instance.

  4. Modifiez la description de l'instance, les règles de contrôle des accès basé sur l'adresse IP et la capacité selon vos besoins. Pour en savoir plus, consultez la section Créer des instances.

  5. Cliquez sur Save.

gcloud

Avant de commencer

Pour utiliser gcloud CLI, vous devez installer gcloud CLI ou utiliser Cloud Shell , intégré à la console Google Cloud :

Accéder à la Google Cloud console

Commande gcloud pour modifier une instance

Vous pouvez modifier une instance Filestore en exécutant la commande instances update. Si vous devez mettre à jour les règles de configuration pour le contrôle des accès basé sur l'adresse IP, vous devez utiliser l'option --flags-file et spécifier un fichier de configuration JSON. Si vous choisissez cette méthode, vous n'avez pas besoin d'utiliser l'indicateur --file-share, car il est déjà inclus dans le fichier de configuration 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]

où :

  • INSTANCE_ID est l'ID de l'instance Filestore que vous souhaitez modifier.
  • PROJECT_ID est l'ID du projet Google Cloud contenant l'instance Filestore. Vous pouvez ignorer cette option si l'instance Filestore se trouve dans le projet par défaut gcloud. Vous pouvez définir le projet par défaut en exécutant la commande suivante :

    gcloud config set project project-id
    
  • LOCATION est l'emplacement où se trouve l'instance Filestore. Pour les instances régionales et Enterprise, spécifiez une région. Pour toutes les autres instances, spécifiez une zone. Exécutez la commande gcloud filestore zones list pour obtenir la liste des zones compatibles. Vous pouvez ignorer cette option si l'instance Filestore se trouve dans la zone par défaut gcloud. Vous pouvez définir la zone par défaut en exécutant la commande suivante :

    gcloud config set filestore/zone zone
    
  • PERFORMANCE est la configuration de performances utilisée pour spécifier des paramètres de performances personnalisés indépendamment de la capacité choisie.

    Vous ne pouvez utiliser qu'une seule des options suivantes:

    • max-iops-per-tb spécifie un taux d'IOPS par TiB qui évolue de manière linéaire en fonction de la capacité de l'instance.
    • max-iops spécifie un taux d'IOPS fixe qui ne s'adapte pas à la capacité de l'instance.

      Le format se présente comme suit:

      --performance=max-iops-per-tb=17000
      
  • {FILE_SHARE_NAME est le nom du partage de fichiers diffusé à partir de l'instance Filestore. Les noms de partage de fichiers ne peuvent pas être modifiés après la création de l'instance.

  • FILE_SHARE_SIZE correspond à la nouvelle taille voulue pour le partage de fichiers. Vous pouvez exprimer la taille du partage de fichiers sous la forme d'un nombre entier de gigaoctets (GiB, par défaut) ou de téraoctets (TiB).

    Pour afficher votre quota disponible, accédez à la page "Quotas" de la console Google Cloud :

    Accéder à la page Quotas

  • DESCRIPTION correspond à la description facultative de l'instance Filestore.

  • FILE_NAME est le nom du fichier de configuration json pour le contrôle des accès basé sur les adresses IP.

    Exemple de fichier de configuration 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"
          }
        ],
      }
    }
    

    où :

    • ip-ranges est l'adresse IP ou la plage à laquelle accorder l'accès. Vous pouvez spécifier plusieurs adresses IP ou plages en les séparant par une virgule. Seuls les niveaux de service suivants sont compatibles avec les paramètres de configuration des plages d'adresses IP qui se chevauchent :
      • Zonal
      • Régional
      • Entreprise
    • access-mode est le niveau d'accès à accorder aux clients dont l'adresse IP est comprise dans la plage d'adresses IP (ip-range). Il peut correspondre aux valeurs READ_WRITE ou READ_ONLY. La valeur par défaut est READ_WRITE.
    • Les valeurs ROOT_SQUASH ou NO_ROOT_SQUASH peuvent être définies pour squash-mode. ROOT_SQUASH supprime l'accès au niveau racine pour le(s) client(s) dont l'adresse IP appartient à la plage ip-range, tandis que NO_ROOT_SQUASH active l'accès root. La valeur par défaut est NO_ROOT_SQUASH.
    • anon_uid est la valeur de l'ID utilisateur que vous souhaitez mapper sur anon_uid. La valeur par défaut est 65534.
    • anon_gid est la valeur de l'ID de groupe que vous souhaitez mapper sur anon_gid. La valeur par défaut est 65534.
Exemple

L'exemple suivant met à jour l'instance nfs-server en augmentant la taille du partage de fichiers à 3 To (TiB).

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

API REST

  1. Vous devez installer et initialiser gcloud CLI, ce qui vous permet de générer un jeton d'accès pour l'en-tête Authorization.

  2. Utilisez cURL pour appeler l'API 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
    
    

    Où :

    • PROJECT est le nom du projet dans lequel votre instance résidera. Exemple :my-genomics-project
    • LOCATION est l'emplacement où l'instance résidera. Par exemple, us-east1 ou us-central1-a.
    • NAME est le nom de l'instance que vous souhaitez créer. Exemple :my-genomics-instance
    • PERFORMANCE est la configuration des performances utilisée pour spécifier des paramètres de performances personnalisés.

      Vous ne pouvez utiliser qu'une seule des options proposées.

      • iopsPerTB permet de personnaliser les performances avec un taux d'IOPS défini par l'utilisateur qui évolue en fonction de la capacité de l'instance. Pour définir les IOPS par téraoctet, utilisez le champ maxIopsPerTb.
      • fixedIops permet de définir des performances personnalisées avec un taux d'IOPS fixe qui ne s'adapte pas à la capacité de l'instance. Pour définir une valeur d'IOPS fixe, utilisez le champ maxIops.

        Le format est le suivant :

        "performanceConfig": {
            "iopsPerTb" : {
                "maxIopsPerTb":17000
            }
          }
        
    • CAPACITY correspond à la taille, en Gio, que vous souhaitez allouer à l'instance. Exemple :1024

    • SHARE_NAME est le nom du partage de fichiers. Exemple : vol1.

    • PROTECTION_REASON Si vous choisissez d'utiliser l'indicateur deletionProtectionEnabled, vous pouvez ajouter une note concernant le paramètre. Pour ajouter la note, utilisez l'option facultative deletionProtectionReason et incluez une description de la justification du paramètre que vous avez choisi. Par exemple, "Toutes les données de génomique doivent respecter les règles actuelles de l'organisation." Pour en savoir plus, consultez la section Protection contre la suppression.

    Exemple

    L'exemple suivant met à jour l'instance nfs-server en réduisant le ratio IOPS par TiB à 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
    
    

Étape suivante