Edite instâncias

Esta página mostra como editar uma instância do Filestore através da Google Cloud consola ou da CLI gcloud.

Depois de criada, pode modificar uma instância do Filestore das seguintes formas:

  • Aumentar a sua capacidade
  • Diminua a capacidade dos seguintes níveis de serviço:
    • Zonal
    • Regional
    • Enterprise
  • Configure o desempenho
  • Alterar a descrição
  • Faça a gestão das regras de controlo de acesso baseadas em IP
  • Faça a gestão das etiquetas

Para ver detalhes sobre como dimensionar a capacidade, consulte o artigo Dimensionar a capacidade.

Determinadas especificações, como o endereço IP da instância, são imutáveis.

Instruções para editar uma instância

Google Cloud consola

Para editar instâncias do Filestore através da Google Cloud consola, navegue para a página Editar instância, onde pode editar a descrição da instância, gerir regras de controlo de acesso baseadas em IP e dimensionar o desempenho da partilha de ficheiros:

  1. Na Google Cloud consola, aceda à página Instâncias do Filestore.

    Aceda à página de instâncias do Filestore

  2. Clique no ID da instância da instância que quer editar.

  3. Na página Detalhes da instância, clique em Editar para aceder à página Editar instância.

  4. Altere a descrição da instância, as regras de controlo de acesso baseadas em IP e a capacidade conforme necessário. Para ver detalhes, consulte o artigo Criar instâncias.

  5. Clique em Guardar.

gcloud

Antes de começar

Para usar a CLI gcloud, tem de instalar a CLI gcloud ou usar o Cloud Shell integrado na Google Cloud consola:

Aceda à Google Cloud consola

Comando gcloud para editar uma instância

Pode editar uma instância do Filestore executando o comando instances update. Se precisar de atualizar as regras de configuração para o controlo de acesso baseado em IP, tem de usar a flag --flags-file e especificar um ficheiro de configuração JSON. Se escolher este método, não precisa de usar a flag --file-share porque já está incluída no ficheiro de configuração 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]

where:

  • INSTANCE_ID é o ID da instância do Filestore que quer editar.
  • PROJECT_ID é o ID do projeto do projeto que contém a instância do Filestore. Google Cloud Pode ignorar esta flag se a instância do Filestore estiver no projeto gcloud predefinido. Pode definir o projeto predefinido executando o seguinte comando:

    gcloud config set project project-id
    
  • LOCATION é a localização onde a instância do Filestore reside. Para instâncias regionais e empresariais, especifique uma região. Para todas as outras instâncias, especifique uma zona. Execute o comando gcloud filestore zones list para obter uma lista de zonas suportadas. Pode ignorar esta flag se a instância do Filestore estiver na zona gcloudpredefinidagcloud. Pode definir a zona predefinida executando o seguinte comando:

    gcloud config set filestore/zone zone
    
  • PERFORMANCE é a configuração de desempenho usada para especificar definições de desempenho personalizadas independentemente da capacidade escolhida.

    Só pode usar uma das seguintes opções:

    • max-iops-per-tb especifica uma taxa de IOPS por TiB que é dimensionada linearmente com a capacidade da instância.
    • max-iops especifica uma taxa de IOPS fixa que não é dimensionada com a capacidade da instância.

      O formato tem o seguinte aspeto:

      --performance=max-iops-per-tb=17000
      
  • FILE_SHARE_NAME é o nome da partilha de ficheiros publicada a partir da instância do Filestore. Não é possível alterar os nomes das partilhas de ficheiros após a criação da instância.

  • FILE_SHARE_SIZE é o novo tamanho que quer para a partilha de ficheiros. Pode especificar o tamanho da partilha de ficheiros em números inteiros usando GiB (predefinição) ou TiB.

    Para ver a sua quota disponível, aceda à página Quotas na Google Cloud consola:

    Aceda à página Quotas

  • DESCRIPTION é a descrição opcional da instância do Filestore.

  • FILE_NAME é o nome do ficheiro de configuração JSON para o controlo de acesso baseado em IP.

    Exemplo de ficheiro de configuração 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"
          }
        ],
      }
    }
    

    where:

    • ip-ranges é o endereço IP ou o intervalo ao qual conceder acesso. Pode especificar vários endereços IP ou intervalos separando-os com uma vírgula. Apenas os seguintes níveis de serviço suportam definições de configuração para intervalos de endereços IP sobrepostos:
      • Zonal
      • Regional
      • Enterprise
    • access-mode é o nível de acesso a conceder aos clientes cujo endereço IP se enquadra no intervalo ip-range. Pode ter os valores READ_WRITE ou READ_ONLY. O valor predefinido é READ_WRITE.
    • squash-mode pode ter os valores ROOT_SQUASH ou NO_ROOT_SQUASH. ROOT_SQUASH remove o acesso ao nível da raiz dos clientes cujo endereço IP se enquadra no intervalo ip-range, enquanto NO_ROOT_SQUASH ativa o acesso à raiz. O valor predefinido é NO_ROOT_SQUASH.
    • anon_uid é o valor do ID do utilizador que quer mapear para anon_uid. O valor predefinido é 65534.
    • anon_gid é o valor do ID do grupo que quer mapear para anon_gid. O valor predefinido é 65534.
Exemplo

O exemplo seguinte atualiza a instância nfs-server aumentando o tamanho da partilha de ficheiros para 3 TiB.

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

API REST

  1. Ter a CLI gcloud instalada e inicializada, o que lhe permite gerar um token de acesso para o cabeçalho Authorization.

  2. Use cURL para chamar a 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
    
    

    Onde:

    • PROJECT é o nome do projeto onde a sua instância vai residir. Por exemplo, my-genomics-project.
    • LOCATION é a localização onde a instância vai residir. Por exemplo, us-east1 ou us-central1-a.
    • NAME é o nome da instância que quer criar. Por exemplo, my-genomics-instance.
    • PERFORMANCE é a configuração de desempenho usada para especificar definições de desempenho personalizadas.

      Só pode usar uma das opções apresentadas.

      • iopsPerTB permite um desempenho personalizado com uma taxa de IOPS definida pelo utilizador que é dimensionada com a capacidade da instância. Para definir IOPS por TiB, use o campo maxIopsPerTb.
      • fixedIops permite o custo e o desempenho com uma taxa de IOPS fixa que não é escalável com a capacidade da instância. Para definir um valor de IOPS fixo, use o campo maxIops.

        O formato é o seguinte:

        "performanceConfig": {
            "iopsPerTb" : {
                "maxIopsPerTb":17000
            }
          }
        
    • CAPACITY é o tamanho, em GiB, que quer atribuir à instância. Por exemplo, 1024.

    • SHARE_NAME é o nome da partilha de ficheiros. Por exemplo, vol1.

    • PROTECTION_REASON se optar por usar a sinalização deletionProtectionEnabled, tem a opção de adicionar uma nota relativa à definição. Para adicionar a nota, use a flag deletionProtectionReason opcional e inclua uma descrição da justificação para a definição que escolheu. Por exemplo, "Todos os dados genómicos têm de cumprir as políticas atuais da organização." Para mais informações, consulte o artigo Proteção contra eliminação.

    Exemplo

    O exemplo seguinte atualiza a instância nfs-server diminuindo a taxa de IOPS por TiB para 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
    
    

O que se segue?