인스턴스 수정

이 페이지에서는Google Cloud 콘솔 또는 gcloud CLI를 사용하여 Filestore 인스턴스를 수정하는 방법을 보여줍니다.

Filestore 인스턴스가 생성되면 다음과 같은 방식으로 이 인스턴스를 수정할 수 있습니다.

  • 용량 증가
  • 다음 서비스 등급의 용량을 줄입니다.
    • 영역
    • 리전
    • Enterprise
  • 성능 구성
  • 설명 변경
  • IP 기반 액세스 제어 규칙 관리
  • 라벨 관리

용량 확장에 대한 자세한 내용은 용량 확장을 참조하세요.

인스턴스의 IP 주소와 같은 특정 사양은 변경할 수 없습니다.

인스턴스 수정 안내

Google Cloud console

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 명령어

instances update 명령어를 실행하여 Filestore 인스턴스를 수정할 수 있습니다. 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는 인스턴스 용량에 따라 선형적으로 확장되는 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 주소 범위의 구성 설정을 지원합니다.
      • 영역
      • 리전
      • 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_uidanon_uid에 매핑할 사용자 ID 값입니다. 기본값은 65534입니다.
    • anon_gidanon_gid에 매핑할 그룹 ID 값입니다. 기본값은 65534입니다.
예시

다음 예시는 파일 공유 크기를 3TiB로 늘려서 nfs-server 인스턴스를 업데이트합니다.

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

REST API

  1. Authorization 헤더에 대한 액세스 토큰을 생성하려면 gcloud CLI가 설치 및 초기화되어 있어야 합니다.

  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-east1 또는 us-central1-a입니다.
    • NAME은 만들려는 인스턴스의 이름입니다. 예를 들면 my-genomics-instance입니다.
    • PERFORMANCE는 맞춤 성능 설정을 지정하는 데 사용되는 성능 구성입니다.

      제공된 옵션 중 하나만 사용할 수 있습니다.

      • iopsPerTB는 인스턴스 용량에 따라 확장되는 사용자 정의 IOPS 속도로 맞춤 성능을 사용 설정합니다. TiB당 IOPS를 정의하려면 maxIopsPerTb 필드를 사용합니다.
      • fixedIops는 인스턴스 용량에 따라 확장되지 않는 고정된 IOPS 속도로 성능을 제공하는 custo를 사용 설정합니다. 고정 IOPS 값을 정의하려면 maxIops 필드를 사용합니다.

        형식은 다음과 같습니다.

        "performanceConfig": {
            "iopsPerTb" : {
                "maxIopsPerTb":17000
            }
          }
        
    • CAPACITY는 인스턴스에 할당할 크기(GiB)입니다. 예를 들면 1024입니다.

    • SHARE_NAME은 파일 공유의 이름입니다. 예를 들면 vol1입니다.

    • PROTECTION_REASON deletionProtectionEnabled 플래그를 사용하면 설정에 관한 메모를 추가할 수 있습니다. 메모를 추가하려면 선택사항인 deletionProtectionReason 플래그를 사용하고 선택한 설정의 근거에 관한 설명을 포함합니다. 예를 들어 '모든 유전체 데이터는 현재 조직 정책을 준수해야 합니다.' 자세한 내용은 삭제 보호를 참고하세요.

    다음 예에서는 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
    
    

다음 단계