在 Windows 執行個體上安裝套件 - AWS OpsWorks

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

在 Windows 執行個體上安裝套件

重要

該 AWS OpsWorks Stacks 服務於 2024 年 5 月 26 日終止使用壽命,並已針對新客戶和現有客戶停用。我們強烈建議客戶盡快將其工作負載移轉至其他解決方案。如果您對移轉有任何疑問,請透過 AWS Re: post 或透過進AWS 階 Support 與 AWS Support 團隊聯絡。

注意

此範例假設您已完成在 Windows 執行個體上執行配方範例。否則,您應該先執行該範例。具體而言,它說明如何啟用 RDP 存取您的執行個體。

如果您的軟體隨附安裝程式套件 (例如 MSI),則您必須將檔案下載至執行個體後執行。此範例顯示如何實作技術指南來安裝 MSI 套件 (Python 執行時間),包括如何定義相關的環境變數。如需如何安裝 Windows 功能 (例如 IIS) 的詳細資訊,請參閱安裝 Windows 功能:IIS

設定技術指南
  1. 建立並導覽至名為 installpython 的目錄。

  2. metadata.rb 檔案新增至具有以下內容的 installpython

    name "installpython" version "0.1.0"
  3. recipesfiles 目錄新增至 installpython,並將 default 目錄新增至檔案。

  4. 將 Python 套件從適用於 Windows 的 Python 版本下載至技術指南的 files\default 目錄。此範例會安裝 Windows x86-64 版的 Python 3.5.0a3,以使用名為 python-3.4.3.amd64.msi 的 MSI 安裝程式。

  5. 將名為 default.rb 的檔案新增至包含下列配方程式碼的 recipes 目錄。

    directory 'C:\tmp' do rights :full_control, 'Everyone' recursive true action :create end cookbook_file 'C:\tmp\python-3.4.3.amd64.msi' do source "python-3.4.3.amd64.msi" rights :full_control, 'Everyone' action :create end windows_package 'python' do source 'C:\tmp\python-3.4.3.amd64.msi' action :install end env "PATH" do value 'c:\python34' delim ";" action :modify end

    配方會執行下列動作:

    1. 使用 directory 資源來建立 C:\tmp 目錄。

      如需此資源的詳細資訊,請參閱範例 3:建立目錄

    2. 使用 cookbook_file 資源,將安裝程式從技術指南的 files\default 目錄複製至 C:\tmp

      如需此資源的詳細資訊,請參閱從技術指南安裝檔案

    3. 使用 windows_package 資源執行 MSI 安裝程式,以將 Python 安裝至 c:\python34

      安裝程式會建立必要的目錄並安裝檔案,但不會修改系統的 PATH 環境變數。

    4. 使用 env 資源,將 c:\python34 新增至系統路徑。

      您可以使用 env 資源定義環境變數。在此情況下,配方透過將 c:\python34 新增至路徑,以讓您輕鬆地從命令列執行 Python 指令碼。

      • 資源名稱指定環境變數的名稱,在此範例中為 PATH

      • value 屬性指定變數的值,在此範例中為 c:\\python34 (您需要逸出 \ 字元)。

      • :modify 動作會將指定的值附加到變數目前值的前面。

      • delim 屬性指定隔開新值與現有值的分隔符號,在此範例中為 ;

  6. 建立 .zipinstallpython 封存,並將封存上傳至 S3 儲存貯體,然後將它設為公有。記錄封存的 URL,供日後使用。如需詳細資訊,請參閱 技術指南儲存庫

    傳遞至 Amazon S3 儲存貯體的內容可能包含客戶內容。如需移除敏感資料的詳細資訊,請參閱如何清空 S3 儲存貯體?如何刪除 S3 儲存貯體?

針對此範例建立堆疊,如下所示。您也可以使用現有 Windows 堆疊。只需要更新技術指南,如後面所述。

建立堆疊
  1. 開啟 AWS OpsWorks Stacks 主控台,然後選擇 Add Stack (新增堆疊)。指定下列設定,並接受其他設定的預設值,然後選擇 Add Stack (新增堆疊)

    • 名稱 — InstallPython

    • 地區 — 美國西部 (奧勒岡)

      此範例適用於任何區域,但我們建議您使用美國西部 (奧勒岡) 進行教學課程。

    • 默認操作系統 — Microsoft 視窗服務器 2012 R2

  2. 選擇 Add a layer (新增 layer),並新增自訂 layer 至具有下列設定的堆疊。

    • 名稱-Python

    • 短名稱-蟒蛇

  3. 新增全年無休執行個體 (具有預設設定) 至 Python layer,以及啟動它

在執行個體上線之後,您可以安裝技術指南並執行配方

安裝技術指南並執行配方
  1. 編輯堆疊以啟用自訂技術指南,然後指定下列設定。

    • 存放庫類型S3 存檔

    • 儲存庫 URL — 您之前錄製的食譜封存 URL。

    接受其他設定的預設值,然後選擇 Save (儲存) 以更新堆疊組態。

  2. 執行 Update Custom Cookbooks (更新自訂技術指南) 堆疊命令,以在堆疊線上執行個體上安裝最新版的自訂技術指南。如果存在舊版的技術指南,則此命令會予以覆寫。

  3. 透過執行方法堆疊命令並將要執行的方法設定為執行方案來執行方案installpython::default。此命令會啟動 Chef 執行,內含包含 installpython::default 的回合清單。

    注意

    此範例為了方便起見,使用「執行方法」,但您通常會讓 AWS OpsWorks Stack 透過將方法指派給適當的生命週期事件來自動執行方法。您可以手動觸發事件來執行這類配方。您可以使用堆疊命令來觸發安裝和設定事件,以及使用部署命令來觸發部署和解除部署事件。

  4. 若要驗證安裝,請使用 RDP 連線至執行個體,並開啟 Windows 檔案總管。

    • 檔案系統現在應該會有一個 C:\Python34 目錄。

    • 如果您從命令列執行 path,則它應該看起來像:PATH=c:\python34;C:\Windows\system32;...

    • 如果您從命令列執行 python --version,則它應該會傳回 Python 3.4.3