리전 Persistent Disk 볼륨 만들기 및 관리


리전 Persistent Disk는 Compute Engine에서 고가용성(HA) 서비스를 구현할 수 있는 스토리지 옵션입니다. 리전 Persistent Disk는 같은 리전의 두 영역 간에 데이터를 동기식으로 복제하고 영역 오류 최대 1회까지 디스크 데이터의 HA를 보장합니다. 다음 방법 중 하나로 가상 머신(VM)과 함께 리전 Persistent Disk를 사용할 수 있습니다.

이 문서에서는 리전 Persistent Disk에 대해 다음 태스크를 수행하는 방법을 설명합니다.

  • 리전 Persistent Disk 볼륨 만들기 및 관리
  • VM에 리전 Persistent Disk 볼륨 추가

시작하기 전에

  • 여러 유형의 Persistent Disk 간 차이를 검토합니다.
  • 리전 Persistent Disk의 기본사항을 검토합니다.
  • 리전 Persistent Disk 장애 조치에 대해 읽어봅니다.
  • 아직 인증을 설정하지 않았다면 설정합니다. 인증은 Google Cloud 서비스 및 API에 액세스하기 위해 ID를 확인하는 프로세스입니다. 로컬 개발 환경에서 코드 또는 샘플을 실행하려면 다음과 같이 Compute Engine에 인증하면 됩니다.

    이 페이지의 샘플 사용 방법에 대한 탭을 선택하세요.

    콘솔

    Google Cloud 콘솔을 사용하여 Google Cloud 서비스 및 API에 액세스할 때는 인증을 설정할 필요가 없습니다.

    gcloud

    1. Google Cloud CLI를 설치한 후 다음 명령어를 실행하여 초기화합니다.

      gcloud init
    2. 기본 리전 및 영역을 설정합니다.

    Terraform

    로컬 개발 환경에서 이 페이지의 Terraform 샘플을 사용하려면 gcloud CLI를 설치 및 초기화한 다음 사용자 인증 정보로 애플리케이션 기본 사용자 인증 정보를 설정하세요.

    1. Google Cloud CLI를 설치합니다.
    2. gcloud CLI를 초기화하려면 다음 명령어를 실행합니다.

      gcloud init
    3. Google 계정의 로컬 인증 사용자 인증 정보를 만듭니다.

      gcloud auth application-default login

    자세한 내용은 로컬 개발 환경의 인증 설정를 참조하세요.

    REST

    로컬 개발 환경에서 이 페이지의 REST API 샘플을 사용하려면 gcloud CLI에 제공한 사용자 인증 정보를 사용합니다.

      Google Cloud CLI를 설치한 후 다음 명령어를 실행하여 초기화합니다.

      gcloud init

제한사항

  • E2, N1, N2, N2D 머신 유형을 사용하는 VM에만 리전 영구 디스크를 연결할 수 있습니다.
  • 이미지에서 리전 영구 디스크를 만들 수 없습니다.
  • 읽기 전용 모드를 사용할 때는 리전 균형 있는 영구 디스크를 최대 10개의 VM 인스턴스에 연결할 수 있습니다.
  • 리전 표준 영구 디스크 최소 크기는 200GiB입니다.
  • 리전 영구 디스크 볼륨 크기는 늘리는 것만 가능합니다. 크기를 줄일 수는 없습니다.
  • 리전 영구 디스크 볼륨은 영역 영구 디스크 볼륨과 성능 특성이 다릅니다. 자세한 내용은 블록 스토리지 성능을 참조하세요.
  • 영역 디스크를 클론하여 리전 영구 디스크를 만드는 경우 두 영역 복제본이 생성 시에 완전히 동기화되지 않습니다. 생성 후에는 평균적으로 3분 이내에 리전 디스크 클론을 사용할 수 있습니다. 그러나 디스크가 완전 복제 상태에 도달하고 복구 지점 목표(RPO)가 0에 근접할 때까지 10분 정도 기다려야 할 수 있습니다. 리전 Persistent Disk가 완전 복제되었는지 확인하는 방법을 알아보세요.

