インスタンスの編集

このページでは、Google Cloud コンソールまたは gcloud CLI を使用して Filestore インスタンスを編集する方法について説明します。

作成後、Filestore インスタンスは次の方法で変更できます。

容量のスケーリングの詳細については、容量をスケーリングするをご覧ください。

インスタンスの IP アドレスなど、特定の仕様は不変です。

インスタンスの編集手順

Google Cloud コンソール

Google Cloud コンソールを使用して Filestore インスタンスを編集するには、[インスタンスの編集] ページに移動し、インスタンスの説明の編集、IP ベースのアクセス制御ルールの管理、ファイル共有パフォーマンスのスケーリングを行います。

  1. Google Cloud コンソールで、[Filestore インスタンス] ページに移動します。

    Filestore インスタンス ページに移動

  2. 編集するインスタンスのインスタンス ID をクリックします。

  3. [インスタンスの詳細] ページで、[編集] をクリックして [インスタンスの編集] ページに移動します。

  4. 必要に応じて、インスタンスの説明、IP ベースのアクセス制御ルール、容量を変更します。詳細については、インスタンスの作成をご覧ください。

  5. [保存] をクリックします。

gcloud

始める前に

gcloud CLI を使用するには、gcloud CLI をインストールするか、 Google Cloud コンソールに組み込まれている Cloud Shell を使用する必要があります。

Google Cloud コンソールに移動

インスタンスを編集するための gcloud コマンド

Filestore インスタンスを編集するには、instances update コマンドを実行します。IP ベースのアクセス制御の構成ルールを更新する必要がある場合は、--flags-file フラグを使用して、JSON 構成ファイルを指定する必要があります。この方法を選択した場合、--file-share フラグはすでに 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]

ここで

  • INSTANCE_ID は、編集する Filestore インスタンスのインスタンス ID です。
  • PROJECT_ID は、Filestore インスタンスを含む Google Cloud プロジェクトのプロジェクト ID です。Filestore インスタンスが gcloud デフォルト プロジェクトにある場合は、このフラグを省略できます。デフォルトのプロジェクトを設定するには、次のコマンドを実行します。

    gcloud config set project project-id
    
  • LOCATION は、Filestore インスタンスが存在するロケーションです。リージョン インスタンスとエンタープライズ インスタンスの場合は、リージョンを指定します。その他のすべてのインスタンスの場合は、ゾーンを指定します。サポートされているゾーンのリストを取得するには、gcloud filestore zones list コマンドを実行します。Filestore インスタンスが gcloud デフォルト ゾーンにある場合は、このフラグを省略できます。デフォルト ゾーンを設定するには、次のコマンドを実行します。

    gcloud config set filestore/zone zone
    
  • PERFORMANCE は、選択した容量とは別にカスタムのパフォーマンス設定を指定するために使用されるパフォーマンス構成です。

    次のいずれかの方法のみを使用できます。

    • max-iops-per-tb には、インスタンス容量に比例してスケーリングされる 1 TiB あたりの IOPS レートを指定します。
    • max-iops は、インスタンス容量に応じてスケーリングされない固定の IOPS レートを指定します。

      形式は次のとおりです。

      --performance=max-iops-per-tb=17000
      
  • FILE_SHARE_NAME は、Filestore インスタンスから提供されるファイル共有の名前です。インスタンスの作成後は、ファイル共有名を変更できません。

  • FILE_SHARE_SIZE は、ファイル共有に使用する新しいサイズです。GiB(デフォルト)または TiB を使用して、整数でファイル共有サイズを指定できます。

    使用可能な割り当てを確認するには、 Google Cloud コンソールの [割り当て] ページに移動します。

    [割り当て] ページに移動

  • DESCRIPTION は、Filestore インスタンスの説明であり、省略可能です。

  • FILE_NAME は、IP ベースのアクセス制御用の json 構成ファイルの名前です。

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

    ここで

    • ip-rangesは、アクセスを許可する IP アドレスまたは範囲です。複数の IP アドレスまたは IP アドレス範囲を指定するには、カンマで区切ります。次のサービス階層だけが、重複する IP アドレス範囲の構成設定をサポートしています。
      • ゾーン
      • リージョン
      • Enterprise
    • access-mode は、IP アドレスが ip-range 内にあるクライアントに付与するアクセスレベルです。値は READ_WRITE または READ_ONLY のいずれかに設定できます。デフォルト値は READ_WRITE です。
    • squash-mode の値は ROOT_SQUASH または NO_ROOT_SQUASH に設定できます。ROOT_SQUASH では、IP アドレスが ip-range 内のクライアントへのルートレベル アクセスが排除され、NO_ROOT_SQUASH では、ルートアクセスが有効にされます。デフォルト値は NO_ROOT_SQUASH です。
    • anon_uid は、anon_uid にマッピングするユーザー ID の値です。デフォルト値は 65534 です。
    • anon_gid は、anon_gid にマッピングするグループ ID の値です。デフォルト値は 65534 です。

次の例では、ファイル共有サイズを 3 TiB に増やして nfs-server インスタンスを更新します。

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

REST API

  1. gcloud CLI のインストールと初期化を行います。これにより、Authorization ヘッダーのアクセス トークンを生成できます。

  2. cURL使用 して Filestore API を呼び出します。

    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
    
    

    ここで

    • PROJECT は、インスタンスが存在するプロジェクトの名前です。例: my-genomics-project
    • LOCATION は、インスタンスが存在するロケーションです。たとえば、us-east1us-central1-a です。
    • NAME は、作成するインスタンスの名前です。例: my-genomics-instance
    • PERFORMANCE は、カスタム パフォーマンス設定の指定に使用されるパフォーマンス構成です。

      使用できるオプションは 1 つだけです。

      • iopsPerTB を使用すると、インスタンス容量に応じてスケーリングされるユーザー定義の IOPS レートでカスタム パフォーマンスを有効にできます。1 TiB あたりの IOPS を定義するには、maxIopsPerTb フィールドを使用します。
      • fixedIops を使用すると、インスタンスの容量に応じてスケーリングされない固定の IOPS レートでカスタム パフォーマンスを有効にできます。固定の IOPS 値を定義するには、maxIops フィールドを使用します。

        形式は次のとおりです。

        "performanceConfig": {
            "iopsPerTb" : {
                "maxIopsPerTb":17000
            }
          }
        
    • CAPACITY は、インスタンスに割り当てるサイズ(GiB)です。例: 1024

    • SHARE_NAME はファイル共有の名前です。 (例: vol1)です。

    • PROTECTION_REASON deletionProtectionEnabled フラグを使用する場合は、設定に関するメモを追加できます。メモを追加するには、オプションの deletionProtectionReason フラグを使用して、選択した設定の根拠の説明を含めます。たとえば、「すべてのゲノミクス データは、組織の現在のポリシーに準拠する必要があります」などです。詳細については、削除保護をご覧ください。

    次の例では、1 TiB あたりの IOPS 比率を 12000 に減らして nfs-server インスタンスを更新します。

    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
    
    

次のステップ