在您的 Windows 執行個體上設定 EC2Launch v1 代理程式 - Amazon Elastic Compute Cloud

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

在您的 Windows 執行個體上設定 EC2Launch v1 代理程式

第一次初始化執行個體之後,您可以設定EC2Launch為再次執行並執行不同的啟動工作。

設定初始化任務

LaunchConfig.json 檔案中指定設定以啟用或停用下列初始化任務:

  • 將電腦名稱設定為執行個體私人IPv4位址。

  • 將監視器設定為永遠保持開啟狀態。

  • 設定新的桌面。

  • 加入DNS字尾清單。

    注意

    這會新增下列網域的DNS尾碼查詢,並設定其他標準尾碼。如需啟動代理程式如何設定DNS尾碼的詳細資訊,請參閱。設定 EC2 Windows 啟動代理程式的DNS尾碼

    region.ec2-utilities.amazonaws.com
  • 擴充開機磁碟區大小。

  • 設定管理員密碼。

進行初始化設定
  1. 在要設定的執行個體上,於文字編輯器中開啟下列檔案:C:\ProgramData\Amazon\EC2-Windows\Launch\Config\LaunchConfig.json

  2. 視需要更新下列設定並儲存變更。只有在 adminPasswordadminPasswordtype 時,才要在 Specify 中提供密碼。

    { "setComputerName": false, "setMonitorAlwaysOn": true, "setWallpaper": true, "addDnsSuffixList": true, "extendBootVolumeSize": true, "handleUserData": true, "adminPasswordType": "Random | Specify | DoNothing", "adminPassword": "password that adheres to your security policy (optional)" }

    密碼類型的定義如下:

    Random

    EC2Launch生成密碼並使用用戶的密鑰對其進行加密。系統會在執行個體啟動後停用此設定,以便執行個體重新開機或停止再啟動時,能持續使用這個密碼。

    Specify

    EC2Launch使用您在中指定的密碼adminPassword。如果密碼不符合系統需求,請改為EC2Launch產生隨機密碼。系統會將該密碼以純文字存放於 LaunchConfig.json,並在 Sysprep 設定管理員密碼後予以刪除。EC2Launch使用用戶的密鑰加密密碼。

    DoNothing

    EC2Launch使用您在unattend.xml檔案中指定的密碼。如果您未在 unattend.xml 中指定密碼,會停用管理員帳戶。

  3. 在 Windows 中 PowerShell,執行下列命令來排程指令碼以 Windows 排程工作的形式執行。該指令碼會在下一次開機期間執行一次,然後停用這些任務,以避免再次執行。

    C:\ProgramData\Amazon\EC2-Windows\Launch\Scripts\InitializeInstance.ps1 -Schedule

排程EC2Launch在每次開機時執行

您可以排程EC2Launch在每次開機時執行,而非僅在初始開機時執行。

若要啟EC2Launch用在每次開機時執行:

  1. 開啟視窗 PowerShell 並執行下列命令:

    C:\ProgramData\Amazon\EC2-Windows\Launch\Scripts\InitializeInstance.ps1 -SchedulePerBoot
  2. 或使用下列命令執行可執行檔:

    C:\ProgramData\Amazon\EC2-Windows\Launch\Settings\Ec2LaunchSettings.exe

    然後選取 Run EC2Launch on every boot。您可以指定EC2執行個體Shutdown without SysprepShutdown with Sysprep.

注意

當您啟用EC2Launch在每次開機時執行時,下次EC2Launch執行時會發生下列情況:

  • 如果AdminPasswordType仍設定為Random,EC2Launch將在下次開機時產生新密碼。該啟動後,AdminPasswordType會自動設置DoNothing為防EC2Launch止在後續啟動時生成新密碼。若要EC2Launch避免在第一次開機時產生新密碼,請在重新開機DoNothing之前手動設定AdminPasswordType為。

  • HandleUserData 會設回 false,除非使用者資料將 persist 設成 true。如需詳細資訊,請參閱使用者資料指令碼

初始化磁碟機和映射磁碟機代號

DriveLetterMappingConfig.json檔案中指定設定,將磁碟機代號對應至EC2執行個體上的磁碟區。指令碼會初始化尚未初始化和分割的磁碟機。如需有關在 Windows 中取得磁碟區詳細資訊的更多詳細資訊,請參閱 Microsoft 文件中的 Get-Volume

將磁碟機代號映射到磁碟區
  1. 在文字編輯器中開啟 C:\ProgramData\Amazon\EC2-Windows\Launch\Config\DriveLetterMappingConfig.json 檔案。

  2. 指定下列磁碟區設定並儲存您的變更:

    { "driveLetterMapping": [ { "volumeName": "sample volume", "driveLetter": "H" } ] }
  3. 開啟 Windows PowerShell 並使用下列命令來執行初始化磁碟的指令EC2Launch碼:

    C:\ProgramData\Amazon\EC2-Windows\Launch\Scripts\InitializeDisks.ps1

    若要在每次執行個體開機時初始化磁碟,請新增 -Schedule 標記,如下所示:

    C:\ProgramData\Amazon\EC2-Windows\Launch\Scripts\InitializeDisks.ps1 -Schedule

將 Windows 事件記錄檔傳送到主EC2控台

EventLogConfig.json檔案中指定設定,以將 Windows 事件記錄檔傳送至EC2主控台記錄檔。

進行設定以傳送 Windows 事件日誌
  1. 在執行個體上,於文字編輯器中開啟 C:\ProgramData\Amazon\EC2-Windows\Launch\Config\EventLogConfig.json 檔案。

  2. 進行下列日誌設定並儲存您的變更:

    { "events": [ { "logName": "System", "source": "An event source (optional)", "level": "Error | Warning | Information", "numEntries": 3 } ] }
  3. 在 Windows 中 PowerShell,執行下列命令,讓系統將指令碼排定為在每次執行個體開機時以 Windows 排程工作的形式執行。

    C:\ProgramData\Amazon\EC2-Windows\Launch\Scripts\SendEventLogs.ps1 -Schedule

    記錄檔可能需要三分鐘或更長時間才會出現在EC2主控台記錄檔中。

在成功開機後傳送「Windows 已就緒」訊息

每次啟動後,EC2Config服務都會向EC2控制台發送「Windows 已準備就緒」消息。EC2Launch僅在初始啟動後發送此消息。為了與EC2Config服務的向後兼容性,您可EC2Launch以安排在每次啟動後發送此消息。在執行個體上,開啟 Windows PowerShell 並執行下列命令。系統會排程指令碼做為 Windows 排程任務執行。

C:\ProgramData\Amazon\EC2-Windows\Launch\Scripts\SendWindowsIsReady.ps1 -Schedule