리전 Persistent Disk에 새 VM 만들기

VM을 만들 때는 선택적으로 리전 Persistent Disk 볼륨을 추가 디스크로 포함할 수 있습니다.

VM을 만드는 동안 리전 Persistent Disk 볼륨을 만들고 VM에 연결하려면 추가적인 비부팅 디스크로 VM 인스턴스 만들기 또는 새 인스턴스 템플릿 만들기를 참조하세요.

VM에 리전 Persistent Disk 볼륨 추가

리전 Persistent Disk 볼륨을 만들고 VM에 연결합니다. VM은 디스크와 동일한 리전에 있어야 합니다.

Google Cloud 콘솔에서 디스크를 만드는 경우 기본 디스크 유형pd-balanced입니다. gcloud CLI 또는 REST를 사용하여 디스크를 만드는 경우 기본 디스크 유형은 pd-standard입니다.

콘솔

먼저 리전 Persistent Disk 볼륨을 만든 다음 기존 VM 인스턴스에 연결해야 합니다. 리전 Persistent Disk 볼륨은 장애 조치 중에 강제 연결할 수 없으므로 리전 Persistent Disk 볼륨을 부팅 디스크로 만들 수 없습니다.

리전 Persistent Disk 볼륨 만들기

  1. Google Cloud 콘솔에서 디스크 페이지로 이동합니다.

    디스크로 이동

  2. 필요한 프로젝트를 선택합니다.

  3. 디스크 만들기를 클릭합니다.

  4. 디스크 이름을 지정합니다.

  5. 위치에 대해 리전을 선택합니다.

  6. 리전영역을 선택합니다. VM을 만들 때 같은 리전을 선택해야 합니다.

  7. 동일한 리전에서 복제본 영역을 선택합니다. 이러한 영역 중 하나에서 디스크를 VM에 연결해야 하므로 선택한 영역을 기록해 둡니다.

  8. 디스크 소스 유형을 선택합니다.

  9. 디스크 유형크기를 선택합니다. 기본값은 100GiB 균형 있는 영구 디스크입니다.

  10. 만들기를 클릭하여 디스크 만들기를 마칩니다.

VM에 리전 Persistent Disk 볼륨 연결

  1. VM에 디스크를 연결하려면 VM 인스턴스 페이지로 이동합니다.

    VM 인스턴스로 이동

  2. 이름 열에서 VM의 이름을 클릭합니다.

  3. 수정 을 클릭합니다.

  4. +기존 디스크 연결을 클릭합니다.

  5. VM에 연결할 리전 Persistent Disk를 선택합니다.

  6. 선택한 디스크가 이미 다른 인스턴스에 연결되어 있다는 경고가 표시되면 디스크 강제 연결 체크박스를 선택하여 현재 수정 중인 VM에 디스크를 강제로 연결합니다.

    리전 Persistent Disk 볼륨을 강제 연결하는 사용 사례에 대한 자세한 내용은 리전 Persistent Disk 장애 조치를 참조하세요.

  7. 저장을 클릭합니다.

  8. VM 수정 페이지에서 저장을 클릭합니다.

gcloud

