如何對執行使用者資料指令碼來設定 EC2 Windows 執行個體時的問題進行疑難排解?

1 分的閱讀內容
0

我無法在我的 Amazon Elastic Compute Cloud (Amazon EC2) Windows 執行個體上修改使用者資料或執行使用者資料指令碼。或者,我想查看使用者資料日誌,但不知道它們在哪裡。

解決方法

您已修改或設定使用者資料,但它在執行個體啟動時無法執行。或者,您無法設定使用者資料

在處理使用者資料時,請遵循下列條件:

  • 您必須對使用者資料進行 Base64 編碼。
  • 在進行 base64 編碼之前,使用者資料的原始形式限於 16 KB。
  • 在擷取使用者資料時必須對其進行 Base64 解碼。如果您使用執行個體中繼資料或 Amazon EC2 主控台擷取資料,則會自動為您解碼。
  • 如果您停止執行個體,然後修改其使用者資料,則啟動執行個體時不會執行更新的使用者資料。
  • 使用者資料指令碼需要特定的語法。如需指令碼語法的詳細資訊和範例,請參閱使用者資料指令碼
  • 在本機測試環境中執行指令碼以驗證語法。
  • EC2 執行個體必須連線至 169.254.169.254 上的中繼資料服務。
  • 當您使用不使用 Sysprep 的自訂 Windows 映像時,永久路由可能會指向父執行個體的預設閘道。如需詳細資訊,請參閱為什麼我的 Amazon EC2 Windows 執行個體會產生 "Waiting for the metadata service" 錯誤?

依預設,使用者資料在 EC2 執行個體重新啟動或啟動時不會執行

當 EC2 執行個體最初啟動時,依預設,使用者資料只會執行一次。您可以將執行個體設定為每次執行個體重新啟動或啟動時執行使用者資料。

如需詳細資訊,請參閱當我重新啟動或啟動執行個體時,如何在現有 EC2 Windows 執行個體上執行命令?

找不到使用者資料日誌

EC2Launch、EC2Launch v2 和 EC2Config 日誌檔包含來自標準輸出和標準錯誤串流的輸出。您可以在下列位置存取日誌檔:

  • EC2Launch v2: C:\ProgramData\Amazon\EC2Launch\log\agent.log
  • EC2Launch: C:\ProgramData\Amazon\EC2-Windows\Launch\Log\UserdataExecution.log
  • EC2Config: C:\Program Files\Amazon\Ec2ConfigService\Logs\Ec2ConfigLog.txt

**注意:**依預設,**C:\ ProgramData ** 是隱藏的資料夾。

相關資訊

如何在啟動時在新的 EC2 Windows 執行個體上執行命令?

Microsoft 網站上的 Sysprep (系統準備) 概觀

AWS 官方
AWS 官方已更新 8 個月前