Compute Engine 부팅 디스크 데이터를 Compute Engine 프로젝트 외부로 이전해야 하는 경우 부팅 디스크 이미지를 tar.gz
파일로 Cloud Storage에 내보낼 수 있습니다. Compute Engine에서 새 영구 디스크를 만들 때 사용할 영구 디스크 이미지를 만들어야 하는 경우 커스텀 이미지 만들기를 참조하세요.
이미지를 Cloud Storage로 내보내서 커스텀 이미지를 백업 또는 공유할 수 있습니다. 이 방법은 개별 이미지를 이미지에 액세스할 수 없는 프로젝트와 공유하는 데 적합합니다. 또는 이미지나 이미지를 포함하는 프로젝트에서 Compute Engine 이미지 사용자 역할을 부여하면 이미지를 공유할 수 있습니다.
다음 다이어그램은 커스텀 이미지 만들기와 재사용의 몇 가지 일반적 워크플로를 보여 줍니다.
시작하기 전에
- 이미지 페이지를 읽습니다.
- 이미지를 내보내려는 프로젝트에 신뢰할 수 있는 이미지 정책이 정의되어 있으면 허용된 게시자 목록에
projects/compute-image-import
및projects/compute-image-tools
를 추가합니다. - 이미지를 내보내기 전에 요구사항을 충족하는 방법을 알아보려면 VM 이미지 가져오기 및 내보내기 기본 요건을 참조하세요.
-
아직 인증을 설정하지 않았다면 설정합니다.
인증은 Google Cloud 서비스 및 API에 액세스하기 위해 ID를 확인하는 프로세스입니다.
로컬 개발 환경에서 코드 또는 샘플을 실행하려면 다음 옵션 중 하나를 선택하여 Compute Engine에 인증하면 됩니다.
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
- 이미지가 있는 같은 프로젝트에서 내보내기
- 수동으로 이미지 내보내기
Google Cloud 콘솔에서 이미지 페이지로 이동합니다.
내보내려는 이미지의 이름을 클릭하여 이미지 세부정보 페이지로 이동합니다. Google에서 제공하는 공개 이미지는 내보낼 수 없습니다. 이전에 만들거나 가져온 이미지만 내보낼 수 있습니다.
이미지 세부정보 페이지에서 내보내기를 클릭하여 이미지 내보내기 페이지를 엽니다.
이미지 내보내기 페이지에서 이미지의 내보내기 형식을 선택합니다.
찾아보기를 클릭하여 이미지를 내보낼 Cloud Storage 위치를 선택합니다.
기존 Cloud Storage 위치를 선택하여 이미지를 내보냅니다. 또는 안내에 따라 새 Cloud Storage 버킷을 만들고 새 Cloud Storage 버킷의 이름을 입력합니다.
Cloud Storage를 선택한 후 내보낸 이미지의 파일 이름을 선택합니다. 기본 파일 이름을 사용하거나 직접 파일 이름을 선택할 수 있습니다.
Cloud Storage를 선택하고 이미지의 파일 이름을 입력한 후 선택을 클릭합니다.
이미지 내보내기 페이지에서 내보내기를 클릭합니다. 내보내기를 선택하면 Google Cloud 콘솔에 이미지 내보내기 프로세스를 볼 수 있는 이미지 내보내기 기록이 표시됩니다. 이미지 내보내기 프로세스에 대한 자세한 내용을 보려면 Cloud Build ID를 클릭하여 이미지 내보내기 로그를 보고 다운로드할 수 있는 이미지 내보내기 세부정보 페이지로 이동합니다.
Storage 페이지로 이동하여 내보낸 이미지에 액세스합니다.
DESTINATION_URI
: 내보낸 이미지 파일의 Cloud Storage URI 대상입니다.IMAGE_NAME
: 내보낼 디스크 이미지의 이름입니다.PROJECT_ID
: 내보낼 이미지가 포함된 프로젝트의 프로젝트 ID입니다.SOURCE_IMAGE
: 내보낼 이미지의 이름입니다.IMAGE_FORMAT
: 내보낸 이미지의 형식입니다. 유효한 형식에는vmdk
,vhdx
,vpc
,vdi
,qcow2
가 있습니다.DESTINATION_URI
: 이미지 파일을 내보낼 Cloud Storage URI 위치입니다. 예를 들면gs://my-bucket/my-exported-image.vmdk
입니다.- 반환된
build-id
를 사용하여 projects.builds.get 요청을 실행합니다. - 제공된
logUrl
에서 호스팅된 로그를 검토합니다. 서비스 계정을 만들고 최소 역할을 할당합니다. 서비스 계정 만들기에 대한 자세한 내용은 서비스 계정 만들기 및 관리를 참조하세요.
지정된 Compute Engine 서비스 계정에는 최소한 다음 역할이 할당되어 있어야 합니다.
roles/compute.storageAdmin
roles/storage.objectAdmin
자세한 내용은 Compute Engine 서비스 계정에 필요한 역할 부여를 참조하세요.
gcloud compute images export
명령어를 사용하여 이미지를 내보냅니다.gcloud compute images export \ --destination-uri DESTINATION_URI \ --image IMAGE_NAME \ --compute-service-account SERVICE_ACCOUNT_EMAIL
다음을 바꿉니다.
DESTINATION_URI
: 내보낸 이미지 파일의 Cloud Storage URI 대상입니다.IMAGE_NAME
: 내보낼 디스크 이미지의 이름입니다.SERVICE_ACCOUNT_EMAIL
: 이전 단계에서 만든 Compute Engine 서비스 계정과 연결된 이메일 주소입니다.
서비스 계정을 만들고 최소 역할을 할당합니다. 서비스 계정 만들기에 대한 자세한 내용은 서비스 계정 만들기 및 관리를 참조하세요.
지정된 Compute Engine 서비스 계정에는 최소한 다음 역할이 할당되어 있어야 합니다.
roles/compute.storageAdmin
roles/storage.objectAdmin
자세한 내용은 Compute Engine 서비스 계정에 필요한 역할 부여를 참조하세요.
API에서 Cloud Build API에 대한
POST
요청을 만듭니다.POST https://cloudbuild.googleapis.com/v1/projects/PROJECT_ID/builds { "timeout": "7200s", "steps":[ { "args":[ "-timeout=7000s", "-source_image=SOURCE_IMAGE", "-client_id=api", "-format=IMAGE_FORMAT", "-destination_uri=DESTINATION_URI", "-compute_service_account=SERVICE_ACCOUNT_EMAIL" ], "name":"gcr.io/compute-image-tools/gce_vm_image_export:release", "env":[ "BUILD_ID=$BUILD_ID" ] } ], "tags":[ "gce-daisy", "gce-daisy-image-export" ] }
다음을 바꿉니다.
PROJECT_ID
: 내보낼 이미지가 포함된 프로젝트의 프로젝트 ID입니다.SOURCE_IMAGE
: 내보낼 이미지의 이름입니다.IMAGE_FORMAT
: 내보낸 이미지의 형식입니다. 유효한 형식에는vmdk
,vhdx
,vpc
,vdi
,qcow2
가 있습니다.DESTINATION_URI
: 이미지 파일을 내보낼 Cloud Storage URI 위치입니다. 예를 들면gs://my-bucket/my-exported-image.vmdk
입니다.SERVICE_ACCOUNT_EMAIL
: 이전 단계에서 만든 Compute Engine 서비스 계정과 연결된 이메일 주소입니다.
IMAGE_NAME
: 내보낼 이미지의 이름입니다.DESTINATION_URI
: 이미지 파일을 내보낼 Cloud Storage URI 위치입니다.PROJECT_ID
: 이미지가 있는 프로젝트의 ID입니다.NETWORK
: 공유 VPC 네트워크의 전체 경로입니다. 예를 들면projects/HOST_PROJECT_ID/global/networks/VPC_NETWORK_NAME
입니다.SUBNET
: 선택사항. 공유 VPC 서브네트워크의 전체 경로입니다. 예를 들면projects/HOST_PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME
입니다.이 모드를 지정하는 방법은 VPC 네트워크 모드에 따라 다릅니다.
- VPC 네트워크가 레거시 모드를 사용하는 경우 서브넷을 지정하지 마세요.
- VPC 네트워크가 자동 모드를 사용하는 경우 서브넷을 지정하는 것은 선택사항입니다.
- VPC 네트워크가 커스텀 모드를 사용하는 경우 이 필드를 지정해야 합니다.
ZONE
: 선택사항. 내보내기에 사용할 영역입니다. 이 영역은 서브넷의 리전과 일치해야 합니다. 예를 들어SUBNET
이us-west1
리전에 있는 경우 내보내기 영역은us-west1-a
,us-west1-b
또는us-west1-c
중 하나여야 합니다.SUBNET
를 지정한 경우 영역도 지정해야 합니다.Cloud Storage에 이미지를 추가합니다.
API에서 Cloud Build API에 대한
POST
요청을 만듭니다.POST https://cloudbuild.googleapis.com/v1/projects/PROJECT_ID/builds { "timeout": "7200s", "steps":[ { "args":[ "-timeout=7000s", "-source_image=SOURCE_IMAGE", "-client_id=api", "-format=IMAGE_FORMAT", "-destination_uri=DESTINATION_URI", "-network=NETWORK", "-subnet=SUBNET", "-zone=ZONE" ], "name":"gcr.io/compute-image-tools/gce_vm_image_export:release", "env":[ "BUILD_ID=$BUILD_ID" ] } ], "tags":[ "gce-daisy", "gce-daisy-image-export" ] }
다음을 바꿉니다.
PROJECT_ID
: 내보낼 이미지가 포함된 프로젝트의 프로젝트 ID입니다.SOURCE_IMAGE
: 내보낼 이미지의 이름입니다.IMAGE_FORMAT
: 내보낸 이미지의 형식입니다. 유효한 형식에는vmdk
,vhdx
,vpc
,vdi
,qcow2
가 있습니다.DESTINATION_URI
: 이미지 파일을 내보낼 Cloud Storage URI 위치입니다. 예를 들면gs://my-bucket/my-exported-image.vmdk
입니다.NETWORK
: 공유 VPC 네트워크의 전체 경로입니다. 예를 들면projects/HOST_PROJECT_ID/global/networks/VPC_NETWORK_NAME
입니다.SUBNET
: 공유 VPC 서브네트워크의 전체 경로입니다. 예를 들면projects/HOST_PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME
입니다.이 모드를 지정하는 방법은 VPC 네트워크 모드에 따라 다릅니다.
- VPC 네트워크가 레거시 모드를 사용하는 경우 서브넷을 지정하지 마세요.
- VPC 네트워크가 자동 모드를 사용하는 경우 서브넷을 지정하는 것은 선택사항입니다.
- VPC 네트워크가 커스텀 모드를 사용하는 경우 이 필드를 지정해야 합니다.
ZONE
: 내보내기에 사용할 영역입니다. 이 영역은 서브넷의 리전과 일치해야 합니다. 예를 들어SUBNET
이us-west1
리전에 있는 경우 내보내기 영역은us-west1-a
,us-west1-b
또는us-west1-c
중 하나여야 합니다.대부분의 경우 영역 지정은 선택사항입니다.
SUBNET
이 지정되었으면 영역을 지정해야 합니다.
제공할 수 있는 추가
args
값은 VM 이미지 내보내기 GitHub 페이지의 선택적 플래그 섹션을 참조하세요.선택사항: 스냅샷을 만들기 전에 디스크가 연결된 인스턴스를 중지합니다. 인스턴스를 중지하면 스냅샷 내 디스크 내용의 무결성이 보장됩니다.
디스크의 스냅샷을 만듭니다. 스냅샷 이름을
image-snapshot
으로 지정합니다.gcloud compute disks snapshot DISK_NAME \ --snapshot-names image-snapshot
DISK_NAME
을 스냅샷을 만드는 데 사용할 디스크의 이름으로 바꿉니다. 디스크를 나열하여 디스크의 이름을 찾을 수 있습니다.다음 명령어를 실행하여
image-snapshot
스냅샷으로image-disk
라는 새 디스크를 만듭니다.gcloud compute disks create image-disk \ --source-snapshot image-snapshot
tar
파일을 저장할temporary-disk
라는 임시 디스크를 만들고 디스크SIZE
를 이미지 디스크보다 최소 50% 이상 크게 지정합니다.나중에 디스크를 분리하고 삭제할 수 있습니다.
gcloud compute disks create temporary-disk \ --size SIZE
여기서
SIZE
는 임시 디스크의 크기(GB 또는 TB)입니다. 예를 들어100GB
를 지정하면 100GB 디스크가 생성됩니다.인스턴스를 만들고 인스턴스에서
storage-rw
범위를 사용 설정합니다. 또한image-disk
와temporary-disk
를 특정device-name
속성이 있는 보조 디스크로 인스턴스에 연결합니다.VM_NAME
을 만들 인스턴스의 이름으로 바꿉니다.gcloud compute instances create VM_NAME \ --scopes storage-rw \ --disk name=image-disk,device-name=image-disk \ --disk name=temporary-disk,device-name=temporary-disk
이후 단계에서 Cloud Storage에 파일을 업로드할 수 있도록 서비스 계정 범위를 전달합니다.
필요한 경우 새 인스턴스 시작의 세부정보를 확인합니다.
인스턴스에 연결
VM_NAME
을 연결할 인스턴스의 이름으로 바꿉니다.gcloud compute ssh VM_NAME
임시 디스크를 포맷하고 마운트합니다. 디스크를 포맷하면 임시 디스크의 내용이 삭제됩니다.
sudo mkdir /mnt/tmp
sudo mkfs.ext4 -F /dev/disk/by-id/google-temporary-disk
sudo mount -o discard,defaults /dev/disk/by-id/google-temporary-disk /mnt/tmp
선택사항:
tar
파일을 만들기 전에 이미지 디스크를 마운트하고 추가 변경사항을 적용합니다. 예를 들어 기존 파일을 이미지에 포함하지 않으려면/home
디렉터리에서 삭제하면 됩니다. 수정할 디스크 파티션을 마운트한 다음 변경해야 하는 디스크의 파일을 수정하고 작업이 끝나면 마운트를 해제하세요.디스크나 파티션을 마운트할 수 있는 디렉터리를 만듭니다.
sudo mkdir /mnt/image-disk
ls
명령어를 사용하여 마운트해야 하는 디스크나 디스크 파티션을 결정합니다.ls /dev/disk/by-id/
명령어는 디스크 ID와 파티션 목록을 출력합니다. 예를 들어 다음 디스크에는 파티션이 하나인 파티션 테이블이 있습니다.
google-image-disk
ID는 이미지를 만들려는 디스크 전체를 가리킵니다.google-image-disk-part1
ID는 이 디스크의 첫 번째 파티션을 가리킵니다. 디스크에 변경사항을 적용해야 하는 경우 파티션을 마운트한 후 전체 디스크에서 이미지를 만듭니다.google-image-disk google-image-disk-part1
디스크나 파티션을 마운트합니다. 디스크에 파티션 테이블이 있으면 개별 파티션을 디스크에 마운트합니다. 예를 들면
google-image-disk-part1
을 마운트합니다.sudo mount /dev/disk/by-id/google-image-disk-part1 /mnt/image-disk
또는 디스크가 파티션 테이블이 없는 원시 형식이라면 전체
google-image-disk
디스크를 마운트합니다.sudo mount /dev/disk/by-id/google-image-disk /mnt/image-disk
/mnt/image-disk
디렉터리의 파일을 수정하여 디스크의 파일을 구성합니다. 예를 들어 SSH 키가 공유되지 않도록/mnt/image-disk/home/[USER]/.ssh/authorized_keys
파일을 삭제할 수도 있습니다.파일 수정이 완료되면 디스크를 마운트 해제합니다.
sudo umount /mnt/image-disk/
이미지의
tar
파일을 만듭니다.이미지 디스크에서 파일의 맞춤설정이 끝나면 임시 디스크에서 원시 디스크 파일을 생성하세요. 원시 디스크 이미지의 이름은 'disk.raw'여야 합니다.
sudo dd if=/dev/disk/by-id/google-image-disk of=/mnt/tmp/disk.raw bs=4096
그런 다음
tar.gz
파일을 만듭니다.cd /mnt/tmp
sudo tar czvf myimage.tar.gz disk.raw
이 명령어는 다음 위치에서 인스턴스의 이미지를 만듭니다.
/mnt/tmp/myimage.tar.gz
Cloud Storage에 이미지를 업로드합니다.
Cloud Storage에
tar
파일을 업로드하려면 인스턴스에 사전 설치된 Google Cloud CLI를 사용합니다.gcloud CLI를 사용하여 버킷을 만듭니다.
버킷을 만들기 전에 버킷 및 객체 이름 지정 가이드라인을 검토하세요. 검토 후 다음 명령어를 사용하여 버킷을 만듭니다.
BUCKET_NAME
을 만들 버킷의 이름으로 바꿉니다.me@example-instance:~$ gcloud storage buckets create gs://BUCKET_NAME
파일을 새 버킷에 복사합니다.
BUCKET_NAME
을 파일을 복사할 버킷의 이름으로 바꿉니다.me@example-instance:~$ gcloud storage cp /mnt/tmp/myimage.tar.gz gs://BUCKET_NAME
- 이미지 사용자 역할을 사용하여 이미지 공유
- Compute Engine에서 사용할 수 있는 가져오기 방법에 대해 알아보기
REST
로컬 개발 환경에서 이 페이지의 REST API 샘플을 사용하려면 gcloud CLI에 제공한 사용자 인증 정보를 사용합니다.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
자세한 내용은 Google Cloud 인증 문서의 REST 사용을 위한 인증을 참고하세요.
제한 및 제약사항
이미지 내보내기 프로세스에는 다음과 같은 제한사항이 적용됩니다.
일반 제한
이미지를 내보내면 이미지를 내보내는 머신에 세션이 생성됩니다. 이 세션은 내보내기 프로세스가 완료될 때까지 활성 상태로 유지되어야 합니다. 내보내기 프로세스가 완료되기 전에 세션이 종료되면 임시 디스크, VM 인스턴스, 스토리지 버킷과 같은 임시 리소스가 삭제되지 않을 수 있습니다. 이 경우 이러한 임시 리소스를 수동으로 삭제해야 합니다.
내보내기 프로세스는 Cloud Build를 사용하여 이미지를 내보냅니다. Cloud Build 세션은 최대 24시간 동안 지속됩니다. 이미지가 매우 커서 내보내는 데 24시간 이상 걸리는 경우 이미지를 수동으로 내보내기할 수 있습니다.
VPC 서비스 제어 제한사항
VPC 서비스 제어로 보호되는 프로젝트의 경우 다음 방법 중 하나를 사용합니다.
단일 명령어로 이미지 내보내기
Cloud Storage로 이미지 내보내기
Google Cloud 콘솔, Google Cloud CLI 또는 REST를 사용하여 이미지를 내보낼 수 있습니다.
콘솔
gcloud
이미지를 Cloud Storage로 내보내는 가장 좋은 방법은
gcloud compute images export
명령어를 사용하는 것입니다. 이 명령어는 Daisy를 사용하여 이미지를 내보내는 데 필요한 여러 단계를 연결합니다. 예를 들어gcloud compute images create
명령어를 사용하여 이미 이미지를 만들었다고 가정합니다.Google Cloud CLI를 사용하여 다음을 실행합니다.
gcloud compute images export \ --destination-uri DESTINATION_URI \ --image IMAGE_NAME
다음을 바꿉니다.
기본적으로 이미지는 tar 및 gzip으로 압축된
disk.raw
파일인 Compute Engine 형식으로 내보내집니다. QEMU 디스크 이미지 유틸리티에서 지원되는 다른 형식으로 이미지를 내보내려면--export-format
플래그를 사용할 수 있습니다. 유효한 형식에는vmdk
,vhdx
,vpc
,vdi
,qcow2
가 있습니다.예시
예를 들어 다음 명령어는
my-image
라는 이미지를my-project
에서my-bucket
이라는 Cloud Storage 버킷으로 내보냅니다. 기본적으로 이미지는disk.raw file
로 내보내고tar.gz
파일 형식으로 압축됩니다.gcloud compute images export \ --destination-uri gs://my-bucket/my-image.tar.gz \ --image my-image \ --project my-project
플래그에 대해서는
gcloud compute images export
참조 문서를 확인하세요.REST
Cloud Build API에
POST
요청을 전송합니다.POST https://cloudbuild.googleapis.com/v1/projects/PROJECT_ID/builds { "timeout": "7200s", "steps":[ { "args":[ "-timeout=7000s", "-source_image=SOURCE_IMAGE", "-client_id=api", "-format=IMAGE_FORMAT", "-destination_uri=DESTINATION_URI" ], "name":"gcr.io/compute-image-tools/gce_vm_image_export:release", "env":[ "BUILD_ID=$BUILD_ID" ] } ], "tags":[ "gce-daisy", "gce-daisy-image-export" ] }
다음을 바꿉니다.
제공할 수 있는 추가
args
값은 VM 이미지 내보내기 GitHub 페이지의 선택적 플래그 섹션을 참조하세요.응답 예시
다음 샘플 응답은 반환된 출력과 유사합니다.
{ "name": "operations/build/myproject-12345/operation-1578608233418", "metadata": { "@type": "type.googleapis.com/google.devtools.cloudbuild.v1.BuildOperationMetadata", "build": { "id": "3a2055bc-ccbd-4101-9434-d376b88b8940", "status": "QUEUED", "createTime": "2019-10-02T18:59:13.393492020Z", "steps": [ { "name": "gcr.io/compute-image-tools/gce_vm_image_export:release", "env": [ "BUILD_ID=3a2055bc-ccbd-4101-9434-d376b88b8940" ], "args": [ "-timeout=7056s", "-source_image=my-image", "-client_id=api", "-format=vmdk", "-destination_uri=gs://my-bucket/my-exported-image.vmdk" ] } ], "timeout": "7200s", "projectId": "myproject-12345", "logsBucket": "gs://123456.cloudbuild-logs.googleusercontent.com", "options": { "logging": "LEGACY" }, "logUrl": "https://console.cloud.google.com/cloud-build/builds/3a2055bc-ccbd-4101-9434-d376b88b8940?project=123456" } }
빌드를 모니터링하는 몇 가지 방법은 다음과 같습니다.
커스텀 Compute Engine 서비스 계정을 사용하여 프로젝트에서 이미지 내보내기
이미지를 내보내는 동안 프로젝트에 임시 가상 머신(VM) 인스턴스가 생성됩니다. 이 임시 VM의 이미지 내보내기 도구는 인증을 받아야 합니다.
서비스 계정은 VM에 연결된 ID입니다. 서비스 계정 액세스 토큰은 인스턴스 메타데이터 서버를 통해 액세스할 수 있으며 VM에서 이미지 내보내기 도구를 인증하는 데 사용됩니다.
기본적으로 내보내기 프로세스는 프로젝트의 기본 Compute Engine 서비스 에이전트를 사용합니다. 하지만 프로젝트에서 기본 Compute Engine 서비스 계정이 사용 중지되어 있거나 커스텀 Compute Engine 서비스 계정을 사용하려는 경우 서비스 계정을 만든 후 이를 내보내기 프로세스에 지정해야 합니다.
Google Cloud CLI 또는 REST를 사용하여 이미지를 내보낼 수 있습니다.
gcloud
예시
예를 들어 다음 명령어는
image-export-service-account@proj-12345.iam.gserviceaccount.com
이메일이 포함된 서비스 계정을 통해my-image
라는 이미지를my-project
에서my-bucket
이라는 Cloud Storage 버킷으로 내보냅니다. 기본적으로 이미지는disk.raw
파일로 내보내지고tar.gz
파일 형식으로 압축됩니다.gcloud compute images export \ --destination-uri gs://my-bucket/my-image.tar.gz \ --image my-image \ --project my-project \ --compute-service-account image-export-service-account@proj-12345.iam.gserviceaccount.com
플래그에 대해서는
gcloud compute images export
참조 문서를 확인하세요.REST
제공할 수 있는 추가
args
값은 VM 이미지 내보내기 GitHub 페이지의 선택적 플래그 섹션을 참조하세요.공유 VPC를 사용하여 이미지 내보내기
공유 VPC를 사용하는 이미지를 내보내려면 먼저
compute.networkUser
역할을 Cloud Build 서비스 계정에 추가해야 합니다. 자세한 내용은 Cloud Build 서비스 계정에 필요한 역할 부여를 참조하세요.Google Cloud CLI 또는 REST를 사용하여 이미지를 내보낼 수 있습니다.
gcloud
gcloud compute images export
명령어를 사용하여 이미지를 내보냅니다.gcloud compute images export \ --image IMAGE_NAME \ --destination-uri DESTINATION_URI \ --project PROJECT_ID \ --network NETWORK \ --subnet SUBNET \ --zone ZONE
다음을 바꿉니다.
예를 들어 다음 명령어는
example-image
라는 이미지를my-project
에서my-bucket
이라는 Cloud Storage 버킷으로 내보냅니다. 이 예시에서 Virtual Private Cloud 네트워크(my-shared-vp
)는 커스텀 서브넷(my-custom-subnet
)을 사용합니다. 기본적으로 이미지는disk.raw
파일로 내보내지고tar.gz
파일 형식으로 압축됩니다.명령어 샘플
gcloud compute images export \ --image example-image \ --destination-uri gs://my-bucket/my-image.tar.gz \ --project my-project \ --network projects/my-vpc-project/global/networks/my-shared-vpc \ --subnet projects/my-vpc-project/regions/us-west1/subnetworks/my-custom-subnet \ --zone us-west1-c
REST
수동으로 이미지 만들기 및 내보내기
gcloud compute images create
명령어와gcloud compute images export
명령어가 요구사항을 충족하지 못하면 Compute Engine 인스턴스에서 수동으로 이미지를 만들고 내보낼 수 있습니다. 이 프로세스에는 먼저 이미지를 만든 후 내보내는 별도의 단계가 있습니다.다음 예시에서는 생성된 디스크를 image-disk라고 부릅니다.
이미지를 만들고 내보내려면 다음 안내를 따르세요.
파일을 Cloud Storage로 내보냈습니다. 이제 이미지를 다른 사람과 공유하거나
tar
파일을 사용하여 새 이미지를 Google Cloud 콘솔 프로젝트에 추가할 수 있습니다.다음 단계
달리 명시되지 않는 한 이 페이지의 콘텐츠에는 Creative Commons Attribution 4.0 라이선스에 따라 라이선스가 부여되며, 코드 샘플에는 Apache 2.0 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 Google Developers 사이트 정책을 참조하세요. 자바는 Oracle 및/또는 Oracle 계열사의 등록 상표입니다.
최종 업데이트: 2024-12-22(UTC)
-