Google Cloud CLI를 사용하여 리전 Persistent Disk 볼륨을 만들고 연결합니다.

  1. compute disks create 명령어를 사용하여 리전 Persistent Disk 볼륨을 만듭니다. 추가 처리량 또는 IOPS에 사용할 리전 SSD Persistent Disk가 필요한 경우에는 --type 플래그를 포함하고 pd-ssd를 지정합니다.

    gcloud compute disks create DISK_NAME \
        --size=DISK_SIZE \
        --type=DISK_TYPE \
        --region=REGION \
        --replica-zones=ZONE1,ZONE2
    

    다음을 바꿉니다.

    • DISK_NAME: 새 디스크의 이름입니다.
    • DISK_SIZE: 새 디스크의 크기(GiB)입니다.
    • DISK_TYPE: Persistent Disk의 유형입니다. 기본값은 pd-standard입니다.
    • REGION: 리전 디스크가 상주할 리전(예: europe-west1)입니다.
    • ZONE1,ZONE2: 2개의 디스크 복제본이 있는 리전 내 영역(예: europe-west1-b,europe-west1-c)
  2. --disk-scope 플래그가 regional로 설정된 compute instances attach-disk 명령어를 사용하여 실행 중이거나 중지된 VM에 디스크를 연결합니다.

    gcloud compute instances attach-disk VM_NAME \
        --disk=DISK_NAME \
        --disk-scope=regional
    

    다음을 바꿉니다.

    • VM_NAME: 새 리전 Persistent Disk 볼륨을 추가할 VM의 이름입니다.
    • DISK_NAME: VM에 연결할 새 디스크의 이름입니다.

Terraform

리전 Persistent Disk 볼륨을 만들려면 google_compute_region_disk 리소스를 사용하면 됩니다.

resource "google_compute_region_disk" "regiondisk" {
  name                      = "region-disk-name"
  snapshot                  = google_compute_snapshot.snapdisk.id
  type                      = "pd-ssd"
  region                    = "us-central1"
  physical_block_size_bytes = 4096
  size                      = 11

  replica_zones = ["us-central1-a", "us-central1-f"]
}

REST

  1. 리전 Persistent Disk 볼륨을 만들려면 compute.regionDisks.insert 메서드에 대한 POST 요청을 작성합니다. 빈 디스크를 만들려면 이미지나 스냅샷 소스를 지정하지 마세요.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/disks
    {
     "name": "DISK_NAME",
     "region": "projects/PROJECT_ID/regions/REGION",
     "replicaZones": [
       "projects/PROJECT_ID/zones/ZONE1",
       "projects/PROJECT_ID/zones/ZONE2"
     ],
     "sizeGb": "DISK_SIZE",
     "type": "projects/PROJECT_ID/regions/REGION/diskTypes/DISK_TYPE"
    }
    

    다음을 바꿉니다.

    • PROJECT_ID: 프로젝트 ID입니다.
    • REGION: 리전 디스크가 상주할 리전(예: europe-west1)입니다.
    • DISK_NAME: 새 디스크의 이름입니다.
    • ZONE1,ZONE2: 새 디스크의 복제본이 있어야 하는 영역입니다.
    • DISK_SIZE: 새 디스크의 크기(GiB)입니다.
    • DISK_TYPE: Persistent Disk의 유형입니다. 기본값은 pd-standard입니다.
  2. 디스크를 연결하려면 compute.instances.attachDisk 메서드에 대한 POST 요청을 작성하고 사용자가 만든 Persistent Disk 볼륨을 가리키는 URL을 포함합니다.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/attachDisk
    {
     "source": "/projects/PROJECT_ID/regions/REGION/disks/DISK_NAME"
    }
    

    다음을 바꿉니다.

    • PROJECT_ID: 프로젝트 ID입니다.
    • ZONE: VM 위치입니다.
    • VM_NAME: 새 Persistent Disk 볼륨을 추가할 VM의 이름입니다.
    • REGION: 리전 디스크가 있는 리전입니다.
    • DISK_NAME: 새 디스크의 이름입니다.

새 디스크를 만들고 VM에 연결한 후에는 운영체제에서 사용 가능한 저장공간을 사용할 수 있도록 디스크를 포맷하고 마운트해야 합니다.

리전 Persistent Disk를 VM 부팅 디스크로 사용

프로덕션 워크로드를 프로비저닝하기 전에 미리 프로비저닝되는 스테이트풀(Stateful) 워크로드에 대해 리전 Persistent Disk를 부팅 디스크로 연결합니다. 2개의 VM에 리전 부팅 디스크를 동시에 연결할 수 없기 때문에 리전 Persistent Disk는 상시 대기용으로 사용되지 않습니다.

