

# EC2 Windows 인스턴스를 새 버전의 Windows Server로 업그레이드
<a name="serverupgrade"></a>

EC2 Windows 인스턴스의 Windows Server 운영 체제를 이전 버전에서 업그레이드해야 하는 경우 다음 방법 중 하나를 사용할 수 있습니다.

**현재 위치 업그레이드**  
인플레이스 업그레이드는 기존 인스턴스에서 작동합니다. 이 프로세스 중에는 운영 체제 파일만 영향을 받으며, 설정, 서버 역할 및 데이터는 그대로 유지됩니다.

**마이그레이션(병렬 업그레이드라고도 함)**  
마이그레이션은 설정, 구성 및 데이터를 캡처하고 이를 새로운 EC2 Windows 인스턴스의 최신 운영 체제로 포팅합니다. 구독한 퍼블릭 또는 프라이빗 Windows AMI, AWS Marketplace 또는 공유된 AMI에서 인스턴스를 시작할 수 있습니다. 또한 EC2 Image Builder를 사용하여 사용자 지정 AMI를 생성할 수 있습니다. 자세한 내용은 [Image Builder 사용 설명서](https://docs.aws.amazon.com/imagebuilder/latest/userguide/what-is-image-builder.html)를 참조하세요.  
AWS에서는 EC2 인스턴스에서 실행되는 Windows Server 버전에 대해 공개적으로 사용 가능한 Amazon Machine Image(AMI) 세트를 제공합니다. 이러한 AMI는 월 단위로 업데이트됩니다. 최신 Windows AMI에 대한 정보는 [AWS Windows AMI 참조](https://docs.aws.amazon.com/ec2/latest/windows-ami-reference/windows-amis.html)를 확인하세요.

Microsoft는 전통적으로 Windows Server를 인플레이스 업그레이드하는 대신 새 버전으로 마이그레이션하는 것을 권장해 왔습니다. 마이그레이션은 업그레이드 오류 또는 문제가 줄어들 수 있지만, 새 인스턴스를 프로비저닝하고 애플리케이션을 계획 및 포팅하고 새 인스턴스에서 구성 설정을 조정해야 하므로 현재 위치 업그레이드보다 시간 더 걸릴 수 있습니다. 현재 위치 업그레이드가 더 빠를 수 있지만 소프트웨어 호환성 문제 때문에 오류가 발생할 수도 있습니다.

**Topics**
+ [EC2 Windows 인스턴스에서 인플레이스 업그레이드 수행](os-inplaceupgrade.md)
+ [Automation 런북을 사용하여 EC2 Windows 인스턴스 업그레이드](automated-upgrades.md)
+ [EC2 Windows 인스턴스를 Nitro 기반 인스턴스 유형으로 마이그레이션](migrating-latest-types.md)
+ [EC2 Windows 인스턴스의 운영 체제 업그레이드 문제 해결](os-upgrade-trbl.md)

# EC2 Windows 인스턴스에서 인플레이스 업그레이드 수행
<a name="os-inplaceupgrade"></a>

현재 위치 업그레이드를 수행하기 전에 인스턴스에서 어느 네트워크 드라이버가 실행되고 있는지 확인해야 합니다. PV 네트워크 드라이버는 사용자가 원격 데스크톱을 사용하여 인스턴스에 액세스할 수 있게 해줍니다. 인스턴스는 AWS PV, intel Network Adapter 또는 Enhanced Networking 드라이버를 사용합니다. 자세한 내용은 [Windows 인스턴스의 반가상화 드라이버](xen-drivers-overview.md) 섹션을 참조하세요.

## 인플레이스(In-Place) 업그레이드를 시작하기 전에
<a name="os-upgrade-before"></a>

다음 작업을 완료하고 인 플레이스 업그레이드를 시작하기 전에 다음과 같은 중요 세부 정보를 기록합니다.
+ 업그레이드 요구 사항, 알려진 문제점 및 제약 조건을 파악할 수 있도록 Microsoft 설명서를 읽습니다. 공식적인 업그레이드 지침도 검토해야 합니다.
  + [Windows Server 2012용 업그레이드 옵션](https://learn.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2012-R2-and-2012/jj574204(v=ws.11))
  + [Windows Server 2012 R2용 업그레이드 옵션](https://learn.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2012-R2-and-2012/dn303416(v=ws.11))
  + [Windows Server 2016 이상의 업그레이드 및 전환 옵션](https://learn.microsoft.com/en-us/windows-server/get-started/install-upgrade-migrate)
  + [Windows Server 업그레이드](https://learn.microsoft.com/en-us/windows-server/get-started/upgrade-overview)
+ 2개 이상의 vCPU와 4GB 이상의 RAM을 이용하는 인스턴스에서 운영 체제 업그레이드를 수행하는 것이 좋습니다. 필요하다면 인스턴스를 같은 유형의 더 큰 인스턴스로 변경하고(예: t2.small에서 t2.large로), 업그레이드를 수행한 다음 원래 크기로 다시 변경할 수도 있습니다. 인스턴스 크기를 유지해야 한다면, [인스턴스 콘솔 스크린샷](troubleshoot-unreachable-instance.md#instance-console-screenshot)을 사용하여 진행 상황을 모니터링할 수 있습니다. 자세한 내용은 [Amazon EC2 인스턴스 유형 변경](ec2-instance-resize.md) 섹션을 참조하세요.
+ Windows 인스턴스의 루트 볼륨에 사용 가능한 디스크 공간이 충분히 있는지 확인합니다. Windows 설치 프로세스에서 디스크 공간 부족에 대한 경고 메시지를 표시하지 않을 수도 있습니다. 특정 운영 체제를 업그레이드하는 데 필요한 디스크 공간에 대한 정보는 Microsoft 설명서를 참조하세요. 볼륨에 공간이 부족한 경우 확장할 수 있습니다. 자세한 내용은 *Amazon EBS 사용 설명서*의 [Amazon EBS Elastic Volumes](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-modify-volume.html)를 참조하세요.
+ 업그레이드 경로를 확인합니다. 운영 체제를 동일한 아키텍처로 업그레이드해야 합니다. 예를 들어, 32비트 시스템을 32비트 시스템으로 업그레이드해야 합니다. Windows Server 2008 R2 이상은 64비트 전용입니다.
+ 안티바이러스와 안티스파이웨어 소프트웨어 및 방화벽을 비활성화합니다. 이러한 유형의 소프트웨어는 업그레이드 프로세스와 충돌할 수 있습니다. 업그레이드를 마친 후에는 안티바이러스와 안티스파이웨어 소프트웨어 및 방화벽을 다시 활성화합니다.
+ [EC2 Windows 인스턴스를 Nitro 기반 인스턴스 유형으로 마이그레이션](migrating-latest-types.md)에 나온 방법에 따라 최신 드라이버로 업데이트합니다.
+ 업그레이드 헬퍼 서비스는 Citrix PV 드라이버를 실행하는 인스턴스만 지원합니다. 인스턴스가 Red Hat 드라이버를 실행하는 경우에는 먼저 수동으로 [이러한 드라이버를 업그레이드](Upgrading_PV_drivers.md)해야 합니다.

## AWS PV, 인텔 Network Adapter 또는 향상된 네트워킹 드라이버를 사용하여 인스턴스 인 플레이스 업그레이드
<a name="os-upgrade-pv"></a>

다음 절차를 통해 AWS PV, intel Network Adapter 또는 Enhanced Networking 네트워크 드라이버를 사용하여 Windows Server 인스턴스를 업그레이드합니다.

**인 플레이스 업그레이드를 수행하려면**

1. 백업 또는 테스트를 위해 업그레이드할 시스템의 AMI를 생성합니다. 그런 다음 사본에서 업그레이드를 수행하여 테스트 환경을 시뮬레이션합니다. 업그레이드가 완료되면 거의 가동 중단 없이 트래픽을 이 인스턴스로 전환할 수 있습니다. 업그레이드에 실패할 경우에는 백업으로 되돌릴 수 있습니다. 자세한 내용은 [Amazon EBS 지원 AMI 생성](creating-an-ami-ebs.md) 섹션을 참조하세요.

1. Windows Server 인스턴스가 최신 네트워크 드라이버를 사용하고 있는지 확인합니다.

   1. AWS PV 드라이버를 업데이트하려면 [EC2 Windows 인스턴스의 PV 드라이버 업그레이드](Upgrading_PV_drivers.md) 섹션을 참조하세요.

   1. ENA 드라이버를 업데이트하려면 [EC2 Windows 인스턴스에 ENA 드라이버 설치](ena-adapter-driver-install-upgrade-win.md) 섹션을 참조하세요.

   1. Intel 드라이버를 업데이트하려면 [Intel 82599 VF 인터페이스를 통한 향상된 네트워킹](sriov-networking.md) 섹션을 참조하세요.

1. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)에서 Amazon EC2 콘솔을 엽니다.

1. 탐색 창에서 **인스턴스**를 선택합니다. 인스턴스를 찾습니다. 인스턴스 ID 및 인스턴스의 Availability Zone을 기록해 둡니다. 이 정보는 이 절차의 뒷부분에서 필요합니다.

1. Windows Server 2012 또는 2012 R2에서 Windows Server 2016 이상으로 업그레이드할 경우 계속하기 전에 인스턴스에서 다음을 수행하세요.

   1. EC2Config 서비스를 제거합니다. 자세한 내용은 [EC2Launch v2 및 EC2Config 에이전트에 대한 Windows 서비스 관리](launch-agents-service-admin.md) 섹션을 참조하세요.

   1. EC2Launch v1 또는 EC2Launch v2 에이전트를 설치합니다. 자세한 내용은 [EC2Launch v1 에이전트를 사용하여 EC2 Windows 인스턴스 시작 중 태스크 수행](ec2launch.md)와 [EC2Launch v2 에이전트를 사용하여 EC2 Windows 인스턴스 시작 중 태스크 수행](ec2launch-v2.md) 섹션을 참조하세요.

   1. AWS Systems Manager SSM Agent 설치 자세한 내용은 *AWS Systems Manager 사용 설명서*의 [Windows Server용 Amazon EC2에서 수동으로 SSM Agent 설치](https://docs.aws.amazon.com/systems-manager/latest/userguide/manually-install-ssm-agent-windows.html)를 참조하세요.

1. Windows Server 설치 미디어 스냅샷에서 새 볼륨을 생성합니다.

   1. 왼쪽 탐색 창의 **Elastic Block Store**에서 **스냅샷**을 선택합니다.

   1. 필터 표시줄에서 **퍼블릭 스냅샷**을 선택합니다.

   1. 검색 표시줄에서 다음 필터를 지정합니다.
      + **소유자 별칭**, **=**, **amazon**을 차례로 선택합니다.
      + **설명**을 선택하고 **Windows**를 입력하기 시작합니다. 업그레이드하려는 시스템 아키텍처 및 언어 기본 설정과 일치하는 Windows 필터를 선택합니다. 예를 들어 Windows Server 2019로 업그레이드하려면 **Windows 2019 English Installation Media**를 선택합니다.

   1. 업그레이드하려는 시스템 아키텍처 및 언어 기본 설정과 일치하는 스냅샷 옆의 확인란을 선택하고 **작업**, **스냅샷에서 볼륨 생성**을 선택합니다.

   1. **볼륨 생성** 페이지에서 Windows 인스턴스와 일치하는 가용 영역을 선택하고 **볼륨 생성**을 선택합니다.

1. 페이지 상단의 **볼륨을 새성함 vol-*1234567890example*** 배너에서 방금 생성한 볼륨 ID를 선택합니다.

1. **작업(Actions)**, **볼륨 연결(Attach volume)**을 선택합니다.

1. **볼륨 연결** 페이지의 **인스턴스**에서 Windows 인스턴스의 인스턴스 ID를 선택하고 **볼륨 연결**을 선택합니다.

1. [Amazon EBS 볼륨을 사용할 수 있도록 하기](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-using-volumes.html)의 단계에 따라 새 볼륨을 사용할 수 있도록 합니다.
**중요**  
디스크를 초기화하면 기존 데이터가 삭제되므로 디스크를 초기화하지 마세요.

1. Windows PowerShell에서 새 볼륨 드라이브로 전환합니다. 인스턴스에 연결한 설치 미디어 볼륨을 열어 업그레이드를 시작합니다.

   1. Windows Server 2016 이상으로 업그레이드한다면 다음을 실행합니다.

      ```
      .\setup.exe /auto upgrade /dynamicupdate disable
      ```
**참고**  
`/dynamicupdate` 옵션을 비활성으로 설정하고 setup.exe를 실행하면 Windows Server 업그레이드 프로세스 중에 Windows에서 업데이트를 설치하지 못하게 됩니다. 업그레이드 중에 업데이트를 설치하면 오류가 발생할 수 있기 때문입니다. 업그레이드가 완료된 후 Windows 업데이트를 사용하여 업데이트를 설치할 수 있습니다.

      Windows Server의 이전 버전으로 업그레이드하는 경우 다음을 실행합니다.

      ```
      Sources\setup.exe
      ```

   1. **설치하고자 하는 운영 체제 선택**에서 Windows Server 인스턴스의 전체 설치 옵션을 선택하고 **다음**을 선택합니다.

   1. **어떤 설치 유형으로 하시겠습니까?(Which type of installation do you want?)**에서 **업그레이드**를 선택합니다.

   1. 마법사를 완료합니다.

Windows Server 설치 프로그램이 파일을 복사하고 처리합니다. 몇 분 후 원격 데스크톱 세션이 닫힙니다. 업그레이드하는 데 걸리는 시간은 Windows Server 인스턴스에서 실행하는 애플리케이션 및 서버 역할의 수에 따라 달라집니다. 업그레이드 프로세스는 최소한 40분 또는 몇 시간이 걸릴 수도 있습니다. 업그레이드 프로세스 중에 인스턴스가 하나 이상의 상태 확인에 실패할 수 있습니다. 업그레이드가 완료되면 모든 상태 확인이 통과됩니다. 시스템 로그에서 콘솔 출력을 확인하거나 디스크 또는 CPU 활동에 대한 Amazon CloudWatch 측정치를 사용하여 업그레이드가 진행되지 않는지 확인할 수 있습니다.

**참고**  
Windows Server 2019로 업그레이드할 경우, 업그레이드가 완료된 후 필요하면 바탕 화면 배경을 직접 변경하여 이전 운영 체제 이름을 제거할 수 있습니다.

몇 시간 후에도 인스턴스가 모든 상태 확인을 통과하지 못한 경우에는 [EC2 Windows 인스턴스의 운영 체제 업그레이드 문제 해결](os-upgrade-trbl.md) 섹션을 참조하세요.

## 업그레이드 이후 작업
<a name="os-post"></a>

1. 인스턴스에 로그인하여 .NET Framework의 업그레이드를 시작하고 메시지가 나타나면 시스템을 재부팅합니다.

1. 이전 단계에서 EC2Launch v1 또는 EC2Launch v2 에이전트를 아직 설치하지 않은 경우 설치합니다. 자세한 내용은 [EC2Launch v1 에이전트를 사용하여 EC2 Windows 인스턴스 시작 중 태스크 수행](ec2launch.md) 및 [EC2Launch v2 에이전트를 사용하여 EC2 Windows 인스턴스 시작 중 태스크 수행](ec2launch-v2.md)를 참조하세요.

1. Windows Server 2012 R2로 업그레이드한 경우에는 PV 드라이버를 AWS PV 드라이버로 업그레이드하는 것이 좋습니다. Nitro 기반 인스턴스로 업그레이드한 경우 NVME 및 ENA 드라이버를 설치하거나 업그레이드하는 것이 좋습니다. 자세한 내용은 [AWS NVMe 드라이버](aws-nvme-drivers.md) 또는 [Windows에서 향상된 네트워킹 활성화](enabling_enhanced_networking.md#enable-enhanced-networking-ena-windows) 섹션을 참조하세요.

1. 안티바이러스와 안티스파이웨어 소프트웨어 및 방화벽을 다시 활성화합니다.

# Automation 런북을 사용하여 EC2 Windows 인스턴스 업그레이드
<a name="automated-upgrades"></a>

AWS Systems Manager Automation 런북을 사용하여 AWS에서 Windows 및 SQL Server 인스턴스의 자동 업그레이드를 수행할 수 있습니다.

**Topics**
+ [관련 서비스](#automated-related)
+ [실행 옵션](#automated-execution-option)
+ [Windows Server 업그레이드](#automated-upgrades-windows)
+ [SQL Server 업그레이드](#automated-upgrades-sql)

## 관련 서비스
<a name="automated-related"></a>

다음 AWS 서비스는 자동 업그레이드 프로세스에 사용됩니다.
+ **AWS Systems Manager**. AWS Systems Manager은 강력한 통합 인터페이스로서 AWS 리소스를 중앙 집중식으로 관리합니다. 자세한 내용은 [AWS Systems Manager 사용 설명서](https://docs.aws.amazon.com/systems-manager/latest/userguide/)**를 참조하세요.
+ AWS Systems Manager 에이전트(SSM Agent)는 Amazon EC2 인스턴스, 온프레미스 서버 또는 가상 머신(VM)에 설치 및 구성할 수 있는 Amazon 소프트웨어입니다. SSM Agent를 사용하면 Systems Manager가 이러한 리소스를 업데이트, 관리 및 구성할 수 있습니다. 에이전트는 AWS 클라우드에서 Systems Manager 서비스의 요청을 처리하고 요청에 지정된 대로 실행합니다. 자세한 내용은 *AWS Systems Manager 사용 설명서*에서 [SSM Agent 작업](https://docs.aws.amazon.com/systems-manager/latest/userguide/ssm-agent.html)을 참조하세요.
+ **AWS Systems Manager SSM 런북**. SSM 런북은 Systems Manager가 관리형 인스턴스에서 실행하는 작업을 정의합니다. SSM 런북은 JSON(JavaScript Object Notation) 또는 YAML을 사용하며 사용자가 지정하는 단계와 파라미터를 포함합니다. 이 주제에서는 자동화를 위해 2개의 Systems Manager SSM 런북을 사용합니다. 자세한 내용은 *AWS Systems Manager 사용 설명서*의 [AWS Systems Manager Automation 런북 참조](https://docs.aws.amazon.com/systems-manager-automation-runbooks/latest/userguide/automation-runbook-reference.html)를 참조하세요.

## 실행 옵션
<a name="automated-execution-option"></a>

Systems Manager 콘솔에서 **자동화**를 선택할 때 **실행**을 선택합니다. 자동화 문서를 선택한 후 자동화 실행 옵션을 선택하라는 메시지가 표시됩니다. 다음 옵션 중 하나를 선택합니다. 이 주제에서 소개하는 경로에서는 각 단계에 **간편 실행** 옵션을 사용합니다.

**간편 실행**  
단일 인스턴스를 업데이트하지만 각각의 자동화 단계를 거쳐 결과를 감사하지는 않으려면 이 옵션을 선택합니다. 이 옵션은 이어지는 업그레이드 단계에서 자세히 설명됩니다.

**속도 제어**

둘 이상의 인스턴스에 업그레이드를 적용하려면 이 옵션을 선택합니다. 다음 설정을 정의합니다.
+ **파라미터**

  이 설정은 다중 계정 및 리전 설정에도 적용되어 있는데, 자동화의 브랜칭 아웃 방법을 정의합니다.
+ **대상**

  자동화를 적용하려는 대상을 선택합니다. 또한 이 설정은 다중 계정 및 리전 설정에도 적용됩니다.
+ **파라미터 값**

  자동화 문서 파라미터에 정의된 값을 사용합니다.
+ **리소스 그룹**

  AWS에서 리소스란 작업할 수 있는 엔터티입니다. 그 예로는 Amazon EC2 인스턴스, AWS CloudFormation 스택, 또는 Amazon S3 버킷이 포함됩니다. 다수의 리소스를 사용할 경우, 작업을 할 때마다 AWS 서비스 사이를 이동하는 것보다는 해당 리소스를 그룹으로 관리하는 것이 더 유용할 수 있습니다. 몇몇 경우에는 하나의 애플리케이션 계층을 구성하는 EC2 인스턴스 등의 관련 리소스를 다수로 관리해야 할 수 있습니다. 이런 경우에는 해당 리소스에 대한 일괄 작업을 한 번에 수행해야 할 수 있습니다.
+ **Tags**

  태그를 사용하면 AWS 리소스를 용도별, 소유자별 또는 환경별 등 다양한 방식으로 분류할 수 있습니다. 이처럼 분류를 해 놓으면 동일한 유형의 리소스가 많을 때 유용합니다. 할당된 태그를 사용하여 특정 리소스를 신속하게 식별할 수 있습니다.
+ **속도 제어**

  또한 속도 제어는 다중 계정 및 리전 설정에도 적용됩니다. 속도 제어 파라미터를 설정하면 대상 개수 또는 백분율로 자동화를 적용하려는 플릿의 수를 정의합니다.

 **다중 계정 및 리전**

속도 제어에서 지정되고 다중 계정 및 리전 설정에도 사용되는 파라미터에 더해 추가로 살펴볼 설정이 두 가지 더 있습니다.
+ **계정 및 OU(조직 단위)**

  자동화를 실행할 여러 계정을 지정합니다.
+ **AWS 리전**

  자동화를 실행할 여러 AWS 리전을 지정합니다.

**수동 실행**  
이 옵션은 **간편 실행**과 비슷하지만 각 자동화 단계를 거치고 결과를 감사할 수 있다는 데서 차이를 보입니다.

## Windows Server 업그레이드
<a name="automated-upgrades-windows"></a>

`[AWSEC2-CloneInstanceAndUpgradeWindows](https://docs.aws.amazon.com/systems-manager-automation-runbooks/latest/userguide/automation-awsec2-CloneInstanceAndUpgradeWindows.html)` 런북은 계정의 Windows Server 인스턴스에서 Amazon Machine Image(AMI)를 생성하고 이 AMI를 선택한 지원되는 버전으로 업그레이드합니다. 이 다단계 프로세스는 완료까지 최대 2시간이 소요됩니다.

자동 업그레이드 프로세스에는 두 개의 AMI가 포함됩니다.
+ **현재 실행 중인 인스턴스**: 첫 번째 AMI는 현재 실행 중인 인스턴스로서 업그레이드되지 않았습니다. 이 AMI는 다른 인스턴스를 시작하여 현재 위치 업그레이드를 실행하는 데 쓰입니다. 프로세스가 완료되면 이 AMI는 원본 인스턴스를 유지하도록 특별히 요청하지 않는 한 계정에서 삭제됩니다. 이 설정은 파라미터 `KeepPreUpgradeImageBackUp`에서 처리합니다(기본값은 `false`이며, 즉 AMI가 기본적으로 삭제됨).
+ **업그레이드된 AMI**: 이 AMI는 자동화 프로세스의 결과물입니다.

최종 결과물은 하나의 AMI로서, 업그레이드된 AMI 인스턴스입니다.

업그레이드가 완료되면 Amazon VPC에서 새 AMI를 시작하여 애플리케이션 기능을 테스트할 수 있습니다. 테스트 이후와 다른 업그레이드를 수행하기 전에는 업그레이드된 인스턴스로 완전히 전환하기에 앞서 애플리케이션 중단 시간을 예약하세요.

### 사전 조건
<a name="automated-prereq-windows"></a>

AWS Systems Manager Automation 문서로 Windows Server 업그레이드를 자동화하려면 다음 태스크를 수행해야 합니다.
+ 지정한 IAM 정책으로 IAM 규칙 만들기를 하여 Systems Manager가 Amazon EC2 인스턴스에서 자동화 작업을 수행하고 사용자가 필수적인 Systems Manager 사용 조건에 부합하는지 확인합니다. 자세한 내용은 *AWS Identity and Access Management 사용 설명서*의 [AWS 서비스에 대한 권한을 위임할 역할 생성](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html)을 참조하세요.
+ [원하는 자동화 실행 방법에 대한 옵션을 선택합니다](#automated-execution-option). 실행 옵션으로는 **간편 실행(Simple execution)**, **속도 제어(Rate control)**, **다중 계정 및 리전(Multi-account and Region)**, **수동 실행(Manual execution)**이 있습니다. 이러한 옵션에 대한 자세한 내용은 [실행 옵션](#automated-execution-option) 섹션을 참조하세요.
+ 인스턴스에 SSM Agent가 설치되었는지 확인합니다. 자세한 내용은 [Windows Server용 Amazon EC2 인스턴스에 SSM Agent 설치 및 구성](https://docs.aws.amazon.com/systems-manager/latest/userguide/ssm-agent-windows.html)을 참조하세요.
+ 인스턴스에 Windows PowerShell 3.0 이상이 설치되어 있어야 합니다.
+ Microsoft Active Directory 도메인에 조인된 인스턴스의 경우, 호스트 이름 충돌을 피하기 위해 도메인 컨트롤러에 연결되지 않은 `SubnetId`를 지정하는 것이 좋습니다.
+ 인스턴스 서브넷에는 Amazon S3와 같은 AWS 서비스에 대한 액세스와 Microsoft에서 패치를 다운로드할 수 있는 액세스를 제공하는 인터넷에 대한 아웃바운드 연결이 있어야 합니다. 서브넷이 퍼블릭 서브넷이고 인스턴스에 퍼블릭 IP 주소가 있거나, 서브넷이 퍼블릭 NAT 디바이스에 인터넷 트래픽을 전송하는 경로가 있는 프라이빗 서브넷인 경우에 이 요구 사항이 충족됩니다.
+ 이 자동화는 Windows Server 2008 R2, Windows Server 2012 R2, Windows Server 2016 및 Windows Server 2019를 실행하는 인스턴스에서 작동합니다.
+ 인스턴스의 부트 디스크에 20GB의 사용 가능한 디스크 공간이 있는지 확인합니다.
+ 인스턴스에서 AWS 제공 Windows 라이선스를 사용하지 않는 경우 Windows Server 2012 R2 설치 미디어를 포함하는 Amazon EBS 스냅샷 ID를 지정합니다. 방법:

  1. Amazon EC2 인스턴스에서 Windows Server 2012 이상을 실행 중인지 확인합니다.

  1. 인스턴스가 실행 중인 동일 가용 영역에서 6GB Amazon EBS 볼륨을 생성합니다. 볼륨을 인스턴스에 연결합니다. 예를 들면 드라이브 D에 탑재합니다.

  1. ISO를 마우스 오른쪽 버튼으로 클릭하고 인스턴스(예를 들면 드라이브 E)에 탑재합니다.

  1. 드라이브 E:\$1에서 드라이브 D:\$1로 ISO의 내용을 복사합니다.

  1. 위의 2단계에서 생성한 6GB 볼륨의 Amazon EBS 스냅샷을 생성합니다.

### Windows Server 업그레이드 제한 사항
<a name="automated-windows-limits"></a>

이 자동화는 Windows 도메인 컨트롤러, 클러스터 또는 Windows 데스크톱 운영 체제 업그레이드를 지원하지 않습니다. 또한 이 자동화는 다음 역할이 설치된 Windows Server용 Amazon EC2 인스턴스를 지원하지 않습니다.
+ 원격 데스크톱 세션 호스트(RDSH)
+ 원격 데스크톱 연결 브로커(RDCB) 
+ 원격 데스크톱 가상화 호스트(RDVH) 
+ 원격 데스크톱 웹 액세스(RDWA)

### Windows Server의 자동 업그레이드를 수행하는 단계
<a name="2008R2-2012R2"></a>

다음 단계에 따라 [AWSEC2-CloneInstanceAndUpgradeWindows](https://docs.aws.amazon.com/systems-manager-automation-runbooks/latest/userguide/automation-awsec2-CloneInstanceAndUpgradeWindows.html) 자동화 런북을 사용하여 Windows Server 인스턴스를 업그레이드합니다.

1. **AWS 관리 콘솔**에서 Systems Manager를 엽니다.

1. 왼쪽 탐색 창의 **변경 관리(Change Management)** 아래에서 **자동화(Automation)**를 선택합니다.

1. **자동화 실행(Execute automation)**을 선택합니다.

1. `AWSEC2-CloneInstanceAndUpgradeWindows`라는 이름의 자동화 문서를 찾습니다.

1. 문서 이름이 보이면 선택합니다. 해당 이름을 선택하면 문서의 세부 정보가 표시됩니다.

1. **자동화 실행(Execute automation)**을 선택하여 이 문서의 파라미터를 입력합니다. 페이지 상단에서 **간편 실행(Simple execution)**이 선택된 채로 둡니다.

1. 요청된 파라미터를 다음 지침을 따라 입력합니다.
   + `InstanceID`

     **Type**: 문자열

     (필수) SSM Agent가 설치된 상태에서 Windows Server 2008 R2, 2012 R2, 2016 또는 2019를 실행하는 인스턴스입니다.
   + `InstanceProfile`. 

     **유형**: 문자열

     (필수) IAM 인스턴스 프로파일입니다. Amazon EC2 인스턴스 및 AWS AMI에 대해 Systems Manager 자동화를 수행하는 데 사용되는 IAM 역할입니다. 자세한 내용은 *AWS Systems Manager 사용 설명서*의 [EC2 인스턴스 권한 구성](https://docs.aws.amazon.com/systems-manager/latest/userguide/setup-instance-permissions.html#instance-profile-add-permissions)을 참조하세요.
   + `TargetWindowsVersion`

     **Type**: 문자열

     (필수) 대상 Windows 버전을 선택합니다.
   + `SubnetId`

     **Type**: 문자열

     (필수) 업그레이드 프로세스를 위한 서브넷으로, 소스 EC2 인스턴스가 상주합니다. 서브넷에서 (패치를 다운로드할) AWS 서비스(Amazon S3 포함) 및 Microsoft로의 아웃바운드 연결이 설정되었는지 확인합니다.
   + `KeepPreUpgradedBackUp`

     **Type**: 문자열

     (선택 사항) 이 파라미터가 `true`로 설정된 경우, 인스턴스에서 생성된 이미지는 자동화 과정에서 그대로 유지됩니다. 기본 설정은 `false`입니다.
   + `RebootInstanceBeforeTakingImage`

     **Type**: 문자열

     (선택 사항) 기본값은 `false`입니다(재부팅 안 함). 이 파라미터가 `true`로 설정된 경우, Systems Manager에서는 업그레이드를 위해 AMI를 만들기 전에 인스턴스를 재부팅합니다.

1. 파라미터를 입력한 다음 **Execute(실행)**를 선택합니다. 자동화가 시작되면 실행 진척도를 모니터링할 수 있습니다.

1. 자동화가 완료되면 AMI ID를 볼 수 있습니다. AMI를 시작하여 Windows OS의 업그레이드 여부를 확인할 수 있습니다.
**참고**  
모든 단계를 자동화로 실행할 필요는 없습니다. 해당 단계는 자동화와 인스턴스의 동작에 따라 달라질 수 있습니다. Systems Manager에서는 필요하지 않은 단계를 생략할 수도 있습니다.  
또한 몇몇 단계는 시간이 초과될 수 있습니다. Systems Manager는 모든 최신 패치의 업그레이드와 설치를 시도합니다. 그러나 때에 따라서는 특정 단계의 정의 가능 제한 시간 설정에 따라 패치의 시간이 초과됩니다. 이 경우에는 내부 OS가 대상 Windows Server 버전으로 업그레이드될 수 있도록 Systems Manager 자동화가 다음 단계까지 계속됩니다.

1. 자동화가 완료되고 나면 AMI ID로 Amazon EC2 인스턴스를 실행하여 업그레이드를 검토할 수 있습니다. AWS AMI에서 Amazon EC2 인스턴스를 만드는 방법에 대한 자세한 내용은 [사용자 지정 AMI에서 EC2 인스턴스를 시작하려면 어떻게 해야 합니까?](https://repost.aws/knowledge-center/launch-instance-custom-ami)를 참조하세요.

## SQL Server 업그레이드
<a name="automated-upgrades-sql"></a>

[AWSEC2-CloneInstanceAndUpgradeSQLServer](https://docs.aws.amazon.com/systems-manager-automation-runbooks/latest/userguide/automation-awsec2-CloneInstanceAndUpgradeSQLServer.html) 스크립트는 계정 내에서 SQL Server를 실행하는 Amazon EC2 인스턴스에서 AMI를 생성한 다음 해당 AMI를 이후 버전의 SQL Server로 업그레이드합니다. 이 다단계 프로세스는 완료까지 최대 2시간이 소요됩니다.

이 워크플로우에서는 자동화를 통해 인스턴스에서 AMI를 생성한 다음 사용자가 제공하는 서브넷에서 새 AMI를 실행합니다. 그런 다음 자동화는 SQL Server의 현재 위치 업그레이드를 수행합니다. 이 자동화는 업그레이드 완료 후 업그레이드된 인스턴스를 종료하기 전에 새 AMI를 생성합니다.

자동 업그레이드 프로세스에는 두 개의 AMI가 포함됩니다.
+ **현재 실행 중인 인스턴스**: 첫 번째 AMI는 현재 실행 중인 인스턴스로서 업그레이드되지 않았습니다. 이 AMI는 다른 인스턴스를 시작하여 현재 위치 업그레이드를 실행하는 데 쓰입니다. 프로세스가 완료되면 이 AMI는 원본 인스턴스를 유지하도록 특별히 요청하지 않는 한 계정에서 삭제됩니다. 이 설정은 파라미터 `KeepPreUpgradeImageBackUp`에서 처리합니다(기본값은 `false`이며, 즉 AMI가 기본적으로 삭제됨).
+ **업그레이드된 AMI**: 이 AMI는 자동화 프로세스의 결과물입니다.

최종 결과물은 하나의 AMI로서, 업그레이드된 AMI 인스턴스입니다.

업그레이드가 완료되면 Amazon VPC에서 새 AMI를 시작하여 애플리케이션 기능을 테스트할 수 있습니다. 테스트 이후와 다른 업그레이드를 수행하기 전에는 업그레이드된 인스턴스로 완전히 전환하기에 앞서 애플리케이션 중단 시간을 예약하세요.

### 사전 조건
<a name="automated-prereq-sql"></a>

AWS Systems Manager Automation 문서로 SQL Server 업그레이드를 자동화하려면 다음 태스크를 수행해야 합니다.
+ 지정한 IAM 정책으로 IAM 규칙 만들기를 하여 Systems Manager가 Amazon EC2 인스턴스에서 자동화 작업을 수행하고 사용자가 필수적인 Systems Manager 사용 조건에 부합하는지 확인합니다. 자세한 내용은 **AWS Identity and Access Management 사용 설명서의 [AWS 서비스에 대한 권한을 위임할 역할 생성](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html)을 참조하세요.
+ [원하는 자동화 실행 방법에 대한 옵션을 선택합니다](#automated-execution-option). 실행 옵션으로는 **간편 실행(Simple execution)**, **속도 제어(Rate control)**, **다중 계정 및 리전(Multi-account and Region)**, **수동 실행(Manual execution)**이 있습니다. 이러한 옵션에 대한 자세한 내용은 [실행 옵션](#automated-execution-option) 섹션을 참조하세요.
+ Amazon EC2 인스턴스는 Windows Server 2008 R2 이상과 SQL Server 2008 이상을 사용해야 합니다.
+ 인스턴스에 SSM Agent가 설치되었는지 확인합니다. 자세한 내용은 [Windows Server용 Amazon EC2 인스턴스에서 SSM Agent 사용](https://docs.aws.amazon.com/systems-manager/latest/userguide/ssm-agent-windows.html)을 참조하세요.
+ 인스턴스에 dudb 디스크 공간이 충분한지 확인합니다.
  + Windows Server 2008 R2에서 2012 R2로 업그레이드하거나 Windows Server 2012 R2에서 이후 운영 체제로 업그레이드하는 경우 인스턴스 부팅 디스크에 20GB의 여유 디스크 공간이 있는지 확인합니다.
  + Windows Server 2008 R2에서 2016 이상으로 업그레이드하는 경우 인스턴스 부팅 디스크에 40GB의 여유 디스크 공간이 있는지 확인합니다.
+ Bring Your Own License(BYOL) SQL Server 버전을 사용하는 인스턴스의 경우 다음 추가 사전 조건이 적용됩니다.
  + 대상 SQL Server 설치 미디어가 포함된 Amazon EBS 스냅샷 ID를 제공합니다. 방법: 

    1. Amazon EC2 인스턴스에서 Windows Server 2008 R2 이상을 실행 중인지 확인합니다.

    1. 인스턴스가 실행 중인 동일 가용 영역에서 6GB Amazon EBS 볼륨을 생성합니다. 볼륨을 인스턴스에 연결합니다. 예를 들면 드라이브 D에 탑재합니다.

    1. ISO를 마우스 오른쪽 버튼으로 클릭하고 인스턴스(예를 들면 드라이브 E)에 탑재합니다.

    1. 드라이브 E:\$1에서 드라이브 D:\$1로 ISO의 내용을 복사합니다.

    1. 2단계에서 생성한 6GB 볼륨의 Amazon EBS 스냅샷을 생성합니다.

### SQL Server 자동 업그레이드 제한
<a name="automated-sql-limits"></a>

[AWSEC2-CloneInstanceAndUpgradeSQLServer](https://docs.aws.amazon.com/systems-manager-automation-runbooks/latest/userguide/automation-awsec2-CloneInstanceAndUpgradeSQLServer.html) 런북을 사용하여 자동 업그레이드를 수행할 때 다음 제한 사항이 적용됩니다.
+ 이 업그레이드는 Windows 인증을 사용하여 SQL Server에서만 수행할 수 있습니다.
+ 인스턴스에서 대기 중인 보안 패치 업데이트가 없는지 확인합니다. **제어판**을 열고 나서 **업데이트 확인**을 선택합니다.
+ HA 및 미러링 모드의 SQL 서버 배포는 지원되지 않습니다.

### SQL Server의 자동 업그레이드를 수행하는 단계
<a name="SQL2008R2-SQL2016"></a>

다음 단계에 따라 [AWSEC2-CloneInstanceAndUpgradeSQLServer](https://docs.aws.amazon.com/systems-manager-automation-runbooks/latest/userguide/automation-awsec2-CloneInstanceAndUpgradeSQLServer.html) 자동화 런북을 사용하여 SQL Server 인스턴스를 업그레이드합니다.

1. 아직 확인이 되지 않은 경우에는 SQL Server 2016을 .iso 파일로 다운로드하고 이를 소스 서버에 마운트합니다.

1. .iso 파일 마운팅 후에는 구성 요소 파일을 모두 복사하고 원하는 볼륨에 배치합니다.

1. 볼륨의 Amazon EBS 스냅샷을 만들고 스냅샷의 ID를 이후에 사용할 클립보드에 복사합니다. 자세한 내용은 **Amazon EBS 사용 설명서**의 [Amazon EBS 스냅샷 생성](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-creating-snapshot.html)을 참조하세요.

1. 인스턴스 프로파일을 Amazon EC2 소스 인스턴스에 연결합니다. 그러면 Systems Manager가 EC2 인스턴스와 통신하고 해당 인스턴스가 AWS Systems Manager 서비스에 추가된 후에 명령을 실행할 수 있습니다. 이 예에서는 역할을 `SSM-EC2-Profile-Role`로 명명했으며 해당 역할에는 `AmazonSSMManagedInstanceCore ` 정책이 연결되었습니다.

1. AWS Systems Manager 콘솔의 왼쪽 탐색 창에서 **Managed Instances(관리형 인스턴스)**를 선택합니다. EC2 인스턴스가 관리형 인스턴스 목록에 있는지 확인합니다. 몇 분 후에도 인스턴스가 표시되지 않으면 AWS Systems Manager 사용 설명서**에서 [내 인스턴스는 어디에 있나요?](https://docs.aws.amazon.com/systems-manager/latest/userguide/troubleshooting-remote-commands.html#where-are-instances)를 참조하세요.

1. 왼쪽 탐색 창의 **변경 관리(Change Management)** 아래에서 **자동화(Automation)**를 선택합니다.

1. **자동화 실행(Execute automation)**을 선택합니다.

1. `AWSEC2-CloneInstanceAndUpgradeSQLServer`라는 이름의 자동화 문서를 찾습니다.

1. `AWSEC2-CloneInstanceAndUpgradeSQLServer` SSM 문서를 선택하고 **다음(Next)**을 선택합니다.

1. **간편 실행(Simple execution)** 옵션이 선택되었는지 확인합니다.

1. 요청된 파라미터를 다음 지침을 따라 입력합니다.
   + `InstanceId` 

     **Type**: 문자열

     (필수) SQL Server 2008 R2(또는 이후 버전) 실행 인스턴스입니다.
   + `IamInstanceProfile`

     **Type**: 문자열

     (필수) IAM 인스턴스 프로파일입니다.
   + `SQLServerSnapshotId`

     **유형**: 문자열

     (필수) 대상 SQL Server 설치 미디어의 스냅샷 ID입니다. 이 파라미터는 SQL Server 라이선스 포함 인스턴스에 필요하지 않습니다.
   + `SubnetId`

     **Type**: 문자열

     (필수) 업그레이드 프로세스를 위한 서브넷으로, 소스 EC2 인스턴스가 상주합니다. 서브넷에서 (패치를 다운로드할) AWS 서비스(Amazon S3 포함) 및 Microsoft로의 아웃바운드 연결이 설정되었는지 확인합니다.
   + `KeepPreUpgradedBackUp`

     **Type**: 문자열

     (선택 사항) 이 파라미터가 `true`로 설정된 경우, 인스턴스에서 생성된 이미지는 자동화 과정에서 그대로 유지됩니다. 기본 설정은 `false`입니다.
   + `RebootInstanceBeforeTakingImage`

     **Type**: 문자열

     (선택 사항) 기본값은 `false`입니다(재부팅 안 함). 이 파라미터가 `true`로 설정된 경우, Systems Manager에서는 업그레이드를 위해 AMI를 만들기 전에 인스턴스를 재부팅합니다.
   + `TargetSQLVersion`

     **유형**: 문자열

     (선택 사항) 대상 SQL Server 버전입니다. 기본값은 `2016`입니다.

1. 파라미터를 입력한 다음 **실행(Execute)**을 선택합니다. 자동화가 시작되면 실행 진척도를 모니터링할 수 있습니다.

1. **실행 상태(Execution Status)**가 **성공(Success)**으로 표시되면 **출력(Outputs)**을 선택하여 AMI 정보를 봅니다. AMI ID를 사용하여 원하는 VPC에 대해 SQL Server 인스턴스를 시작할 수 있습니다.

1. Amazon EC2 콘솔을 엽니다. 왼쪽 탐색 창에서 **AMI**를 선택합니다. 그러면 새 AMI가 보일 것입니다.

1. 새 SQL Server 버전이 성공적으로 설치되었는지 확인하려면 새 AMI를 선택하고 **시작(Launch)**을 선택합니다.

1. 배포하려는 AMI, VPC 및 서브넷, 그리고 사용하려는 스토리지에 대해 인스턴스 유형을 선택합니다. AMI에서 새 인스턴스를 시작하므로 해당 볼륨은 사용자가 시작하는 EC2 인스턴스 내에 포함할 옵션으로 표시됩니다. 이 볼륨은 제거할 수 있으며, 반대로 추가할 수도 있습니다.

1. 인스턴스 식별에 도움이 되도록 태그를 추가합니다.

1. 보안 그룹을 인스턴스에 추가합니다.

1. **인스턴스 시작**을 선택합니다.

1. 인스턴스의 이름을 선택하고 **작업** 드롭다운 메뉴 아래에서 **연결**을 선택합니다.

1. 새 SQL Server 버전이 새 인스턴스의 데이터베이스 엔진인지 확인합니다.

# EC2 Windows 인스턴스를 Nitro 기반 인스턴스 유형으로 마이그레이션
<a name="migrating-latest-types"></a>

AWS Windows AMI는 Microsoft 설치 미디어에서 사용하는 기본 설정 및 일부 사용자 지정으로 구성됩니다. 사용자 지정에는 M5 및 C5와 같은 [Nitro 기반 인스턴스](instance-types.md#instance-hypervisor-type)를 지원하는 드라이버와 구성이 포함됩니다.

베어 메탈 인스턴스를 포함하여 Xen 기반 인스턴스에서 Nitro 기반 인스턴스로 마이그레이션하는 경우 다음 사례에 해당한다면 이 항목의 단계를 따르는 것이 좋습니다.
+ 사용자 지정 Windows AMI에서 인스턴스를 시작하는 경우
+ 2018년 8월 이전에 생성된, Amazon에서 제공한 Windows AMI에서 인스턴스를 시작하는 경우

또는 `AWSSupport-UpgradeWindowsAWSDrivers` 자동화 문서를 사용하여 1부, 2부 및 3부에서 설명한 절차를 자동화할 수 있습니다. 자동화된 절차 사용을 선택한 경우 다음([(대안) AWS를 사용하여 AWS Systems Manager PV, ENA 및 NVMe 드라이버 업그레이드](#auto-upgrade))을 참조하고 4부와 5부로 계속 진행합니다.

자세한 내용은 [Amazon EC2 업데이트 - 추가 인스턴스 유형, Nitro 시스템 및 CPU 옵션](https://aws.amazon.com/blogs/aws/amazon-ec2-update-additional-instance-types-nitro-system-and-cpu-options/)을 참조하세요.

**참고**  
다음 마이그레이션 절차는 Windows Server 버전 2016 이상에서 수행할 수 있습니다. 수명이 종료된 이전 운영 체제 버전은 테스트되지 않으므로 최신 인스턴스 유형과 호환되지 않을 수 있습니다.  
Linux 인스턴스를 마이그레이션하려면 [Amazon EC2 인스턴스 유형 변경](ec2-instance-resize.md) 섹션을 참조하세요.

**Contents**
+ [1부: AWS PV 드라이버 설치 및 업그레이드](#upgrade-pv)
+ [2부: ENA 설치 및 업그레이드](#upgrade-ena)
+ [3부: AWS NVMe 드라이버 업그레이드](#upgrade-nvme)
+ [4부: EC2Config 및 EC2Launch 업데이트](#upgdate-ec2config-ec2launch)
+ [5부: 베어 메탈 인스턴스를 위한 직렬 포트 설치](#install-serial-port-bare-metal)
+ [6부: 전원 관리 설정 업데이트](#power-management)
+ [7부: 새 인스턴스 유형에 대한 인텔 칩셋 드라이버 업데이트](#power-management-intel-drivers)
+ [(대안) AWS를 사용하여 AWS Systems Manager PV, ENA 및 NVMe 드라이버 업그레이드](#auto-upgrade)

**시작하기 전에** 

이 절차에서는 M4 또는 C4와 같은 [Xen 기반 인스턴스](instance-types.md#instance-hypervisor-type)가 있고 [Nitro 기반 인스턴스](instance-types.md#instance-hypervisor-type)로 마이그레이션한다고 가정합니다.

업그레이드를 성공적으로 수행하려면 PowerShell 버전 3.0 이상을 사용해야 합니다.

**참고**  
마이그레이션하는 경우 해당 인스턴스가 새 향상된 네트워킹 어댑터 디바이스로 기본 설정되어 있으므로 기존 네트워크 인터페이스 카드에 대한 정적 IP 또는 사용자 지정 DNS 네트워크 설정이 손실될 수 있습니다.

이 절차의 단계를 수행하기 전에 인스턴스를 백업해 놓는 것이 좋습니다. [EC2 콘솔](https://console.aws.amazon.com/ec2/)에서 마이그레이션 필요한 인스턴스를 선택하고, 바로 가기(마우스 오른쪽 버튼 클릭) 메뉴를 열고 **인스턴스 상태**를 선택한 후 **중지**를 선택합니다.

**주의**  
인스턴스를 중지하면 인스턴스 저장소 볼륨의 데이터가 삭제됩니다. 인스턴스 저장소 볼륨의 데이터를 보존하기 위해 영구 스토리지에 데이터를 백업해야 합니다.

[EC2 콘솔](https://console.aws.amazon.com/ec2/)에서 인스턴스의 바로 가기(마우스 오른쪽 버튼 클릭) 메뉴를 열고 **이미지**를 선택한 후 **이미지 생성**을 선택합니다.

**참고**  
이 지침의 4부와 5부는 인스턴스 유형을 마이그레이션하거나 변경한 후에 완료할 수 있습니다. 그러나 특히 베어 메탈 인스턴스 유형으로 마이그레이션하는 경우에는 마이그레이션하기 전에 이 작업을 완료하는 것이 좋습니다.

## 1부: AWS PV 드라이버 설치 및 업그레이드
<a name="upgrade-pv"></a>

Nitro 시스템에서 AWS PV 드라이버를 사용하지 않더라도 이전 버전의 Citrix PV 또는 AWS PV를 사용하는 경우 업그레이드해야 합니다. 최신 AWS PV 드라이버는 이전 버전 드라이버에서 Nitro 시스템을 사용하거나 Xen 기반 인스턴스로 다시 마이그레이션해야 할 경우 발생할 수 있는 버그를 해결했습니다. 항상 AWS의 Windows 인스턴스용 최신 드라이버로 업데이트하는 것이 가장 좋습니다.

다음 절차에 따라 AWS PV 드라이버의 현재 위치 업그레이드를 수행하거나, Windows Server 2008 R2, Windows Server 2012, Windows Server 2012 R2, Windows Server 2016 또는 Windows Server 2019의 Citrix PV 드라이버에서 AWS PV 드라이버로 업그레이드할 수 있습니다. 자세한 내용은 [EC2 Windows 인스턴스의 PV 드라이버 업그레이드](Upgrading_PV_drivers.md) 섹션을 참조하세요.

도메인 컨트롤러를 업그레이드하려면 [도메인 컨트롤러 업그레이드(AWS PV 업그레이드)](Upgrading_PV_drivers.md#aws-pv-upgrade-dc) 섹션을 참조하세요.

**AWS PV 드라이버의 업그레이드를 수행하려면**

1. 원격 데스크톱을 사용하여 인스턴스에 연결하고 인스턴스를 업그레이드할 준비를 합니다. 업그레이드를 수행하기 전에 시스템 디스크가 아닌 모든 디스크를 오프라인으로 전환합니다. AWS PV 드라이버의 현재 위치 업그레이드를 수행할 경우에는 이 단계가 필요하지 않습니다. 또한 서비스 콘솔에서 필수적이지 않은 서비스를 **수동** 시작으로 설정합니다.

1. 최신 드라이버 패키지를 인스턴스로 [다운로드](https://s3.amazonaws.com/ec2-windows-drivers-downloads/AWSPV/Latest/AWSPVDriver.zip)합니다.

1. 폴더의 내용 압축을 풀고 `AWSPVDriverSetup.msi`를 실행합니다.

MSI를 실행하면 인스턴스가 자동으로 재부팅되고 드라이버를 업그레이드합니다. 최대 15분 동안 인스턴스를 사용할 수 없습니다.

업그레이드를 완료하고 인스턴스가 Amazon EC2 콘솔에서 두 상태 확인을 모두 통과하면 원격 데스크톱을 사용하여 인스턴스에 연결하고 새 드라이버가 설치되었는지 확인합니다. 디바이스 관리자(Device Manager)의 **스토리지 컨트롤러(Storage Controllers)** 아래에서 **AWS PV Storage Host Adapter**를 찾습니다. 드라이버 버전이 드라이버 버전 기록 표에 나열된 최신 버전과 동일한지 확인합니다. 자세한 내용은 [AWS PV 드라이버 패키지 기록](xen-drivers-overview.md#pv-driver-history) 섹션을 참조하세요.

## 2부: ENA 설치 및 업그레이드
<a name="upgrade-ena"></a>

모든 네트워크 기능을 지원할 수 있도록 최신 Elastic Network Adapter 드라이버로 업그레이드합니다. 인스턴스를 시작했는데 향상된 네트워킹 기능이 활성화되어 있지 않은 경우에는 인스턴스에 필요한 네트워크 어댑터 드라이버를 다운로드하고 설치해야 합니다. enaSupport 인스턴스 속성을 설정하여 **향상된 네트워킹을 활성화**합니다. 이 속성은 지원되는 인스턴스 유형 및 ENA 드라이버가 설치된 경우에만 활성화할 수 있습니다. 자세한 내용은 [EC2 인스턴스에서 ENA로 향상된 네트워킹 활성화](enhanced-networking-ena.md) 섹션을 참조하세요.

1. 최신 드라이버를 인스턴스로 [다운로드](https://s3.amazonaws.com/ec2-windows-drivers-downloads/ENA/Latest/AwsEnaNetworkDriver.zip)합니다. 이전 버전의 드라이버가 필요한 경우 [ENA Windows 드라이버 버전 내역](ena-driver-releases-windows.md#ena-win-driver-release-history) 섹션을 참조하세요.

1. ZIP 아카이브를 추출합니다.

1. 압축 파일을 푼 폴더에서 `install.ps1` PowerShell 스크립트를 실행하여 드라이버를 설치합니다.
**참고**  
설치 오류를 피하려면 `install.ps1` 스크립트를 관리자로 실행하세요.

1.  AMI에 enaSupport가 활성화되었는지 확인합니다. 그렇지 않은 경우 [EC2 인스턴스에서 ENA로 향상된 네트워킹 활성화](enhanced-networking-ena.md)의 설명서를 따라 계속하세요.

## 3부: AWS NVMe 드라이버 업그레이드
<a name="upgrade-nvme"></a>

AWS NVMe 드라이버는 성능 개선을 위해 Nitro 시스템에 NVMe 블록 디바이스로 표시되는 Amazon EBS 및 SSD 인스턴스 저장소 볼륨과 상호 작용하는 데 사용됩니다.

**중요**  
다음 지침은 인스턴스를 Nitro 기반 인스턴스로 마이그레이션하려는 목적으로 Xen 기반 인스턴스에 AWS NVMe를 설치하거나 업그레이드하는 경우에 맞도록 특별히 수정되었습니다.

1. 최신 드라이버 패키지를 인스턴스로 [다운로드](https://s3.amazonaws.com/ec2-windows-drivers-downloads/NVMe/Latest/AWSNVMe.zip)합니다.

   이전 버전의 드라이버가 필요한 경우 지원되는 버전에 대한 [NVMe Windows 드라이버 릴리스](nvme-driver-version-history.md) 섹션을 참조하세요.

1. ZIP 아카이브를 추출합니다.

1. `Readme.txt`의 설명에 따라 드라이버를 설치합니다.

1. **PowerShell** 세션을 열고 다음 명령을 실행합니다.

   ```
   PS C:\> start rundll32.exe sppnp.dll,Sysprep_Generalize_Pnp -wait
   ```
**참고**  
명령을 적용하려면 PowerShell 세션을 관리자로 실행해야 합니다. PowerShell(x86) 버전에서는 오류가 발생합니다.  
이 명령은 디바이스 드라이버에서만 sysprep을 실행합니다. 전체 sysprep 준비를 실행하지는 않습니다.

1. Windows Server 2008 R2 및 Windows Server 2012의 경우 인스턴스를 종료하고 인스턴스 유형을 변경한 후 인스턴스를 시작한 다음 4부로 계속 진행합니다. Nitro 기반 인스턴스 유형으로 마이그레이션하기 전에 Xen 기반 인스턴스 유형에서 인스턴스를 다시 시작하면 인스턴스가 부팅되지 않습니다. 지원되는 다른 Windows AMI를 위해, 디바이스에서 sysprep을 수행한 후 언제든지 인스턴스 유형을 변경할 수 있습니다.

## 4부: EC2Config 및 EC2Launch 업데이트
<a name="upgdate-ec2config-ec2launch"></a>

Windows 인스턴스의 경우, 최신 EC2Config와 EC2Launch 유틸리티는 EC2 Bare Metal을 비롯한 Nitro 시스템에서 실행할 때 추가 기능과 정보를 제공합니다. 기본적으로 EC2Config 서비스는 Windows Server 2016 이전의 AMI에 포함되어 있습니다. EC2Launch는 Windows Server 2016 이상 AMI의 EC2Config를 대체합니다.

EC2Config 서비스와 EC2Launch 서비스가 업데이트되면 새 AWS Windows AMI에 최신 버전의 서비스가 포함됩니다. 그러나 자체 Windows AMI 및 인스턴스는 별도로 최신 버전의 EC2Config 및 EC2Launch로 업데이트해야 합니다.

**EC2Config를 설치 또는 업데이트하려면**

1. [EC2Config 설치 관리자](https://s3.amazonaws.com/ec2-downloads-windows/EC2Config/EC2Install.zip)를 다운로드하고 압축을 풉니다.

1. `EC2Install.exe`를 실행합니다. 전체 옵션 목록을 보려면 `EC2Install` 옵션을 포함해 `/?` 파일을 실행합니다. 기본적으로 설치는 프롬프트를 표시합니다. 프롬프트 없이 명령을 실행하려면 `/quiet` 옵션을 사용합니다.

자세한 내용은 [최신 버전의 EC2Config 설치](UsingConfig_Install.md) 섹션을 참조하세요.

**EC2Launch를 설치 또는 업데이트하려면**

1. 이미 인스턴스에 EC2Launch를 설치하여 구성한 경우 EC2Launch 구성 파일의 백업을 만듭니다. 설치 프로세스는 이 파일에 변경 사항을 보존하지 않습니다. 기본적으로 `C:\ProgramData\Amazon\EC2-Windows\Launch\Config` 디렉터리에 파일이 위치합니다.

1. 인스턴스의 디렉터리로 [EC2-Windows-Launch.zip](https://s3.amazonaws.com/ec2-downloads-windows/EC2Launch/latest/EC2-Windows-Launch.zip) 파일을 다운로드합니다.

1. `EC2-Windows-Launch.zip` 파일을 다운로드한 동일한 디렉터리에 [install.ps1](https://s3.amazonaws.com/ec2-downloads-windows/EC2Launch/latest/install.ps1)을 다운로드합니다.

1. `install.ps1`를 실행합니다.
**참고**  
설치 오류를 피하려면 `install.ps1` 스크립트를 관리자로 실행하세요.

1. EC2Launch 구성 파일의 백업을 만든 경우 `C:\ProgramData\Amazon\EC2-Windows\Launch\Config` 디렉터리에 복사합니다.

자세한 내용은 [EC2Launch v1 에이전트를 사용하여 EC2 Windows 인스턴스 시작 중 태스크 수행](ec2launch.md) 섹션을 참조하세요.

## 5부: 베어 메탈 인스턴스를 위한 직렬 포트 설치
<a name="install-serial-port-bare-metal"></a>

`i3.metal` 인스턴스 유형은 I/O 포트 기반 직렬 디바이스가 아닌 PCI 기반 직렬 디바이스를 사용합니다. 최신 Windows AMI는 PCI 기반 직렬 디바이스를 자동으로 사용하며 직렬 포트 드라이버가 설치되어 있습니다. Amazon에서 제공한 2018.04.11일자 또는 그 이전 Windows AMI에서 시작한 인스턴스를 사용하지 않는 경우, 직렬 포트 드라이버를 설치하여 직렬 디바이스에서 EC2 기능(암호 생성 및 콘솔 출력 등)을 사용할 수 있도록 해야 합니다. 또한 최신 EC2Config와 EC2Launch 유틸리티는 i3.metal을 지원하고 추가 기능을 제공합니다. 아직 수행하지 않은 경우 4부의 단계를 수행할 것을 권장합니다.

**직렬 시리얼 포트 드라이버를 설치하려면**

1. 직렬 드라이버 패키지를 인스턴스로 [다운로드](https://s3.amazonaws.com/ec2-windows-drivers-downloads/AWSPCISerialDriver/Latest/AWSPCISerialDriver.zip)합니다.

1. 폴더 내용의 압축을 풀고 `aws_ser.INF`의 컨텍스트 메뉴를 열고(마우스 오른쪽 버튼으로 클릭) [**설치(install)**]를 선택합니다.

1. **확인**을 선택합니다.

## 6부: 전원 관리 설정 업데이트
<a name="power-management"></a>

전원 관리 설정에 대한 다음 업데이트는 디스플레이가 꺼지지 않도록 설정해 Nitro 시스템에서 OS를 정상적으로 종료할 수 있도록 합니다. Amazon에서 2018년 11월 28일 이후 제공한 모든 Windows AMI에는 이러한 기본 구성이 이미 적용되어 있습니다.

1. 명령 프롬프트 또는 PowerShell 세션을 엽니다.

1. 다음 명령을 실행합니다:

   ```
   powercfg /setacvalueindex 381b4222-f694-41f0-9685-ff5bb260df2e 7516b95f-f776-4464-8c53-06167f40cc99 3c0bc021-c8a8-4e07-a973-6b14cbcb2b7e 0
   powercfg /setacvalueindex 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c 7516b95f-f776-4464-8c53-06167f40cc99 3c0bc021-c8a8-4e07-a973-6b14cbcb2b7e 0
   powercfg /setacvalueindex a1841308-3541-4fab-bc81-f71556f20b4a 7516b95f-f776-4464-8c53-06167f40cc99 3c0bc021-c8a8-4e07-a973-6b14cbcb2b7e 0
   ```

## 7부: 새 인스턴스 유형에 대한 인텔 칩셋 드라이버 업데이트
<a name="power-management-intel-drivers"></a>

`u-6tb1.metal`, `u-9tb1.metal` 및 `u-12tb1.metal` 인스턴스 유형은 이전에 Windows AMI에 설치되지 않은 칩셋 드라이버가 필요한 하드웨어를 사용합니다. Amazon에서 제공한 2018.11.19일자 또는 그 이전 Windows AMI에서 시작한 인스턴스를 사용하지 않는 경우, 인텔 Chipset INF 유틸리티를 사용하여 드라이버를 설치해야 합니다.

**칩셋 드라이버를 설치하려면**

1. 인스턴스에 대한 [Chipset INF 유틸리티](https://www.intel.com/content/www/us/en/download/19347/chipset-inf-utility.html)입니다.

1. 파일의 압축을 풉니다.

1. `SetupChipset.exe`를 실행합니다.

1. 인텔 소프트웨어 라이선스 계약에 동의하고 칩셋 드라이버를 설치합니다.

1. 인스턴스를 재부팅합니다.

## (대안) AWS를 사용하여 AWS Systems Manager PV, ENA 및 NVMe 드라이버 업그레이드
<a name="auto-upgrade"></a>

`AWSSupport-UpgradeWindowsAWSDrivers` 자동화 문서는 1부, 2부 및 3부에서 설명한 단계를 자동화합니다. 이 방법은 또한 드라이버 업그레이드 실패 시 인스턴스를 복구할 수 있습니다.

`AWSSupport-UpgradeWindowsAWSDrivers` 자동화 문서는 지정된 EC2 인스턴스의 스토리지 및 네트워크 AWS 드라이버를 업그레이드 또는 복구합니다. 문서는 AWS 에이전트(SSM Agent)를 호출하여 온라인으로 AWS Systems Manager 드라이버의 최신 버전 설치를 시도합니다. SSM Agent에 접촉할 수 없다면 문서는 명시적 요청된 경우 AWS 드라이버의 오프라인 설치를 수행할 수 있습니다.

**참고**  
이 절차는 도메인 컨트롤러에는 수행하지 못합니다. 도메인 컨트롤러의 드라이버를 업데이트하려면 [도메인 컨트롤러 업그레이드(AWS PV 업그레이드)](Upgrading_PV_drivers.md#aws-pv-upgrade-dc)을 참조하세요.

**AWS을 사용하여 AWS Systems Manager PV, ENA 및 NVMe 드라이버를 자동으로 업그레이드하려면**

1. [https://console.aws.amazon.com/systems-manager](https://console.aws.amazon.com/systems-manager)에서 Systems Manager 콘솔을 엽니다.

1. **자동화**를 선택한 다음, **자동화 실행(Execute automation)**을 선택합니다.

1. **AWSSupport-UpgradeWindowsAWSDrivers** 자동화 문서를 검색하여 선택한 후 **자동화 실행**을 선택합니다.

1. **입력 파라미터** 섹션에서 다음 옵션을 구성합니다.  
인스턴스 ID  
업그레이드할 인스턴스의 고유 ID를 입력합니다.  
AllowOffline  
(선택 사항) 다음 옵션 중 하나를 선택합니다.  
   + `True` - 이 옵션을 선택하여 오프라인 설치를 수행합니다. 업그레이드 프로세스 도중에는 인스턴스가 중지 및 재시작됩니다.
**주의**  
인스턴스를 중지하면 인스턴스 저장소 볼륨의 데이터가 삭제됩니다. 인스턴스 저장소 볼륨의 데이터를 보존하기 위해 영구 스토리지에 데이터를 백업해야 합니다.
   + `False` - (기본) 온라인 설치를 수행하려면 이 옵션을 선택한 채로 둡니다. 업그레이드 프로세스 도중에는 인스턴스가 재시작됩니다.
온라인 및 오프라인 업그레이드에서 업그레이드 작업 전에 AMI가 생성됩니다. AMI는 자동화 완료 이후에도 지속됩니다. AMI에 대한 액세스에 보안 조치를 취하거나 더 이상 필요하지 않은 경우 삭제합니다.  
SubnetId  
(선택 사항) 다음 값 중 하나를 입력합니다.  
   + `SelectedInstanceSubnet` — (기본) 업그레이드 프로세스에서 *도우미* 인스턴스를 업그레이드해야 하는 인스턴스로 동일한 서브넷에서 시작합니다. 서브넷은 Systems Manager 엔드포인트(`ssm.*`)와의 통신을 허용해야 합니다.
   + `CreateNewVPC` — 업그레이드 프로세스가 새 VPC에 *도우미* 인스턴스를 시작합니다. 대상 인스턴스의 서브넷이 `ssm.*` 엔드포인트와의 통신을 허용하는지 불확실한 경우 이 옵션을 사용합니다. 사용자에게 VPC 생성 권한이 있어야 합니다.
   + 특정 서브넷 ID — *도우미* 인스턴스를 시작할 특정 서브넷의 ID를 지정합니다. 인스턴스를 업그레이드해야 하므로 서브넷은 동일한 가용 영역에 있어야 하고, `ssm.*` 엔드포인트와의 통신을 허용해야 합니다.

1. **실행**을 선택합니다.

1. 업그레이드 완료를 허용합니다. 온라인 업그레이드를 완료하려면 최대 10분이 걸리고, 오프라인 업그레이드를 완료하려면 최대 25분이 걸릴 수 있습니다.

# EC2 Windows 인스턴스의 운영 체제 업그레이드 문제 해결
<a name="os-upgrade-trbl"></a>

AWS는 Citrix PV 드라이버가 관련된 현재 위치 업그레이드를 수행하는 사용자를 돕는 AWS 유틸리티인 업그레이드 헬퍼 서비스를 통해 업그레이드 문제에 대한 지원을 제공합니다.

업그레이드 후 인스턴스에서 .NET 런타임 최적화 서비스가 .NET 프레임워크를 최적화하는 동안 일시적으로 CPU 사용률이 평균보다 높게 나타날 수 있습니다. 이는 예상된 동작입니다.

몇 시간 후에도 인스턴스가 모든 상태 확인을 통과하지 못한 경우에는 다음을 확인하세요.
+ Windows Server 2008로 업그레이드한 후 몇 시간이 지나도 모든 상태 확인에 실패하는 경우 업그레이드가 실패했을 수 있으며 **확인을 클릭**하여 롤백을 확인하라는 메시지가 표시될 수 있습니다. 이 상태에서는 콘솔에 액세스할 수 없기 때문에 버튼을 클릭할 수 있는 방법이 없습니다. 이 문제를 해결하려면 Amazon EC2 콘솔 또는 API를 통해 재부팅을 수행하세요. 재부팅은 시작하는 데 10분 이상 걸리고, 25분이 지나면 인스턴스를 사용할 수 있습니다.
+ 서버에서 애플리케이션 또는 서버 역할을 제거하고 다시 시도합니다.

서버에서 애플리케이션 또는 서버 역할을 제거한 후에도 인스턴스가 모든 상태 확인을 통과하지 못하는 경우 다음을 수행하세요.
+ 인스턴스를 중지하고 루트 볼륨을 다른 인스턴스에 연결합니다. 자세한 내용은 ["Waiting for the metadata service"](common-messages.md#metadata-unavailable)에서 루트 볼륨을 중지하고 다른 인스턴스에 연결하는 방법에 대한 설명을 참조하세요.
+ 장애에 대한 [Windows 설치 로그 파일 및 이벤트 로그](https://learn.microsoft.com/en-us/windows-hardware/manufacture/desktop/windows-setup-log-files-and-event-logs?view=windows-11)를 분석합니다.

운영 체제 업그레이드 또는 마이그레이션과 관련된 기타 모든 문제에 대해서는 [인플레이스(In-Place) 업그레이드를 시작하기 전에](os-inplaceupgrade.md#os-upgrade-before)에 수록된 도움말을 확인하는 것이 좋습니다.