Windows Server 2008 R2를 실행하는 가상 머신(VM) 인스턴스가 있는 경우 gcloud CLI를 사용하여 Windows Server 2012 R2로 자동으로 업그레이드할 수 있습니다.
수동 업그레이드를 수행하는 대신 gcloud CLI를 사용하여 인플레이스(In-Place) 업그레이드를 수행할 수 있습니다. 업그레이드 프로세스를 자동화하면 gcloud CLI를 사용하여 업그레이드해야 하는 각 VM 인스턴스에 필요한 노력을 줄일 수 있습니다.
VM 인플레이스(In-Place) 업그레이드 중에 gcloud CLI에서 다음 단계를 수행합니다.
- VM을 중지합니다.
- 표준 Persistent Disk 스냅샷을 백업으로 만듭니다.
- 부팅 디스크 복사본을 만들어 원래 부팅 디스크를 백업으로 유지합니다.
- Windows 2012 R2 설치 미디어가 포함된 설치 디스크를 연결합니다.
- 설치 디스크에서 Windows 설정(
setup.exe
)을 실행하여 무인 모드에서 업그레이드를 수행합니다. - 업그레이드 후 구성을 적용합니다.
- 설치 디스크를 분리합니다.
- VM을 중지합니다.
제한사항
gcloud CLI를 사용하여 Windows Server 2008 R2에서 Windows Server 2012 R2로 업그레이드할 수 있습니다. 이 방법은 Google에서 제공하는 공개 운영체제 이미지를 기반으로 하는 VM 인스턴스만 지원합니다. Windows Server의 다른 구성을 업그레이드하거나 Bring Your Own License(사용자 라이선스 사용)를 위해 VM 인스턴스를 업그레이드하려면 Windows Server의 인플레이스(In-Place) 업그레이드 수행을 참조하세요.
비용
Windows Server의 인플레이스(In-Place) 업그레이드를 수행하는 데 요금이 부과되지 않습니다. 업그레이드 시 다음과 같이 사용한 리소스에 대해서만 비용이 청구됩니다.
가격 계산기를 사용하면 예상 사용량을 기준으로 예상 비용을 산출할 수 있습니다.
시작하기 전에
- Windows Server의 인플레이스(In-Place) 업그레이드 수행에 대한 제한사항 및 가능한 대안을 이해해야 합니다.
- Windows 업데이트를 사용하여 Windows Server가 최신 상태인지 확인합니다.
- 바이러스 백신과 스파이웨어 백신뿐만 아니라 업그레이드를 방해할 수 있거나 업그레이드하려는 Windows Server 버전과 호환되지 않는 기타 에이전트를 사용 중지하거나 제거합니다.
- Microsoft 설명서에서 Windows Server 2012 R2의 기본 요건과 잠재적인 제한사항을 검토합니다.
- VM 인스턴스가 Windows Server 2012의 시스템 요구사항을 충족하고 사용 가능한 디스크 공간이 충분한지 확인합니다.
- Windows Server 2012 R2에 대한 서버 역할 업그레이드를 위한 권장사항, 알려진 문제, 업그레이드 프로세스를 검토합니다.
- 인플레이스(In-Place) 업그레이드 계획을 위한 권장사항을 검토합니다.
- Windows Server 2012 R2에서 삭제되었거나 지원 중단된 기능의 영향을 받지 않는지 확인합니다.
- 커스텀 소프트웨어 또는 서드 파티 소프트웨어가 Windows Server 2012 R2와 호환되는지 확인합니다.
- 계속하기 전에 다음 Cloud IAM 역할 중 하나가 부여되었는지 확인합니다.
- 이 가이드에서는 Cloud Shell을 사용하여 gcloud CLI를 실행합니다. 대신 로컬 컴퓨터에서 gcloud CLI를 실행하려면 먼저 최신 gcloud CLI를 다운로드 및 설치합니다.
업그레이드 시작
다음 섹션에서는 VM 인스턴스를 업그레이드하는 과정을 안내합니다.
Google Cloud 콘솔에서 Cloud Shell 활성화 버튼을 클릭하여 Cloud Shell을 엽니다.
기본 프로젝트 ID를 설정합니다.
PROJECT_ID
를 Compute Engine 프로젝트의 이름으로 바꿉니다.gcloud config set project PROJECT_ID
다음 명령어를 실행하여 업그레이드를 시작합니다.
gcloud beta compute os-config os-upgrade VM_NAME \ --zone=
ZONE
\ --source-os=windows-2008r2 \ --target-os=windows-2012r2 \ --async \ --auto-rollback다음을 바꿉니다.
VM_NAME
: 업그레이드할 VM 인스턴스의 이름입니다.ZONE
: VM 인스턴스가 실행 중인 영역입니다.
--async
플래그는 gcloud CLI에 Cloud Build를 사용하여 백그라운드에서 업그레이드를 실행하도록 지시합니다. 백그라운드에서 업그레이드를 실행하면 다수의 VM 인스턴스를 동시에 업그레이드할 수 있으며 Cloud Shell 세션을 닫아도 프로세스가 계속됩니다. 명령어 출력에서 Cloud Build 작업 링크를 찾을 수 있습니다.Created [https://cloudbuild.googleapis.com/v1/projects/...]. ... logUrl: https://console.cloud.google.com/build/builds/... ... status: QUEUED ...
업그레이드 프로세스 관찰
VM 인스턴스의 구성에 따라 업그레이드가 완료되는 데 40~90분 정도 걸릴 수 있습니다. Cloud Build 로그를 열어 업그레이드 프로세스의 상태를 확인할 수 있습니다.
- gcloud CLI의 명령어 출력에서
logUrl
옆에 표시된 URL을 클릭합니다. - 빌드 로그에서 업그레이드 프로세스의 현재 상태를 확인할 수 있습니다.
업그레이드가 완료되면 빌드가 Successful이라고 표시되고 빌드 로그에서 다음 출력을 볼 수 있습니다.
Successfully upgraded instance 'projects/...!'
업그레이드 중에 gcloud CLI에 문제가 발생하면 빌드가 Failed라고 표시됩니다. --auto-rollback
옵션을 지정하면 gcloud CLI도 자동 롤백을 시작합니다. 빌드 로그에서 발생한 문제에 대한 자세한 내용을 확인할 수 있습니다.
90분 후에도 업그레이드가 계속 진행 중이며 업그레이드가 진행되지 않는 것으로 의심되면 인플레이스(In-Place) 업그레이드 문제 해결에 설명된 방법 중 하나를 사용하여 업그레이드 프로세스가 실패했는지 또는 중단되었는지 확인합니다.
업그레이드 완료
업그레이드가 완료되면 VM 인스턴스를 시작하고 Windows 업데이트를 실행하여 최신 보안 업데이트를 다운로드하고 설치합니다.
VM 인스턴스를 시작합니다.
gcloud compute instances start
VM_NAME
--zone=ZONE
다음을 바꿉니다.
VM_NAME
: VM 인스턴스의 이름입니다.ZONE
: VM 인스턴스가 실행 중인 영역입니다.
RDP 클라이언트를 사용하여 머신에 연결합니다. 자세한 내용은 인스턴스 연결을 참조하세요.
Windows 업데이트를 사용하여 최신 Windows 업데이트를 설치합니다. 이 과정에서 VM 인스턴스를 여러 번 다시 시작해야 할 수 있습니다.
모든 애플리케이션이 예상대로 작동하는지 확인합니다.
업그레이드 롤백
업그레이드에 실패하면 gcloud CLI가 자동으로 롤백을 시작합니다. 업그레이드에 성공하면 애플리케이션 중 하나가 예상대로 작동하지 않을 수 있습니다. 이러한 경우 원래 부팅 디스크를 다시 사용하도록 VM 인스턴스를 변경하여 업그레이드를 롤백합니다.
VM 인스턴스를 중지합니다.
gcloud compute instances stop
VM_NAME
--zone=ZONE
다음을 바꿉니다.
VM_NAME
: VM 인스턴스의 이름입니다.ZONE
: VM 인스턴스가 실행 중인 영역입니다.
빌드 로그에서 원래 부팅 디스크 이름과 연결 이름을 나타내는 줄을 찾습니다.
4. Original boot disk: ORIGINAL_DISK_NAME - Device name of the attachment: DEVICE_NAME
인스턴스에서 오작동하는 운영체제가 포함된 디스크를 분리합니다.
gcloud compute instances detach-disk VM_NAME \ --device-name=DEVICE_NAME \ --zone=ZONE
다음을 바꿉니다.
VM_NAME
: VM 인스턴스의 이름입니다.DEVICE_NAME
: 빌드 로그에 표시된 기기 이름입니다.ZONE
: VM 인스턴스가 실행 중인 영역입니다.
원래 부팅 디스크를 다시 연결합니다.
gcloud compute instances attach-disk
VM_NAME
\ --disk=ORIGINAL_DISK_NAME \ --device-name=DEVICE_NAME \ --zone=ZONE다음을 바꿉니다.
- VM_NAME: VM 인스턴스의 이름입니다.
ORIGINAL_DISK_NAME
: 빌드 로그에 표시된 원래 부팅 디스크의 이름입니다.DEVICE_NAME
: 빌드 로그에 표시된 기기 이름입니다.ZONE
: VM 인스턴스가 실행 중인 영역입니다.
VM 인스턴스를 시작합니다.
gcloud compute instances start VM_NAME --zone=ZONE
다음을 바꿉니다.
VM_NAME
: VM 인스턴스의 이름입니다.ZONE
: VM 인스턴스가 실행 중인 영역입니다.
삭제
추가 요금이 발생하지 않도록 gcloud CLI에서 업그레이드 전에 자동으로 생성한 백업을 삭제합니다.
빌드 로그에서 디스크 스냅샷 이름과 원래 부팅 디스크 이름을 나타내는 줄을 찾습니다.
3. Snapshot for original boot disk:
SNAPSHOT_NAME
4. Original boot disk:DISK_NAME
- Device name of the attachment: ... - AutoDelete setting of the attachment: true 5. Name of the new boot disk: ...Cloud Shell로 돌아가서 디스크 스냅샷을 삭제합니다.
gcloud compute snapshots delete SNAPSHOT_NAME
원래 부팅 디스크를 삭제하고
ZONE
을 VM이 배포된 영역으로 바꿉니다.gcloud compute disks delete DISK_NAME --zone=ZONE
다음 단계
- Windows Server의 인플레이스(In-Place) 업그레이드 수동으로 수행에 대해 알아보기
- 인플레이스(In-Place) 업그레이드 문제 해결 방법 알아보기
- 영구 디스크 스냅샷에 대해 자세히 알아보기