스냅샷에서만 리전 Persistent Disk를 만들 수 있습니다. 이미지에서는 리전 Persistent Disk를 만들 수 없습니다.

리전 Persistent Disk를 VM 부팅 디스크로 사용하려면 다음 안내를 따르세요.

  1. 스냅샷에서 리전 디스크 만들기를 수행합니다.
  2. 다음 안내에 따라 디스크를 부팅 디스크로 연결합니다.

리전 Persistent Disk 부팅 디스크로 새 VM 만들기

고가용성 VM을 설정할 때는 리전 Persistent Disk 부팅 디스크로 기본 VM을 만들 수 있습니다. 이렇게 하면 영역 중단 시 VM을 다시 시작할 수 있습니다.

부팅 기기가 리전 Persistent Disk인 고가용성 설정에서는 대기 인스턴스를 미리 만들고 미리 실행하지 않는 것이 좋습니다. 대신 장애 조치 단계에서 forceAttach 옵션을 사용하여 대기 인스턴스를 만들 때 기존 리전 디스크를 연결합니다.

리전 Persistent Disk인 부팅 디스크로 VM을 만들려면 다음 안내를 따르세요.

gcloud

gcloud compute instances create PRIMARY_INSTANCE_NAME  \
 --zone=ZONE  \
 --create-disk=^:^name=REPD_DISK_NAME:scope=regional:boot=true:source-snapshot=SNAPSHOT_NAME:replica-zones=ZONE,REMOTE_ZONE

디스크 매개변수를 지정할 때 ^:^ 문자는 매개변수 사이의 구분 문자를 콜론(:)으로 지정합니다. 이렇게 하면 복제본 영역 매개변수를 지정할 때 쉼표(,)를 사용할 수 있습니다.

다음을 바꿉니다.

  • PRIMARY_INSTANCE_NAME: VM의 이름입니다.
  • ZONE: VM을 만들려는 영역의 이름입니다.
  • REPD_DISK_NAME: 리전 Persistent Disk의 이름입니다.
  • SNAPSHOT_NAME: 부팅 디스크용으로 만든 스냅샷의 이름입니다.
  • REMOTE_ZONE: 리전 Persistent Disk의 대체 영역입니다.

REST

VM 만들기 중에 리전 디스크로 새 VM을 만들려면 boot: 'true'replicaZones를 지정합니다. 예를 들면 다음과 같습니다.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
{
 "name": "VM_NAME",
 "disks": [{
    "boot": true,
    "initializeParams": {
      "sourceSnapshot": "global/snapshots/BOOT_SNAPSHOT_NAME",
      "replicaZones": [
           "projects/PROJECT_ID/zones/ZONE",
           "projects/PROJECT_ID/zones/REMOTE_ZONE"]
   }
  }],
}

다음을 바꿉니다.

  • PROJECT_ID: 프로젝트 ID입니다.
  • ZONE: VM을 만들려는 영역의 이름입니다.
  • VM_NAME: VM의 이름입니다.
  • BOOT_SNAPSHOT_NAME: 부팅 디스크 스냅샷의 이름입니다.
  • REMOTE_ZONE: 리전 Persistent Disk의 원격 영역입니다.

부팅 디스크에 리전 Persistent Disk를 사용하는 기본 VM을 복구하기 위해 장애 조치 영역에 두 번째 VM을 만들려면 다음 안내를 따르세요.

gcloud

gcloud compute instances create STANDBY_VM_NAME  \
 --zone=ZONE  \
 --disk=boot=yes,name=DISK_NAME,scope=regional,force-attach=true

다음을 바꿉니다.

  • STANDBY_VM_NAME: 대기 VM의 이름입니다.
  • ZONE: 리전 Persistent Disk가 복제되는 영역의 이름입니다.
  • DISK_NAME: 연결하려는 리전 Persistent Disk의 이름입니다.

