EC2 Windows 인스턴스를 Nitro 기반 인스턴스 유형으로 마이그레이션하기
EC2 Windows 인스턴스를 Nitro 기반 인스턴스 유형으로 마이그레이션하기 (Migrate an EC2 Windows instance to a Nitro-based instance type)
AWS Windows AMI는 Microsoft 설치 미디어의 기본 설정에 일부 커스터마이즈를 더해 구성돼 있어요. 커스터마이즈에는 M5, C5 같은 Nitro 기반 인스턴스를 지원하는 드라이버와 구성이 포함돼요.
출처: 문서
본문
Xen 기반 인스턴스에서 Nitro 기반 인스턴스(베어 메탈 포함)로 마이그레이션할 때 다음 경우에는 이 주제의 단계를 따를 것을 권장해요.
- 커스텀 Windows AMI에서 인스턴스를 시작하는 경우
- 2018년 8월 이전에 만들어진 Amazon 제공 Windows AMI에서 인스턴스를 시작하는 경우
또는 AWSSupport-UpgradeWindowsAWSDrivers 자동화 문서로 Part 1, Part 2, Part 3의 절차를 자동화할 수 있어요. 자동화 절차를 쓰면 "(Alternative) Upgrade the AWS PV, ENA, and NVMe drivers using AWS Systems Manager"를 참고하고 Part 4와 Part 5로 계속 진행해요.
참고: 다음 마이그레이션 절차는 Windows Server 2016 이상 버전에서 수행할 수 있어요. 수명이 끝난 이전 OS 버전은 테스트되지 않았고 최신 인스턴스 유형과 호환되지 않을 수 있어요.
내용: Part 1(AWS PV 드라이버 설치·업그레이드), Part 2(ENA 설치·업그레이드), Part 3(AWS NVMe 드라이버 업그레이드), Part 4(EC2Config·EC2Launch 업데이트), Part 5(베어 메탈 인스턴스용 직렬 포트 드라이버 설치), Part 6(전원 관리 설정 업데이트), Part 7(새 인스턴스 유형용 Intel 칩셋 드라이버 업데이트), (대안) AWS Systems Manager로 드라이버 업그레이드.
시작하기 전에 (Before you begin)
이 절차는 M4나 C4 같은 Xen 기반 인스턴스가 있고 Nitro 기반 인스턴스로 마이그레이션한다고 가정해요. 업그레이드를 수행하려면 PowerShell 버전 3.0 이상을 사용해야 해요.
참고: 마이그레이션할 때 인스턴스가 새 Enhanced Networking Adapter 장치를 기본으로 하므로 기존 네트워크 인터페이스 카드의 고정 IP나 사용자 지정 DNS 네트워크 설정이 손실될 수 있어요.
단계를 따르기 전에 인스턴스 백업을 만드는 것을 권장해요. EC2 콘솔에서 마이그레이션이 필요한 인스턴스를 선택하고, 상황에 맞는(마우스 오른쪽) 메뉴에서 Instance State, Stop을 선택해요. EC2 콘솔에서 인스턴스의 상황에 맞는 메뉴를 열고 Image, Create Image를 선택해요.
경고: 인스턴스를 중지하면 인스턴스 스토어 볼륨의 데이터가 지워져요. 인스턴스 스토어 볼륨의 데이터를 유지하려면 영구 스토리지에 백업하세요.
참고: Part 4와 5는 마이그레이션하거나 인스턴스 유형을 바꾼 후에도 완료할 수 있어요. 다만 특히 베어 메탈 인스턴스 유형으로 마이그레이션한다면 마이그레이션 전에 완료할 것을 권장해요.
Part 1: AWS PV 드라이버 설치·업그레이드
AWS PV 드라이버는 Nitro 시스템에서 사용되지 않지만, 이전 버전의 Citrix PV 또는 AWS PV를 사용 중이라면 여전히 업그레이드해야 해요. 최신 AWS PV 드라이버는 Nitro 시스템에서 나타날 수 있는 이전 드라이버 버전의 버그를 해결하고, Xen 기반 인스턴스로 다시 마이그레이션해야 할 때도 유용해요. 모범 사례로 AWS의 Windows 인스턴스는 항상 최신 드라이버로 업데이트할 것을 권장해요.
AWS PV 드라이버의 원위치(in-place) 업그레이드나 Windows Server 2008 R2, 2012, 2012 R2, 2016, 2019에서 Citrix PV에서 AWS PV로의 업그레이드를 수행하려면 다음 절차를 사용해요. 도메인 컨트롤러를 업그레이드하려면 "Upgrade a domain controller (AWS PV upgrade)"를 참고하세요.
- Remote Desktop으로 인스턴스에 연결하고 업그레이드에 대비해 준비해요. 업그레이드 전에 모든 비시스템 디스크를 오프라인으로 전환해요(AWS PV 드라이버의 원위치 업데이트에는 필요 없음). 서비스 콘솔에서 중요하지 않은 서비스를 Manual 시작으로 설정해요.
- 최신 드라이버 패키지를 인스턴스에 다운로드해요.
- 폴더의 내용을 추출하고
AWSPVDriverSetup.msi를 실행해요. MSI 실행 후 인스턴스가 자동으로 재부팅되고 드라이버를 업그레이드해요. 인스턴스는 최대 15분 동안 사용할 수 없을 수 있어요. - 업그레이드가 완료되고 인스턴스가 EC2 콘솔에서 두 가지 상태 점검을 모두 통과한 후 Remote Desktop으로 연결해 새 드라이버가 설치됐는지 확인해요. 장치 관리자의 Storage Controllers 아래에서 AWS PV Storage Host Adapter를 찾아 드라이버 버전이 "Driver Version History" 표의 최신 버전과 같은지 확인해요.
Part 2: ENA 설치·업그레이드
모든 네트워크 기능이 지원되도록 최신 Elastic Network Adapter 드라이버로 업그레이드해요. 인스턴스를 시작했는데 향상된 네트워킹이 아직 활성화되지 않았다면 필요한 네트워크 어댑터 드라이버를 인스턴스에 다운로드·설치하고, enaSupport 인스턴스 속성을 설정해 향상된 네트워킹을 활성화해야 해요. 이 속성은 지원되는 인스턴스 유형에서, 그리고 ENA 드라이버가 설치된 경우에만 활성화할 수 있어요.
- 최신 드라이버를 인스턴스에 다운로드해요. 이전 버전이 필요하면 "ENA Windows driver version history"를 참고하세요.
- zip 아카이브를 추출해요.
- 추출한 폴더에서
install.ps1PowerShell 스크립트를 실행해 드라이버를 설치해요. (설치 오류를 피하려면install.ps1을 관리자로 실행하세요.) - AMI에
enaSupport가 활성화되어 있는지 확인해요. 아니면 "Enable enhanced networking with ENA on your EC2 instances" 문서를 따라 계속 진행해요.
Part 3: AWS NVMe 드라이버 업그레이드
AWS NVMe 드라이버는 Nitro 시스템에서 NVMe 블록 디바이스로 노출되는 Amazon EBS와 SSD 인스턴스 스토어 볼륨과 상호작용해 더 나은 성능을 제공하는 데 사용돼요.
중요: 다음 지침은 인스턴스를 Nitro 기반 인스턴스로 마이그레이션할 의도로 Xen 기반 인스턴스에 AWS NVMe를 설치·업그레이드할 때를 위해 특별히 수정된 것이에요.
- 최신 드라이버 패키지를 인스턴스에 다운로드해요. 이전 버전이 필요하면 "AWS NVMe Windows driver releases"를 참고하세요.
- zip 아카이브를 추출해요.
Readme.txt에 설명된 대로 드라이버를 설치해요.- PowerShell 세션을 열고 다음 명령을 실행해요:
PS C:\> start rundll32.exe sppnp.dll,Sysprep_Generalize_Pnp -wait참고: 명령을 적용하려면 PowerShell 세션을 관리자로 실행해야 해요. PowerShell(x86) 버전은 오류를 일으켜요. 이 명령은 장치 드라이버에 대해서만 sysprep을 실행하고 전체 sysprep 준비는 실행하지 않아요.
- Windows Server 2008 R2와 Windows Server 2012는 인스턴스를 종료하고 인스턴스 유형을 변경한 뒤 인스턴스를 시작하고 Part 4로 진행해요. Nitro 기반 인스턴스 유형으로 마이그레이션하기 전에 Xen 기반 인스턴스 유형으로 다시 시작하면 부팅되지 않아요. 다른 지원되는 Windows AMI는 장치 sysprep 후 언제든 인스턴스 유형을 변경할 수 있어요.
Part 4: EC2Config와 EC2Launch 업데이트
Windows 인스턴스의 경우 최신 EC2Config와 EC2Launch 유틸리티는 Nitro 시스템(EC2 Bare Metal 포함)에서 실행할 때 추가 기능과 정보를 제공해요. 기본적으로 EC2Config 서비스는 Windows Server 2016 이전 AMI에 포함돼 있어요. EC2Launch는 Windows Server 2016 이상 AMI에서 EC2Config를 대체해요.
EC2Config와 EC2Launch 서비스가 업데이트되면 AWS의 새 Windows AMI에 최신 버전이 포함돼요. 다만 자체 Windows AMI와 인스턴스는 최신 EC2Config·EC2Launch 버전으로 직접 업데이트해야 해요.
EC2Config 설치·업데이트: EC2Config Installer를 다운로드·압축 해제하고 EC2Install.exe를 실행해요. 전체 옵션 목록은 EC2Install을 /? 옵션으로 실행하고, 프롬프트 없이 실행하려면 /quiet 옵션을 사용해요.
EC2Launch 설치·업데이트:
- 인스턴스에 이미 EC2Launch를 설치·구성했다면 EC2Launch 구성 파일을 백업해요. 기본 위치는
C:\ProgramData\Amazon\EC2-Windows\Launch\Config디렉터리예요. EC2-Windows-Launch.zip을 인스턴스의 디렉터리에 다운로드해요.install.ps1을EC2-Windows-Launch.zip을 다운로드한 같은 디렉터리에 다운로드해요.install.ps1을 실행해요(관리자로 실행).- EC2Launch 구성 파일을 백업했다면
C:\ProgramData\Amazon\EC2-Windows\Launch\Config디렉터리에 복사해요.
Part 5: 베어 메탈 인스턴스용 직렬 포트 드라이버 설치
i3.metal 인스턴스 유형은 I/O 포트 기반 직렬 장치가 아니라 PCI 기반 직렬 장치를 사용해요. 최신 Windows AMI는 PCI 기반 직렬 장치를 자동으로 사용하고 직렬 포트 드라이버가 설치돼 있어요. 2018.04.11 이후의 Amazon 제공 Windows AMI에서 시작한 인스턴스를 사용하지 않는다면, Password Generation과 Console Output 같은 EC2 기능을 위해 직렬 장치를 활성화하도록 Serial Port Driver를 설치해야 해요. 최신 EC2Config·EC2Launch 유틸리티도 i3.metal을 지원하고 추가 기능을 제공해요. 아직 안 했다면 Part 4의 단계를 따르세요.
직렬 포트 드라이버 설치: 직렬 드라이버 패키지를 인스턴스에 다운로드하고, 폴더 내용을 추출하고, aws_ser.INF의 상황에 맞는 메뉴를 열어 install을 선택한 뒤 Okay를 선택해요.
Part 6: 전원 관리 설정 업데이트
다음 전원 관리 설정 업데이트는 디스플레이가 꺼지지 않도록 설정해 Nitro 시스템에서 우아한 OS 종료를 허용해요. 2018.11.28 기준 Amazon이 제공한 모든 Windows AMI에는 이미 이 기본 구성이 있어요.
- 명령 프롬프트 또는 PowerShell 세션을 열어요.
- 다음 명령을 실행해요:
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
Part 7: 새 인스턴스 유형용 Intel 칩셋 드라이버 업데이트
u-6tb1.metal, u-9tb1.metal, u-12tb1.metal 인스턴스 유형은 이전에 Windows AMI에 설치되지 않았던 칩셋 드라이버를 요구하는 하드웨어를 사용해요. 2018.11.19 이후의 Amazon 제공 Windows AMI에서 시작한 인스턴스를 사용하지 않는다면 Intel Chipset INF Utility로 드라이버를 설치해야 해요.
- Chipset INF Utility를 인스턴스에 다운로드해요.
- 파일을 추출해요.
SetupChipset.exe를 실행해요.- Intel 소프트웨어 라이선스 계약을 수락하고 칩셋 드라이버를 설치해요.
- 인스턴스를 재부팅해요.
(대안) AWS Systems Manager로 AWS PV, ENA, NVMe 드라이버 업그레이드
AWSSupport-UpgradeWindowsAWSDrivers 자동화 문서는 Part 1, 2, 3에 설명된 단계를 자동화해요. 이 방법은 드라이버 업그레이드가 실패한 인스턴스도 복구할 수 있어요. 이 문서는 지정된 EC2 인스턴스에서 스토리지·네트워크 AWS 드라이버를 업그레이드하거나 복구해요. SSM Agent를 호출해 AWS 드라이버의 최신 버전을 온라인으로 설치하려고 시도해요. SSM Agent에 연결할 수 없으면 명시적으로 요청할 때 드라이버를 오프라인으로 설치할 수 있어요.
참고: 이 절차는 도메인 컨트롤러에서 실패할 수 있어요. 도메인 컨트롤러에서 드라이버를 업데이트하려면 "Upgrade a domain controller (AWS PV upgrade)"를 참고하세요.
- Systems Manager 콘솔(https://console.aws.amazon.com/systems-manager)을 엽니다.
- Automation, Execute Automation을 선택해요.
AWSSupport-UpgradeWindowsAWSDrivers자동화 문서를 찾아 선택하고 Execute automation을 선택해요.- Input Parameters 섹션에서 다음 옵션을 구성해요.
- Instance ID – 업그레이드할 인스턴스의 고유 ID.
- AllowOffline – (선택)
True를 선택하면 오프라인 설치를 수행해요(업그레이드 중 인스턴스가 중지·재시작됨).False(기본값)를 선택하면 온라인 설치를 수행해요(업그레이드 중 인스턴스가 재시작됨).경고: 인스턴스를 중지하면 인스턴스 스토어 볼륨의 데이터가 지워져요. 영구 스토리지에 백업하세요. 중요: 온라인·오프라인 업그레이드는 업그레이드 작업을 시도하기 전에 AMI를 만들어요. AMI는 자동화 완료 후에도 유지되므로 AMI 접근을 보호하거나 더 이상 필요 없으면 삭제하세요.
- SubnetId – (선택)
SelectedInstanceSubnet(기본값, helper 인스턴스를 업그레이드 대상과 같은 서브넷에 시작, 서브넷이 Systems Manager 엔드포인트ssm.*과 통신할 수 있어야 함),CreateNewVPC(새 VPC에 시작, VPC 생성 권한 필요), 또는 특정 서브넷 ID.
- Execute를 선택해요.
- 업그레이드가 완료될 때까지 기다려요. 온라인 업그레이드는 최대 10분, 오프라인 업그레이드는 최대 25분 걸릴 수 있어요.