Editar instâncias

Nesta página, mostramos como editar uma instância do Filestore usando o console do Google Cloud ou a CLI gcloud.

Depois de criada, é possível modificar uma instância do Filestore das seguintes maneiras:

Para detalhes sobre o escalonamento de capacidade, consulte Como escalonar a capacidade.

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

Instruções para editar uma instância

Console do Google Cloud

Para editar instâncias do Filestore usando o console do Google Cloud, acesse a página Editar instância, em que é possível editar a descrição da instância, gerenciar regras de controle de acesso baseadas em IP e escalonar o desempenho do compartilhamento de arquivos:

  1. No console do Google Cloud, acesse a página "Instâncias do Filestore".

    Acessar a página de instâncias do Filestore

  2. Clique no código da instância que você quer editar.

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

  4. Altere a descrição da instância, as regras de controle de acesso com base em IP e a capacidade conforme necessário. Para detalhes, consulte Como criar instâncias.

  5. Clique em Save.

gcloud

Antes de começar

Para usar a gcloud CLI, você precisa instalar a gcloud CLI ou usar o Cloud Shell integrado ao console do Google Cloud:

Acesse o console do Google Cloud

Comando gcloud para editar uma instância

Para editar uma instância do Filestore, execute o comando instances update. Se você precisar atualizar as regras de configuração para o controle de acesso baseado em IP, use a flag --flags-file e especifique um arquivo de configuração JSON. Se você escolher esse método, não será necessário usar a flag --file-share porque ela já está incluída no arquivo 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]

em que:

  • INSTANCE_ID é o ID da instância do Filestore que você quer editar.
  • PROJECT_ID é o ID do projeto do Google Cloud que contém a instância do Filestore. É possível ignorar essa sinalização se a instância do Filestore estiver no projeto padrão gcloud. Para definir o projeto padrão, execute:

    gcloud config set project project-id
    
  • LOCATION é o local 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 conferir uma lista de zonas compatíveis. Pule essa flag se a instância do Filestore estiver na zona padrão gcloud. Para definir a zona padrão, execute:

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

    Você só pode usar uma das seguintes opções:

    • max-iops-per-tb especifica uma taxa de IOPS por TiB que é escalonada 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 é o seguinte:

      --performance=max-iops-per-tb=17000
      
  • FILE_SHARE_NAME é o nome do compartilhamento de arquivos exibido pela instância do Filestore. Não é possível alterar os nomes de compartilhamento de arquivos após a criação da instância.

  • FILE_SHARE_SIZE é o novo tamanho que você quer que o compartilhamento de arquivos tenha. É possível especificar o tamanho do compartilhamento de arquivos em números inteiros usando GiB (padrão) ou TiB.

    Para conferir sua cota disponível, acesse a página "Cotas" no console do Google Cloud:

    Acessar a página "Cotas"

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

  • FILE_NAME é o nome do arquivo de configuração json para o controle de acesso baseado em IP.

    Exemplo de arquivo 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"
          }
        ],
      }
    }
    

    onde:

    • ip-ranges é o endereço IP ou o intervalo para conceder acesso. É possível especificar vários endereços IP ou intervalos separando-os com uma vírgula. Apenas os seguintes níveis de serviço oferecem suporte a configurações para intervalos de endereços IP sobrepostos:
      • Zonal
      • Regional
      • Enterprise
    • access-mode é o nível de acesso a ser concedido aos clientes com endereço IP dentro de ip-range. Ele pode ter os valores de READ_WRITE ou READ_ONLY. O valor padrão é READ_WRITE.
    • squash-mode pode ter os valores ROOT_SQUASH ou NO_ROOT_SQUASH. ROOT_SQUASH remove o acesso de nível raiz aos clientes com endereço IP dentro de ip-range, enquanto NO_ROOT_SQUASH ativa o acesso raiz. O valor padrão é NO_ROOT_SQUASH.
    • anon_uid é o valor do ID do usuário que você quer mapear para anon_uid. O valor padrão é 65534.
    • anon_gid é o valor do ID do grupo que você quer mapear para anon_gid. O valor padrão é 65534.
Exemplo

O exemplo a seguir atualiza a instância nfs-server aumentando o tamanho do compartilhamento de arquivos 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 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
    
    

    Em que:

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

      Só é possível usar uma das opções fornecidas.

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

        O formato é o seguinte:

        "performanceConfig": {
            "iopsPerTb" : {
                "maxIopsPerTb":17000
            }
          }
        
    • CAPACITY é o tamanho, em GiB, que você quer alocar para a instância. Por exemplo, 1024.

    • SHARE_NAME é o nome do compartilhamento de arquivos; Por exemplo, vol1.

    • PROTECTION_REASON Se você optar por usar a flag deletionProtectionEnabled, terá a opção de adicionar uma observação sobre a configuração. Para adicionar a nota, use a flag opcional deletionProtectionReason e inclua uma descrição da justificativa da configuração escolhida. Por exemplo, "Todos os dados de genômica precisam obedecer às políticas atuais da organização". Para mais informações, consulte Proteção contra exclusão.

    Exemplo

    O exemplo a seguir atualiza a instância nfs-server diminuindo a proporção 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
    
    

A seguir