선택사항: 서비스 중단 또는 장애로 인해 원래 연결된 VM에서 리전 Persistent Disk 부팅 디스크를 성공적으로 분리할 수 없으면 force-attach=true를 포함합니다.

리전 Persistent Disk를 기존 VM에 부팅 디스크로 연결

다음 단계를 따라 리전 Persistent Disk를 VM에 부팅 디스크로 연결하여 백업 영역에서 실행 중인 보조 VM으로 장애 조치합니다. 이 단계에서는 표준 스냅샷에서 리전 Persistent Disk를 이미 만들었다고 가정합니다.

gcloud

  1. VM을 중지합니다.
    gcloud compute instances stop STANDBY_VM_NAME  --zone=ZONE
    
  2. VM에서 현재 부팅 디스크를 분리합니다.
    gcloud compute instances detach-disk STANDBY_VM_NAME  
    --zone=ZONE --disk=CURRENT_BOOT_DEVICE_NAME
  3. 리전 Persistent Disk를 VM에 연결합니다.
    gcloud compute instances attach-disk STANDBY_VM_NAME  
    --zone=ZONE
    --disk=REPD_DISK_NAME
    --disk-scope=regional --force-attach
  4. VM을 다시 시작합니다.

    gcloud compute instances start STANDBY_VM_NAME
    

이전 명령어의 변수를 다음으로 바꿉니다.

  • STANDBY_VM_NAME: 리전 Persistent Disk를 연결하려는 VM의 이름입니다.
  • ZONE: VM이 있는 영역입니다.
  • CURRENT_BOOT_DEVICE_NAME: VM에서 사용 중인 부팅 디스크의 이름입니다. 일반적으로 VM 이름과 동일합니다.
  • REPD_DISK_NAME: VM에 부팅 디스크로 연결하려는 리전 Persistent Disk의 이름입니다.

선택사항: 서비스 중단 또는 장애로 인해 원래 연결된 VM에서 리전 Persistent Disk 부팅 디스크를 성공적으로 분리할 수 없으면 --force-attach 플래그를 포함합니다.

REST

  1. VM을 중지합니다.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/STANDBY_VM_NAME/stop
    
  2. VM에서 현재 부팅 디스크를 분리합니다.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/STANDBY_VM_NAME/detachDisk?deviceName=CURRENT_BOOT_DEVICE_NAME
    
  3. 리전 Persistent Disk를 VM에 연결합니다.

    compute.instances.attachDisk 메서드에 대해 POST 요청을 생성하고 리전 Persistent Disk 볼륨의 URL을 포함합니다.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/STANDBY_VM_NAME/attachDisk
    {
    "source": "compute/v1/projects/PROJECT_ID/regions/REGION/disks/REPD_DISK_NAME",
    "boot": true
    }
  4. VM을 다시 시작합니다.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/STANDBY_VM_NAME/start
    

이전 명령어의 변수를 다음으로 바꿉니다.

  • PROJECT_ID: 프로젝트 ID입니다.
  • STANDBY_VM_NAME: 리전 Persistent Disk를 연결하려는 VM의 이름입니다.
  • ZONE: VM이 있는 영역입니다.
  • CURRENT_BOOT_DEVICE_NAME: VM에서 사용 중인 부팅 디스크의 이름입니다. 일반적으로 VM 이름과 동일합니다.
  • REGION: 리전 Persistent Disk가 있는 리전입니다.
  • REPD_DISK_NAME: VM에 부팅 디스크로 연결하려는 리전 Persistent Disk의 이름입니다.

선택사항: 서비스 중단 또는 장애로 인해 원래 연결된 VM에서 리전 Persistent Disk 부팅 디스크를 성공적으로 분리할 수 없으면 요청 본문에 "forceAttach": true를 포함합니다.

리전 Persistent Disk 볼륨 표시 및 설명

구성된 모든 리전 Persistent Disk 볼륨 목록과 다음을 포함하여 해당 속성에 대한 정보를 볼 수 있습니다.

  • 디스크 ID
  • 디스크 이름
  • 크기
  • 디스크 유형
  • 리전
  • 영역 복제본

