이 문서에서는 영역 또는 리전 간에 가상 머신(VM) 인스턴스를 이동하는 방법을 설명합니다.
시작하기 전에
- 영역 문서를 참조하세요.
-
아직 인증을 설정하지 않았다면 설정합니다.
인증은 Google Cloud 서비스 및 API에 액세스하기 위해 ID를 확인하는 프로세스입니다.
로컬 개발 환경에서 코드 또는 샘플을 실행하려면 다음과 같이 Compute Engine에 인증하면 됩니다.
Select the tab for how you plan to use the samples on this page:
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
프로젝트 할당량. 프로젝트에는 다음을 수행하기 위해 충분한 할당량이 있어야 합니다.
- 새 스냅샷을 만듭니다.
- 모든 임시 외부 IP 주소를 승격합니다.
대상 리전에 새 VM 및 디스크를 만듭니다.
예를 들어 이동할 VM에 디스크가 3개 연결되어 있는 경우 임시 영구 디스크 스냅샷 3개와 새 디스크 3개를 위한 공간이 충분히 할당되어 있어야 합니다. 새 디스크를 만든 후에는 임시 스냅샷을 삭제해도 됩니다.
할당량 페이지에서 이전 리소스에 할당량이 충분히 있는지 확인합니다. 자세한 내용은 할당량 이해를 참조하세요.
영구 디스크. 이동하려는 VM에 연결된 영구 디스크는 다른 VM에 연결되지 않습니다.
로컬 SSD. 로컬 SSD는 임시 스토리지용이며 로컬 SSD의 데이터는 수동 VM 종료 시 보전되지 않습니다. 로컬 SSD 데이터를 보존해야 하는 경우 영구 디스크와 같은 내구성 있는 스토리지 옵션을 사용하여 복제하세요.
GPU. VM에 GPU가 포함된 경우 사용하려는 GPU를 VM의 대상 영역에서 사용할 수 있는지 확인하세요. GPU와 GPU를 사용할 수 있는 영역의 목록은 Compute Engine의 GPU를 참조하세요.
서브네트워크.
us-west1-a
및asia-south1-b
사이와 같이 리전 간에 VM을 이동하려는 경우 VM이 서브네트워크에 속해 있으면 VM에 대해 새로운 서브네트워크를 선택해야 합니다. 서브넷을 만드는 방법에 대한 자세한 내용은 서브넷 추가를 참조하세요.- VM의 소스 디스크 URL
- VM의 머신 유형 URL
- 자체 링크 URL
- 영역 URL
- 디스크 유형 URL
- 디스크의
users[]
목록에 나열된 VM의 URL - 소스 VM의 머신 이미지를 만듭니다.
- 다른 영역 또는 리전의 머신 이미지에서 VM을 만듭니다.
이동할 VM과 연결된 디스크를 확인합니다.
gcloud compute instances describe myinstance --format="list(name,status,disks)"
이 예시에서는
myinstance
VM에 연결된 디스크 두 개를 볼 수 있습니다.- 부팅 디스크
mybootdisk
- 데이터 디스크
mydatadisk
- 부팅 디스크
VM이 삭제될 때 디스크가 자동으로 삭제되지 않도록
mybootdisk
와mydatadisk
의 자동 삭제 상태를false
로 설정합니다.gcloud compute instances set-disk-auto-delete myinstance --zone europe-west1-c \ --disk mybootdisk --no-auto-delete
상태가 업데이트되면
gcloud compute
가Updated [...]
라는 응답을 반환합니다. 자동 삭제 상태가 이미 false로 설정되어 있으면,gcloud compute
가 다음 값을 반환합니다.No change requested; skipping update for [myinstance].
(선택사항) VM 메타데이터를 저장합니다.
VM을 삭제하면 VM 메타데이터도 삭제됩니다. 이 정보를 별도의 파일에 저장한 다음 VM 메타데이터를 새로운 VM에 다시 적용할 수 있습니다.
VM의 메타데이터를 다음과 같이 설명합니다.
gcloud compute instances describe myinstance --zone europe-west1-c
내용을 별도의 파일에 저장합니다.
영구 디스크 스냅샷을 사용하여 데이터 백업을 만듭니다.
예방 조치로 영구 디스크 스냅샷을 사용하여 영구 디스크가 VM에 연결되어 있는 동안 데이터 백업을 생성합니다. 스냅샷을 만들기 전에 스냅샷 권장사항을 준수하여 영구 디스크 상태와 일치하는지 확인합니다.
디스크 버퍼를 삭제한 후 다음과 같이 스냅샷을 만듭니다.
gcloud compute disks snapshot mybootdisk mydatadisk \ --snapshot-names backup-mybootsnapshot,backup-mydatasnapshot \ --zone europe-west1-c
스냅샷이 생성되었는지 확인하려면
gcloud compute snapshots list
를 실행합니다.(선택사항) 같은 리전 내의 영역 간에 VM을 이동하고 임시 내부 또는 외부 IP 주소를 보존하려면 내부 또는 외부 IP 주소를 고정 IP 주소로 승격한 후 나중에 다시 사용할 수 있습니다.
VM을 삭제합니다.
VM을 삭제하면 VM이 깔끔하게 종료되고 모든 영구 디스크가 분리됩니다.
gcloud compute instances delete myinstance --zone europe-west1-c
gcloud
에서 삭제를 확인하라는 메시지를 표시합니다.The following VMs are deleted. Any attached disks configured to be auto-deleted are deleted unless they are attached to any other VMs or the `--keep-disks` flag is given and specifies them for keeping. Deleting a disk is irreversible and any data on the disk is lost. — [myinstance] in [europe-west1-c]
Do you want to continue (Y/n)?
앞의 과정에서 디스크의 자동 삭제 상태를 껐으므로 Y를 입력하여 계속 진행하고 경고를 무시하세요.
그런 다음 부팅 디스크와 데이터 디스크의 또 다른 스냅샷을 만듭니다.
gcloud compute disks snapshot mybootdisk mydatadisk \ --snapshot-names mybootsnapshot,mydatasnapshot \ --zone europe-west1-c
Created [.../mydatasnapshot]. Created [.../mybootsnapshot].
(선택사항) 영구 디스크를 삭제합니다.
영구 디스크의 이름을 새로운 디스크에 다시 사용하려면 기존 디스크를 삭제하여 해당 이름을 사용할 수 있게 만들어야 합니다. 디스크를 삭제하면 영구 디스크 스토리지 비용도 절약됩니다.
동일한 디스크 이름을 다시 사용하지 않는 경우에는 이를 삭제하지 않아도 됩니다.
gcloud compute disks delete mybootdisk mydatadisk --zone europe-west1-c
만든 스냅샷에서
us-west1-b
에 새 영구 디스크를 만듭니다. 먼저 부팅 디스크를 만듭니다.gcloud compute disks create mybootdiskb --source-snapshot mybootsnapshot \ --zone us-west1-b
Created [.../mybootdiskb]. NAME ZONE SIZE_GB TYPE STATUS mybootdiskb us-west1-b 100 pd-standard READY
그런 다음 데이터 디스크를 만듭니다.
gcloud compute disks create mydatadiskb --source-snapshot mydatasnapshot \ --zone us-west1-b
Created [.../mydatadiskb]. NAME ZONE SIZE_GB TYPE STATUS mydatadiskb us-west1-b 4000 pd-standard READY
us-west1-b
에서 VM을 다시 만듭니다.VM 메타데이터를 파일(예:
myinstance.describe
)에 저장하도록 선택한 경우 이 파일을 사용하여 VM에 동일한 메타데이터를 설정할 수 있습니다.VM에 고정 외부 IP 주소가 있는 경우
--address [ADDRESS]
옵션을 지정하여 해당 주소를 새 VM에 다시 할당할 수 있습니다. VM을 리전 간에 이동하는 경우에는 새 VM 인스턴스의 다른 외부 IP 주소를 선택해야 합니다.VM에 고정 내부 IP 주소가 있는 경우
--private-network-ip ADDRESS
옵션을 지정하여 해당 주소를 새 VM에 다시 할당할 수 있습니다. VM을 리전 간에 이동하는 경우에는 새 VM 인스턴스의 다른 내부 IP 주소를 선택해야 합니다.VM에 GPU가 포함되어 있는 경우
--accelerator
옵션을 사용하여 VM에 GPU를 추가합니다.VM이 특정 서브넷을 사용하는 경우
--subnet [SUBNET_NAME]
플래그를 추가합니다.
추가 플래그의 전체 목록은 gcloud compute instances create를 참조하세요.
gcloud compute instances create myinstanceb --machine-type n1-standard-4 \ --zone us-west1-b \ --disk name=mybootdiskb,boot=yes,mode=rw \ --disk name=mydatadiskb,mode=rw
Created [.../myinstanceb]. NAME ZONE MACHINE_TYPE INTERNAL_IP EXTERNAL_IP STATUS myinstanceb us-west1-b n1-standard-4 10.240.173.229 146.148.112.106 RUNNING
(선택 사항) 영구 디스크 스냅샷을 삭제합니다.
가상 머신이 이동한 것을 확인한 후에는 만든 임시 스냅샷을 삭제하여 스토리지 비용을 절약하세요.
gcloud compute snapshots delete mybootsnapshot mydatasnapshot
백업 스냅샷이 더 이상 필요하지 않으면 해당 스냅샷도 삭제합니다.
gcloud compute snapshots delete backup-mybootsnapshot backup-mydatasnapshot
VM 세부정보를 가져오고 VM에 연결된 디스크를 확인합니다.
VM이 삭제될 때 디스크가 자동으로 삭제되지 않도록 부팅 디스크와 데이터 디스크의 자동 삭제 상태를
false
로 설정합니다.영구 디스크 스냅샷을 사용하여 데이터 백업을 만듭니다.
예방 조치로 영구 디스크 스냅샷을 사용하여 영구 디스크가 VM에 연결되어 있는 동안 데이터 백업을 생성합니다. 스냅샷을 만들기 전에 스냅샷 권장사항을 준수하여 영구 디스크 상태와 일치하는지 확인합니다.
디스크 버퍼를 삭제한 후 다음과 같이 스냅샷을 만듭니다.
소스 영역에서 VM을 삭제합니다.
그런 다음 부팅 디스크와 데이터 디스크의 또 다른 스냅샷을 만듭니다.
(선택사항) 영구 디스크를 삭제합니다.
영구 디스크의 이름을 새로운 디스크에 다시 사용하려면 기존 디스크를 삭제하여 해당 이름을 사용할 수 있게 만들어야 합니다. 디스크를 삭제하면 영구 디스크 스토리지 비용도 절약됩니다.
동일한 디스크 이름을 다시 사용하지 않는 경우에는 이를 삭제하지 않아도 됩니다.
만든 스냅샷의 대상 영역에 새 영구 디스크를 만듭니다. 먼저 부팅 디스크를 만든 후 데이터 디스크를 만듭니다.
대상 영역에 새 디스크를 사용하여 VM을 다시 만듭니다.
(선택사항) 임시 디스크 스냅샷을 삭제합니다. 가상 머신이 이동한 것을 확인한 후에는 만든 임시 스냅샷을 삭제하여 스토리지 비용을 절약하세요.
VM 세부정보를 가져오고 VM에 연결된 디스크를 확인합니다.
VM이 삭제될 때 디스크가 자동으로 삭제되지 않도록 부팅 디스크와 데이터 디스크의 자동 삭제 상태를
false
로 설정합니다.영구 디스크 스냅샷을 사용하여 데이터 백업을 만듭니다.
예방 조치로 영구 디스크 스냅샷을 사용하여 영구 디스크가 VM에 연결되어 있는 동안 데이터 백업을 생성합니다. 스냅샷을 만들기 전에 스냅샷 권장사항을 준수하여 영구 디스크 상태와 일치하는지 확인합니다.
디스크 버퍼를 삭제한 후 다음과 같이 스냅샷을 만듭니다.
소스 영역에서 VM을 삭제합니다.
그런 다음 부팅 디스크와 데이터 디스크의 또 다른 스냅샷을 만듭니다.
(선택사항) 영구 디스크를 삭제합니다.
영구 디스크의 이름을 새로운 디스크에 다시 사용하려면 기존 디스크를 삭제하여 해당 이름을 사용할 수 있게 만들어야 합니다. 디스크를 삭제하면 영구 디스크 스토리지 비용도 절약됩니다.
동일한 디스크 이름을 다시 사용하지 않는 경우에는 이를 삭제하지 않아도 됩니다.
만든 스냅샷의 대상 영역에 새 영구 디스크를 만듭니다. 먼저 부팅 디스크를 만든 후 데이터 디스크를 만듭니다.
대상 영역에 새 디스크를 사용하여 VM을 다시 만듭니다.
(선택사항) 임시 디스크 스냅샷을 삭제합니다. 가상 머신이 이동한 것을 확인한 후에는 만든 임시 스냅샷을 삭제하여 스토리지 비용을 절약하세요.
VM 세부정보를 가져오고 VM에 연결된 디스크를 확인합니다.
VM이 삭제될 때 디스크가 자동으로 삭제되지 않도록 부팅 디스크와 데이터 디스크의 자동 삭제 상태를
false
로 설정합니다.영구 디스크 스냅샷을 사용하여 데이터 백업을 만듭니다.
예방 조치로 영구 디스크 스냅샷을 사용하여 영구 디스크가 VM에 연결되어 있는 동안 데이터 백업을 생성합니다. 스냅샷을 만들기 전에 스냅샷 권장사항을 준수하여 영구 디스크 상태와 일치하는지 확인합니다.
디스크 버퍼를 삭제한 후 다음과 같이 스냅샷을 만듭니다.
소스 영역에서 VM을 삭제합니다.
그런 다음 부팅 디스크와 데이터 디스크의 또 다른 스냅샷을 만듭니다.
(선택사항) 영구 디스크를 삭제합니다.
영구 디스크의 이름을 새로운 디스크에 다시 사용하려면 기존 디스크를 삭제하여 해당 이름을 사용할 수 있게 만들어야 합니다. 디스크를 삭제하면 영구 디스크 스토리지 비용도 절약됩니다.
동일한 디스크 이름을 다시 사용하지 않는 경우에는 이를 삭제하지 않아도 됩니다.
만든 스냅샷의 대상 영역에 새 영구 디스크를 만듭니다. 먼저 부팅 디스크를 만든 후 데이터 디스크를 만듭니다.
대상 영역에 새 디스크를 사용하여 VM을 다시 만듭니다.
(선택사항) 임시 디스크 스냅샷을 삭제합니다. 가상 머신이 이동한 것을 확인한 후에는 만든 임시 스냅샷을 삭제하여 스토리지 비용을 절약하세요.
VM 세부정보를 가져오고 VM에 연결된 디스크를 확인합니다.
VM이 삭제될 때 디스크가 자동으로 삭제되지 않도록 부팅 디스크와 데이터 디스크의 자동 삭제 상태를
false
로 설정합니다.영구 디스크 스냅샷을 사용하여 데이터 백업을 만듭니다.
예방 조치로 영구 디스크 스냅샷을 사용하여 영구 디스크가 VM에 연결되어 있는 동안 데이터 백업을 생성합니다. 스냅샷을 만들기 전에 스냅샷 권장사항을 준수하여 영구 디스크 상태와 일치하는지 확인합니다.
디스크 버퍼를 삭제한 후 다음과 같이 스냅샷을 만듭니다.
소스 영역에서 VM을 삭제합니다.
그런 다음 부팅 디스크와 데이터 디스크의 또 다른 스냅샷을 만듭니다.
(선택사항) 영구 디스크를 삭제합니다.
영구 디스크의 이름을 새로운 디스크에 다시 사용하려면 기존 디스크를 삭제하여 해당 이름을 사용할 수 있게 만들어야 합니다. 디스크를 삭제하면 영구 디스크 스토리지 비용도 절약됩니다.
동일한 디스크 이름을 다시 사용하지 않는 경우에는 이를 삭제하지 않아도 됩니다.
만든 스냅샷의 대상 영역에 새 영구 디스크를 만듭니다. 먼저 부팅 디스크를 만든 후 데이터 디스크를 만듭니다.
대상 영역에 새 디스크를 사용하여 VM을 다시 만듭니다.
(선택사항) 임시 디스크 스냅샷을 삭제합니다. 가상 머신이 이동한 것을 확인한 후에는 만든 임시 스냅샷을 삭제하여 스토리지 비용을 절약하세요.
- 프로젝트의 기본 영역/리전을 변경하는 방법 알아보기
- 라이브 마이그레이션에 대해 알아보기
- VM 상태 확인
- VM을 Compute Engine으로 마이그레이션에 대해 알아보기
Go
이 페이지의 Go 샘플을 로컬 개발 환경에서 사용하려면 gcloud CLI를 설치 및 초기화한 다음 사용자 인증 정보로 애플리케이션 기본 사용자 인증 정보를 설정하세요.
자세한 내용은 다음을 참조하세요: Set up authentication for a local development environment.
Java
이 페이지의 Java 샘플을 로컬 개발 환경에서 사용하려면 gcloud CLI를 설치 및 초기화한 다음 사용자 인증 정보로 애플리케이션 기본 사용자 인증 정보를 설정하세요.
자세한 내용은 다음을 참조하세요: Set up authentication for a local development environment.
Node.js
이 페이지의 Node.js 샘플을 로컬 개발 환경에서 사용하려면 gcloud CLI를 설치 및 초기화한 다음 사용자 인증 정보로 애플리케이션 기본 사용자 인증 정보를 설정하세요.
자세한 내용은 다음을 참조하세요: Set up authentication for a local development environment.
Python
이 페이지의 Python 샘플을 로컬 개발 환경에서 사용하려면 gcloud CLI를 설치 및 초기화한 다음 사용자 인증 정보로 애플리케이션 기본 사용자 인증 정보를 설정하세요.
자세한 내용은 다음을 참조하세요: Set up authentication for a local development environment.
요구사항
이 섹션에서는 영역 및 리전 간 VM 이동을 위한 요구사항을 보여줍니다.
제한사항
리전 간에 VM을 이동하는 경우 VM의 임시 내부 또는 외부 IP 주소를 보존할 수 없습니다. VM을 다시 만들 때는 새 IP 주소를 선택해야 합니다.
리소스 속성
VM을 이동하려면 VM을 종료하고, 이를 대상 영역 또는 리전으로 이동하고, 다시 시작해야 합니다. VM을 이동한 후에는 원본 리소스에 대한 기존 참조(예: 기존 VM을 가리키는 대상 VM 또는 대상 풀)를 업데이트해야 합니다.
이동하는 동안 서버에서 생성되는 VM과 디스크의 일부 속성이 변경됩니다.
변경되는 VM 속성
다음 표에서는 변경되는 VM 속성을 설명합니다.
속성 이름 변경사항 내부 IP 주소 일반적으로 새 내부 IP 주소가 할당되지만 VM이 원래의 내부 IP 주소를 유지할 수도 있습니다. 외부 IP 주소 같은 리전 내의 영역 간에 VM을 이동하는 경우 외부 IP 주소가 동일하게 유지됩니다. 그렇지 않으면 VM 인스턴스의 다른 외부 IP 주소를 선택하세요. CPU 플랫폼 대상 영역에 사용할 수 있는 CPU 플랫폼에 따라, VM을 이동한 후 VM의 CPU 플랫폼이 달라질 수 있습니다. 각 영역에 있는 CPU 플랫폼의 전체 목록은 사용 가능한 리전 및 영역을 참조하세요. 네트워크/서브네트워크 VM이 서브네트워크에 속하고 서로 다른 리전 간에 이동하는 경우에는 VM의 새로운 서브네트워크도 선택해야 합니다. 동일한 리전 내의 영역 간을 이동하는 VM은 동일한 서브네트워크를 유지합니다. 변경되는 디스크 속성
다음 표에서는 변경되는 디스크 속성을 설명합니다.
속성 이름 변경사항 소스 스냅샷 새로운 디스크의 소스 스냅샷은 이동 중에 생성된 임시 스냅샷으로 설정됩니다. 소스 스냅샷 ID 소스 스냅샷 ID는 임시 스냅샷의 ID로 설정됩니다. 소스 이미지 소스 이미지 필드가 비어 있습니다. 이미지 ID 이미지 ID가 비어 있습니다. 마지막으로 분리된 타임스탬프 마지막으로 분리된 타임스탬프가 비어 있습니다. 마지막으로 연결된 타임스탬프 마지막으로 연결된 타임스탬프가 새 인스턴스에 새 디스크가 연결되었을 때의 타임스탬프로 변경됩니다. VM과 디스크에서 모두 변경되는 속성
다음 표에서는 VM과 디스크에서 모두 변경되는 속성을 설명합니다.
속성 이름 변경사항 ID 새 리소스 ID가 생성됩니다. 생성 타임스탬프 새 생성 타임스탬프가 생성됩니다. 영역 리소스 URL 모든 영역 리소스 URL이 대상 영역을 반영하도록 변경됩니다. 다음 목록은 변경되는 리소스 URL을 보여줍니다. 영역 또는 리전 간 VM 이동
영역 또는 리전 간에 VM을 이동하려면 다음을 수행할 수 있습니다.
다음 예시에서는 영역 간에 VM을 이동하는 방법을 보여줍니다.
gcloud
이 예시에서는
mybootdisk
및mydatadisk
라는 영구 디스크 두 개가 포함된myinstance
라는 VM을europe-west1-c
에서us-west1-b
로 이동합니다.Go
Java
Node.js
Python
다음 단계
달리 명시되지 않는 한 이 페이지의 콘텐츠에는 Creative Commons Attribution 4.0 라이선스에 따라 라이선스가 부여되며, 코드 샘플에는 Apache 2.0 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 Google Developers 사이트 정책을 참조하세요. 자바는 Oracle 및/또는 Oracle 계열사의 등록 상표입니다.
최종 업데이트: 2024-12-18(UTC)
-