Amazon-Ec2

在 EC2 Windows Server 2016 上,重啟實例時自動掛載實例儲存

  • December 16, 2019

**我有一個基於 Amazon 為 Microsoft Windows Server 2016 提供的 AMI 的 AWS EC2 實例。**我想使用臨時實例儲存。當我啟動實例時,我可以登錄並使用 Window 的磁碟管理工具將我的實例儲存掛載為驅動器號。

但是,如果我停止然後啟動實例,則在我登錄時不再安裝實例儲存。每次重新啟動實例時,我都必須再次使用 Window 的磁碟管理工具重新安裝實例儲存。

如何使實例儲存自動顯示為驅動器?

僅供參考,這是一個基於AWS EC2 文件的更簡單的解決方案

從 PowerShell 視窗執行以下命令。

   #initial disk 1st time: 
   C:\ProgramData\Amazon\EC2-Windows\Launch\Scripts\InitializeDisks.ps1


   # schedule initial disk 
   C:\ProgramData\Amazon\EC2-Windows\Launch\Scripts\InitializeDisks.ps1 -Schedule

將 Amazon 提供的腳本配置為C:\ProgramData\Amazon\EC2-Windows\Launch\Scripts\InitializeDisks.ps1在系統啟動時執行。

  1. 以管理員身份登錄。
  2. 使用如下所示的內容創建一個臨時 XML 文件。
  3. 啟動 Windows 任務計劃程序。(開始>>管理工具>>任務計劃程序)
  4. 選擇操作導入任務…
  5. 選擇您的臨時 XML 文件。
  6. 按 OK 創建任務。

Amazon Ec2 啟動 - 初始化 Disks.xml

<?xml version="1.0" encoding="UTF-16"?>
<Task version="1.3" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">
 <RegistrationInfo>
   <URI>\Amazon Ec2 Launch - Initialize Disks</URI>
 </RegistrationInfo>
 <Triggers>
   <BootTrigger>
     <Enabled>true</Enabled>
   </BootTrigger>
 </Triggers>
 <Principals>
   <Principal id="Author">
     <UserId>S-1-5-18</UserId>
     <RunLevel>HighestAvailable</RunLevel>
   </Principal>
 </Principals>
 <Settings>
   <MultipleInstancesPolicy>IgnoreNew</MultipleInstancesPolicy>
   <DisallowStartIfOnBatteries>true</DisallowStartIfOnBatteries>
   <StopIfGoingOnBatteries>false</StopIfGoingOnBatteries>
   <AllowHardTerminate>false</AllowHardTerminate>
   <StartWhenAvailable>true</StartWhenAvailable>
   <RunOnlyIfNetworkAvailable>false</RunOnlyIfNetworkAvailable>
   <IdleSettings>
     <StopOnIdleEnd>false</StopOnIdleEnd>
     <RestartOnIdle>false</RestartOnIdle>
   </IdleSettings>
   <AllowStartOnDemand>true</AllowStartOnDemand>
   <Enabled>true</Enabled>
   <Hidden>false</Hidden>
   <RunOnlyIfIdle>false</RunOnlyIfIdle>
   <DisallowStartOnRemoteAppSession>false</DisallowStartOnRemoteAppSession>
   <UseUnifiedSchedulingEngine>true</UseUnifiedSchedulingEngine>
   <WakeToRun>false</WakeToRun>
   <ExecutionTimeLimit>PT72H</ExecutionTimeLimit>
   <Priority>0</Priority>
 </Settings>
 <Actions Context="Author">
   <Exec>
     <Command>C:\Windows\System32\cmd.exe</Command>
     <Arguments>/C C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -NoProfile -NonInteractive -NoLogo -ExecutionPolicy Unrestricted -File "C:\ProgramData\Amazon\EC2-Windows\Launch\Scripts\InitializeDisks.ps1"</Arguments>
   </Exec>
 </Actions>
</Task>

我從這裡找到了線索

引用自:https://serverfault.com/questions/814515