在 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. 開啟 Windows 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 在第一次開機時產生新密碼,請手動將 AdminPasswordType 設定為 DoNothing,然後再重新開機。

  • 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 服務會在每次開機後,傳送「Windows 已就緒」訊息到 EC2 主控台。EC2Launch 只會在初次開機後傳送這個訊息。若要與 EC2Config 服務回溯相容,您可以排程 EC2Launch 在每次開機後傳送這個訊息。在執行個體上,開啟 Windows PowerShell 並執行下列命令。系統會排程指令碼做為 Windows 排程任務執行。

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