리전 Persistent Disk 볼륨에 대한 자세한 정보를 보려면 REST 및 gcloud CLI 중 하나를 사용합니다.

  • 특정 리전 및 프로젝트에 있는 모든 리전 Persistent Disk 볼륨의 세부정보를 보려면 compute.regionDisks.list 메서드를 사용합니다.
  • 특정 리전 Persistent Disk 볼륨의 세부정보를 보려면 --region 플래그와 함께 gcloud compute disks describe 명령어를 실행하고 디스크와 해당 리전의 이름을 지정합니다.

리전 Persistent Disk 크기 조절

리전 Persistent Disk가 있는 VM에 추가 저장공간, IOPS 또는 처리량이 필요하면 디스크 크기를 조절할 수 있습니다. 데이터를 고유한 볼륨으로 분리해야 하는 경우 VM에 대한 여러 보조 디스크를 만듭니다. 디스크가 실행 중인 VM과 연결되어 있는지와 관계없이 언제든지 디스크의 크기를 조절할 수 있습니다.

리전 Persistent Disk의 크기를 조절하는 명령어는 표준 Persistent Disk의 크기 조절 명령어와 동일하지만 리전에 대한 추가 플래그가 있습니다.

디스크 크기를 늘릴 수만 있으며 줄일 수는 없습니다. 디스크 크기를 줄이려면 더 작은 크기로 새 디스크를 만들어야 합니다. 더 큰 원본 디스크까지 삭제할 때까지는 두 디스크 모두에 대한 요금이 부과됩니다.

콘솔

리전 Persistent Disk 크기를 조절합니다.

  1. Google Cloud 콘솔에서 디스크 페이지로 이동합니다.

    디스크로 이동

  2. 크기를 조절할 디스크를 선택합니다.

  3. 페이지 상단에 있는 수정을 클릭합니다.

  4. 디스크의 크기(GiB)를 입력합니다.

  5. 저장을 클릭하여 디스크 크기 조절을 완료합니다.

새로운 디스크 크기가 디스크 목록에 표시됩니다.

gcloud

gcloud CLI에서 compute disks resize 명령어를 사용하여 리전 Persistent Disk 크기를 조절합니다.

gcloud compute disks resize DISK_NAME \
    --region=REGION  \
    --size=DISK_SIZE

다음을 바꿉니다.

  • DISK_NAME: 크기를 조절할 디스크의 이름
  • REGION: 디스크가 있는 리전
  • DISK_SIZE: 디스크의 새 크기(GiB)입니다.

Terraform

리전 Persistent Disk의 크기를 변경하려면 google_compute_region_disk 리소스를 사용하고 size 매개변수를 사용하면 됩니다.

resource "google_compute_region_disk" "regiondisk" {
  name                      = "region-disk-name"
  snapshot                  = google_compute_snapshot.snapdisk.id
  type                      = "pd-ssd"
  region                    = "us-central1"
  physical_block_size_bytes = 4096
  size                      = 11

  replica_zones = ["us-central1-a", "us-central1-f"]
}

image 또는 snapshot 매개변수와 함께 size 매개변수를 포함하는 경우 size 값은 이미지 또는 스냅샷의 크기와 같거나 커야 합니다.

imagesnapshot 매개변수를 생략하는 경우 size 매개변수를 기존 디스크 크기보다 작게 설정할 수 있습니다. 이렇게 하면 Terraform이 디스크를 폐기하고 비어 있는 새 Persistent Disk를 만듭니다. 재생성하는 동안 Terraform은 라벨 또는 스냅샷 일정과 같이 Terraform 구성에 포함되지 않은 다른 데이터를 복사하지 않습니다. Terraform 구성에 디스크를 삭제하고 다시 만들지 않으려면 Terraform 구성에 lifecycle.prevent_destroy = true 설정을 추가하면 됩니다.

REST

