Windows Server 2008 R2의 인플레이스(In-Place) 업그레이드 수행


Windows Server 2008 R2를 실행하는 가상 머신(VM) 인스턴스가 있는 경우 gcloud CLI를 사용하여 Windows Server 2012 R2로 자동으로 업그레이드할 수 있습니다.

수동 업그레이드를 수행하는 대신 gcloud CLI를 사용하여 인플레이스(In-Place) 업그레이드를 수행할 수 있습니다. 업그레이드 프로세스를 자동화하면 gcloud CLI를 사용하여 업그레이드해야 하는 각 VM 인스턴스에 필요한 노력을 줄일 수 있습니다.

VM 인플레이스(In-Place) 업그레이드 중에 gcloud CLI에서 다음 단계를 수행합니다.

  1. VM을 중지합니다.
  2. 표준 Persistent Disk 스냅샷을 백업으로 만듭니다.
  3. 부팅 디스크 복사본을 만들어 원래 부팅 디스크를 백업으로 유지합니다.
  4. Windows 2012 R2 설치 미디어가 포함된 설치 디스크를 연결합니다.
  5. 설치 디스크에서 Windows 설정(setup.exe)을 실행하여 무인 모드에서 업그레이드를 수행합니다.
  6. 업그레이드 후 구성을 적용합니다.
  7. 설치 디스크를 분리합니다.
  8. 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) 업그레이드를 수행하는 데 요금이 부과되지 않습니다. 업그레이드 시 다음과 같이 사용한 리소스에 대해서만 비용이 청구됩니다.

가격 계산기를 사용하면 예상 사용량을 기준으로 예상 비용을 산출할 수 있습니다.

시작하기 전에

업그레이드 시작

다음 섹션에서는 VM 인스턴스를 업그레이드하는 과정을 안내합니다.

  1. Google Cloud 콘솔에서 Cloud Shell 활성화 Cloud Shell 활성화 버튼을 클릭하여 Cloud Shell을 엽니다.

    Google Cloud Console로 이동

  2. 기본 프로젝트 ID를 설정합니다. PROJECT_ID를 Compute Engine 프로젝트의 이름으로 바꿉니다.

    gcloud config set project PROJECT_ID
    
  3. 다음 명령어를 실행하여 업그레이드를 시작합니다.

    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 로그를 열어 업그레이드 프로세스의 상태를 확인할 수 있습니다.

  1. gcloud CLI의 명령어 출력에서 logUrl 옆에 표시된 URL을 클릭합니다.
  2. 빌드 로그에서 업그레이드 프로세스의 현재 상태를 확인할 수 있습니다.

업그레이드가 완료되면 빌드가 Successful이라고 표시되고 빌드 로그에서 다음 출력을 볼 수 있습니다.

Successfully upgraded instance 'projects/...!'

업그레이드 중에 gcloud CLI에 문제가 발생하면 빌드가 Failed라고 표시됩니다. --auto-rollback 옵션을 지정하면 gcloud CLI도 자동 롤백을 시작합니다. 빌드 로그에서 발생한 문제에 대한 자세한 내용을 확인할 수 있습니다.

90분 후에도 업그레이드가 계속 진행 중이며 업그레이드가 진행되지 않는 것으로 의심되면 인플레이스(In-Place) 업그레이드 문제 해결에 설명된 방법 중 하나를 사용하여 업그레이드 프로세스가 실패했는지 또는 중단되었는지 확인합니다.

업그레이드 완료

업그레이드가 완료되면 VM 인스턴스를 시작하고 Windows 업데이트를 실행하여 최신 보안 업데이트를 다운로드하고 설치합니다.

  1. VM 인스턴스를 시작합니다.

    gcloud compute instances start VM_NAME --zone=ZONE
    

    다음을 바꿉니다.

    • VM_NAME: VM 인스턴스의 이름입니다.
    • ZONE: VM 인스턴스가 실행 중인 영역입니다.
  2. RDP 클라이언트를 사용하여 머신에 연결합니다. 자세한 내용은 인스턴스 연결을 참조하세요.

  3. Windows 업데이트를 사용하여 최신 Windows 업데이트를 설치합니다. 이 과정에서 VM 인스턴스를 여러 번 다시 시작해야 할 수 있습니다.

  4. 모든 애플리케이션이 예상대로 작동하는지 확인합니다.

업그레이드 롤백

업그레이드에 실패하면 gcloud CLI가 자동으로 롤백을 시작합니다. 업그레이드에 성공하면 애플리케이션 중 하나가 예상대로 작동하지 않을 수 있습니다. 이러한 경우 원래 부팅 디스크를 다시 사용하도록 VM 인스턴스를 변경하여 업그레이드를 롤백합니다.

  1. VM 인스턴스를 중지합니다.

    gcloud compute instances stop VM_NAME --zone=ZONE
    

    다음을 바꿉니다.

    • VM_NAME: VM 인스턴스의 이름입니다.
    • ZONE: VM 인스턴스가 실행 중인 영역입니다.
  2. 빌드 로그에서 원래 부팅 디스크 이름과 연결 이름을 나타내는 줄을 찾습니다.

    4. Original boot disk: ORIGINAL_DISK_NAME
        - Device name of the attachment: DEVICE_NAME
    
  3. 인스턴스에서 오작동하는 운영체제가 포함된 디스크를 분리합니다.

    gcloud compute instances detach-disk VM_NAME \
      --device-name=DEVICE_NAME \
      --zone=ZONE
    

    다음을 바꿉니다.

    • VM_NAME: VM 인스턴스의 이름입니다.
    • DEVICE_NAME: 빌드 로그에 표시된 기기 이름입니다.
    • ZONE: VM 인스턴스가 실행 중인 영역입니다.
  4. 원래 부팅 디스크를 다시 연결합니다.

    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 인스턴스가 실행 중인 영역입니다.
  5. VM 인스턴스를 시작합니다.

    gcloud compute instances start VM_NAME --zone=ZONE
    

    다음을 바꿉니다.

    • VM_NAME: VM 인스턴스의 이름입니다.
    • ZONE: VM 인스턴스가 실행 중인 영역입니다.

삭제

추가 요금이 발생하지 않도록 gcloud CLI에서 업그레이드 전에 자동으로 생성한 백업을 삭제합니다.

  1. 빌드 로그에서 디스크 스냅샷 이름과 원래 부팅 디스크 이름을 나타내는 줄을 찾습니다.

    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: ...
    
  2. Cloud Shell로 돌아가서 디스크 스냅샷을 삭제합니다.

    gcloud compute snapshots delete SNAPSHOT_NAME
    
  3. 원래 부팅 디스크를 삭제하고 ZONE을 VM이 배포된 영역으로 바꿉니다.

    gcloud compute disks delete DISK_NAME --zone=ZONE
    

다음 단계