기존 Compute Engine Windows Server 이미지에서 맞춤설정된 Windows Server 이미지를 만들 수 있습니다. 이러한 커스텀 이미지를 사용하여 기존 인스턴스와 동일한 부팅 디스크로 인스턴스를 만듭니다.
이러한 커스텀 이미지는 기존 인스턴스의 운영체제 구성을 저장하고 동일 구성을 재사용해 다른 인스턴스를 만들 때 유용합니다.
이 섹션에서는 다음 태스크를 다루지 않습니다.
- 공개 이미지나 커스텀 이미지에서 VM을 만듭니다. 대신 새 Windows 인스턴스 만들기를 참조하세요.
- 영구 디스크 백업을 예약합니다. 대신 영구 디스크 스냅샷을 참조하세요.
- Windows Server 또는 SQL Server 시스템을 가져옵니다. 대신 VM Migration 서비스를 사용하세요.
시작하기 전에
-
아직 인증을 설정하지 않았다면 설정합니다.
인증은 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.
- 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.
GCEStartup
예약 태스크를 중지합니다.- 임시 폴더 위치에서 모든 파일을 삭제합니다.
- 모든 Windows 이벤트 로그를 지웁니다.
- sysprep.exe /generalize /oobe /quit /unattend를 실행합니다.
- VM 인스턴스를 처음 부팅할 때 실행할
instance_setup.ps1
을 구성합니다. - RDP 인증서를 삭제합니다.
- 영구 디스크의 저장된 목록을 삭제합니다.
- RDP 및 WinRM 방화벽 규칙을 사용 설정합니다.
- Google OS 구성 서비스를 중지합니다.
- 인스턴스를 종료합니다.
관리자 권한으로
GCESysprep
을 실행합니다.GCESysprep
- 영구 디스크(디스크가 인스턴스에 연결된 경우에도 가능)
- 영구 디스크의 스냅샷
- 프로젝트의 다른 이미지
- 다른 프로젝트에서 공유된 이미지
Cloud Storage에 저장된 가져온 이미지
- Google Cloud 콘솔에서 새 이미지 만들기 페이지로 이동합니다.
- 이미지 이름을 지정합니다.
- 이미지를 만들 Windows 운영체제의 소스 디스크를 선택합니다.
- 이미지를 저장할 위치를 지정합니다. 소스 디스크 위치 기준(기본값) 드롭다운 메뉴에서 이미지 위치를 선택합니다. 예를 들어
us
를 지정하여us
멀티 리전에 이미지를 저장하거나us-central1
을 지정하여us-central1
리전에 저장합니다. 선택하지 않으면 Compute Engine은 이미지의 소스 위치와 가장 가까운 멀티 리전에 이미지를 저장합니다. - 이미지 속성을 지정합니다. 예를 들어 이미지에 이미지 계열 이름을 지정하여 이 이미지를 이미지 계열의 일부로 구성할 수 있습니다.
- 만들기를 클릭합니다.
[DISK_NAME]
은 이미지를 만들 소스 디스크의 이름입니다.[ZONE]
은 디스크 영역입니다.[LOCATION]
은 이미지가 저장될 리전 또는 멀티 리전을 지정할 수 있는 선택적 플래그입니다. 예를 들어us
를 지정하여us
멀티 리전에 이미지를 저장하거나us-central1
을 지정하여us-central1
리전에 저장합니다. 선택하지 않으면 Compute Engine은 이미지의 소스 위치와 가장 가까운 멀티 리전에 이미지를 저장합니다.- 선택사항인
--force
는 디스크가 실행 중인 인스턴스에 연결된 상태여도 이미지를 만드는 플래그입니다. 이 옵션을 사용하면 이미지의 무결성이 손상될 수 있습니다. 가능하다면 이미지를 만들기 전에 인스턴스를 중지합니다. [PROJECT_ID]
는 이 요청의 프로젝트 ID입니다.[FORCE_OPTION]
은 소스 디스크가 실행 중인 인스턴스에 연결된 상태여도 이미지를 만드는 옵션입니다. 이 옵션을 설정하려면 POST 줄 끝에forceCreate=true
를 지정합니다. 이 옵션을 사용하면 이미지의 무결성이 손상될 수 있습니다. 가능하다면 이미지를 만들기 전에 인스턴스를 중지합니다.[IMAGE_NAME]
은 이미지에 제공한 이름입니다.[ZONE]
은 이미지를 만들 소스 디스크의 영역입니다.[DISK_NAME]
은 소스 디스크의 이름입니다.[LOCATION]
은 이미지의 멀티 리전 또는 리전 스토리지 위치를 선택할 수 있도록 하는 선택적 매개변수입니다. 예를 들어us
를 지정하여us
멀티 리전에 이미지를 저장하거나us-central1
을 지정하여us-central1
리전에 저장합니다. 선택하지 않으면 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.
REST
로컬 개발 환경에서 이 페이지의 REST API 샘플을 사용하려면 gcloud CLI에 제공한 사용자 인증 정보를 사용합니다.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
자세한 내용은 Google Cloud 인증 문서의 REST 사용을 위한 인증을 참고하세요.
Windows Server 이미지 만들기 준비
이미지를 만들기 전에 인스턴스에서
GCESysprep
을 실행해 이미지 생성 프로세스를 준비합니다.GCESysprep
은 다음 단계를 완료하여 Compute Engine 이미지가 되도록 인스턴스를 준비합니다.GCESysprep
작업은 Windows 이벤트 로그 및 직렬 포트 1에 로깅됩니다. Sysprep은 여러 로그 파일에 작성합니다.GCESysprep
을 사용하여 Compute Engine 이미지를 만드는 방법은 다음과 같습니다.이미지 위치 지정
커스텀 이미지를 만들 때 이중 리전 위치를 제외하고 이미지의 Cloud Storage 위치를 지정할 수 있습니다. 이미지 스토리지 위치를 지정하면 데이터 위치에 대한 규제 및 규정 준수 요구사항뿐 아니라 여러 리전 간에 데이터 중복성을 보장함으로써 고가용성 요건을 충족할 수 있습니다.
스토리지 위치 기능은 선택사항입니다. 위치를 선택하지 않으면 Compute Engine은 이미지 소스와 가장 가까운 멀티 리전에 이미지를 저장합니다. 소스 디스크, 이미지, 스냅샷, Cloud Storage에 저장된 이미지에서 커스텀 이미지를 만들 수 있습니다. 이러한 이미지를 사용하여 새 VM 인스턴스를 만들 수 있습니다.
이 기능이 출시되기 이전의 모든 기존 이미지는 현재 위치에 그대로 유지됩니다. 유일한 변경사항은 모든 이미지의 이미지 위치를 볼 수 있다는 것입니다. 기존 이미지를 옮기려면 원하는 위치에서 이 이미지를 다시 만들어야 합니다.
Windows 이미지 만들기
다음 소스에서 디스크 이미지를 만들 수 있습니다.
콘솔
gcloud
gcloud compute
를images create
와 함께 사용하고 이미지를 만들 소스 영구 디스크를 제공합니다. 원하는 경우 실행 중인 인스턴스에 연결되어 있어도 이미지를 만들도록--force
플래그를 포함합니다.gcloud compute images create example-image --source-disk [DISK_NAME] \ --source-disk-zone [ZONE] \ --storage-location [LOCATION] \ [--force]
이 명령어를 실행하면
gcloud compute
에서 제공된 영구 디스크를 기반으로 새 이미지를 만들어 컬렉션에 추가합니다. 다음을 실행하면 이미지가 성공적으로 만들어졌는지 확인할 수 있습니다.gcloud compute images list
Go
이 샘플을 사용해 보기 전에 Compute Engine 빠른 시작: 클라이언트 라이브러리 사용의 Go 설정 안내를 따르세요. 자세한 내용은 Compute Engine Go API 참고 문서를 확인하세요.
Compute Engine에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
자바
이 샘플을 사용해 보기 전에 Compute Engine 빠른 시작: 클라이언트 라이브러리 사용의 Java 설정 안내를 따르세요. 자세한 내용은 Compute Engine Java API 참고 문서를 확인하세요.
Compute Engine에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Node.js
Node.js
이 샘플을 사용해 보기 전에 Compute Engine 빠른 시작: 클라이언트 라이브러리 사용의 Node.js 설정 안내를 따르세요. 자세한 내용은 Compute Engine Node.js API 참고 문서를 확인하세요.
Compute Engine에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Python
Python
이 샘플을 사용해 보기 전에 Compute Engine 빠른 시작: 클라이언트 라이브러리 사용의 Python 설정 안내를 따르세요. 자세한 내용은 Compute Engine Python API 참고 문서를 확인하세요.
Compute Engine에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
REST
요청 본문에
sourceDisk
URL을 포함하여images().insert
메서드에POST
요청을 실행합니다.POST https://compute.googleapis.com/compute/v1/projects/[PROJECT_ID]/global/images?[FORCE_OPTION] { "name": "[IMAGE_NAME]", "sourceDisk": "zones/[ZONE]/disks/[DISK_NAME]", "storageLocations": "[LOCATION]", }
각 항목의 의미는 다음과 같습니다.
이미지 추가에 대한 상세 설명은 이미지 참조를 확인하세요.
Windows 에이전트 및 스크립트 업데이트
Compute Engine에서 최신 에이전트 및 스크립트가 포함된 새 Windows 이미지가 출시되는 경우가 가끔 있습니다. 이 같은 항목은 시작 및 종료 프로세스, 계정 관리, 주소 관리와 함께 Windows 인스턴스를 지원합니다.
Windows 이미지 버전
v20160112
부터 Windows 에이전트는 업스트림 출시를 통해 자체 업데이트되고 있습니다.disable-agent-updates
인스턴스 메타데이터 키를true
로 설정하면 에이전트 업데이트를 중지할 수 있습니다. 이전에 출시된 이미지를 사용하는 인스턴스가 있는 경우에는 해당 인스턴스의 Windows 에이전트를 수동으로 업데이트하면 됩니다.다음 단계
달리 명시되지 않는 한 이 페이지의 콘텐츠에는 Creative Commons Attribution 4.0 라이선스에 따라 라이선스가 부여되며, 코드 샘플에는 Apache 2.0 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 Google Developers 사이트 정책을 참조하세요. 자바는 Oracle 및/또는 Oracle 계열사의 등록 상표입니다.
최종 업데이트: 2024-12-22(UTC)
-