리전 Persistent Disk의 크기를 조절하려면 compute.regionDisks.resize 메서드에 대한 POST 요청을 작성합니다.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/disks/DISK_NAME/resize

{
  "sizeGb": "DISK_SIZE"
}

다음을 바꿉니다.

  • PROJECT_ID: 프로젝트 ID입니다.
  • REGION: 디스크가 있는 리전
  • DISK_NAME: 크기를 조절할 디스크의 이름
  • DISK_SIZE: 디스크의 새 크기(GiB)입니다.

디스크 크기를 조절한 후에는 운영체제가 추가 공간에 액세스할 수 있도록 파일 시스템 크기를 조절해야 합니다.

여러 VM 간에 읽기 전용 Persistent Disk 공유

읽기 전용 모드로 2개 이상 VM에 비부팅 Persistent Disk를 연결하여 여러 VM 간에 정적 데이터를 공유할 수 있습니다. 한 Persistent Disk에서 여러 VM 사이에 고정 데이터를 공유하면 VM마다 데이터를 고유 디스크에 복제할 때보다 비용이 적게 듭니다.

여러 VM 간에 동적 저장공간을 공유하려면 다음 옵션 중 하나를 사용할 수 있습니다.

Persistent Disk의 데이터를 여러 VM 간에 공유하려는 경우, Persistent Disk를 읽기/쓰기 VM과 분리하여 하나 이상의 VM에 읽기 전용 모드로 연결합니다.

콘솔

여러 VM 간에 읽기 전용 Persistent Disk를 공유합니다.

  1. Google Cloud 콘솔에서 VM 인스턴스 페이지로 이동합니다.

    VM 인스턴스로 이동

  2. 디스크를 연결하려는 VM의 이름을 클릭합니다. VM 인스턴스 세부정보 페이지가 열립니다.

  3. 페이지 상단에서 수정을 클릭합니다.

  4. 추가 디스크 섹션에서 기존 디스크 연결을 클릭합니다.

  5. 목록에서 리전 Persistent Disk를 선택합니다.

  6. 모드 섹션에서 읽기 전용을 선택합니다.

  7. 완료를 클릭합니다.

  8. 페이지 하단에 있는 저장을 클릭하여 변경사항을 VM에 적용합니다.

gcloud

gcloud CLI에서 --disk-scope 플래그를 regional로 설정하고 --mode 플래그를 ro로 설정한 상태로 compute instances attach-disk 명령어를 사용해서 여러 VM 간에 읽기 전용 Persistent Disk를 공유합니다.

gcloud beta compute instances attach-disk /VM_NAME \
    --disk=DISK_NAME \
    --disk-scope=regional \
    --mode=ro

다음을 바꿉니다.

  • VM_NAME: Persistent Disk를 연결하려는 VM의 이름
  • DISK_NAME: 연결할 디스크의 이름입니다.

REST

여러 VM 간에 읽기 전용 Persistent Disk를 공유하려면 compute.instances.attachDisk 메서드에 대한 POST 요청을 작성합니다. 요청 본문에서 mode 매개변수를 READ_ONLY로 지정합니다.

POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/attachDisk

{
  "source": "regions/REGION/disks/DISK_NAME",
  "mode": "READ_ONLY"
}

다음을 바꿉니다.

  • PROJECT_ID: 프로젝트 ID입니다.
  • ZONE: VM의 영역
  • VM_NAME: Persistent Disk를 연결할 VM의 이름
  • REGION: 디스크가 있는 리전
  • DISK_NAME: 연결할 디스크의 이름

디스크를 연결한 후 이 디스크를 연결하려는 각 VM에 읽기 전용 모드로 연결하고 마운트합니다.

영역 Persistent Disk를 리전 Persistent Disk로 마이그레이션

기존 영역 Persistent Disk를 리전 Persistent Disk로 전환하려면 기존 영역 디스크를 클론하여 새 리전 디스크를 만듭니다. 자세한 내용은 영역 디스크에서 리전 디스크 클론 만들기를 참조하세요.

다음 단계