將 AWS OpsWorks for Chef Automate 服務器升級到廚師自動化 2 - AWS OpsWorks

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

將 AWS OpsWorks for Chef Automate 服務器升級到廚師自動化 2

重要

AWS OpsWorks 廚師自動化已於 2024 年 5 月 5 日終止使用壽命,並已針對新客戶和現有客戶停用。我們建議現有客戶遷移到 Chef SaaS 或替代解決方案。如果您有任何疑問,可以通過 AWS Re: post 或通過AWS 高級 Support 與 AWS Support 團隊聯繫。

升級至 Chef Automate 2 的先決條件

在開始之前,請務必了解 Chef Automate 2 新增的新功能以及 Chef Automate 2 不支援的功能。如需 Chef Automate 2 中新功能和不支援功能的相關資訊,請參閱 Chef 網站上的 Chef Automate 2 文件

執行 Chef Automate 1 的伺服器必須在 2019 年 11 月 1 日之後至少有一次成功的維護執行,才符合升級資格。

與伺服器上的任何維護作業一樣, AWS OpsWorks for Chef Automate 伺服器在升級期間處於離線狀態。在升級程序期間,您應該規劃最多三個小時的停機時間。

您需要此伺服器的登入資料以用於 Chef Automate 儀表板網站。升級完成後,您應該登入到 Chef Automate 儀表板,並確認您的節點和組態資訊沒有變更。

重要

當您準備好將 AWS OpsWorks for Chef Automate 伺服器升級到 Chef Automation 2 時,請僅使用此處的說明進行升級。由於 AWS OpsWorks for Chef Automate 會自動執行許多升級程序 (例如建立備份),因此請勿遵循 Chef 網站上的升級指示。

關於升級程序

在升級程序期間,您的伺服器會在開始升級之前和完成升級之後進行備份。會建立下列備份:

  • 仍在執行 Chef Automate 1 (版本 12.17.33) 之伺服器的備份。

  • 升級完成後的伺服器備份,此伺服器執行 Chef Automate 2 (版本 2019-08)。

升級程序會終止伺服器執行 Chef 自動化 1 時所使用的 Amazon EC2 執行個體。並建立一個新的執行個體來執行 Chef Automate 2 伺服器。

升級至 Chef Automate 2 (主控台)

  1. 請登入 AWS Management Console 並開啟 AWS OpsWorks 主控台,網址為 https://console.aws.amazon.com/opsworks/

  2. 在左側導覽窗格中,選擇 AWS OpsWorks for Chef Automate

  3. 選擇伺服器以檢視其屬性頁面。頁面頂端的藍色橫幅應該會指出伺服器是否符合升級至 Chef Automate 2 的資格。

    注意

    執行 Chef Automate 1 的伺服器必須在 2019 年 11 月 1 日之後至少有一次成功的維護執行,才符合升級資格。

  4. 如果伺服器符合升級資格,請選擇 Start upgrade (開始升級)

  5. 升級最多需要三個小時。在升級程序期間,屬性頁面會將伺服器狀態顯示為 Under maintenance (維護中)

  6. 升級完成時,屬性頁面會顯示下列兩則訊息:Successfully upgraded to Automate 2 (成功升級至 Automate 2)Maintenance completed successfully (維護成功完成)。伺服器狀態應為 HEALTHY (狀態良好)

  7. 使用您現有的登入資料登入 Chef Automate 儀表板,並確認您的節點是否正確回報。

升級至 Chef Automate 2 (CLI)

  1. (選擇性) 如果您不確定哪些 AWS OpsWorks for Chef Automate 伺服器符合升級資格,請執行下列命令。如果您要列出與預設 AWS 區域不同的 AWS 區域中的 AWS OpsWorks for Chef Automate 伺服器,請務必新增--region參數。

    aws opsworks-cm describe-servers

    在結果中,尋找屬性 CHEF_MAJOR_UPGRADE_AVAILABLE 是否有 true 的值。這表示該伺服器符合升級至 Chef Automate 2 的資格。記下符合升級資格的 AWS OpsWorks for Chef Automate 伺服器名稱。

  2. 運行以下命令,用服務器的名稱替換服務器名稱。 AWS OpsWorks for Chef Automate 若要升級至 Chef Automate 2 而不是執行例行系統維護,請加上 CHEF_MAJOR_UPGRADE 引擎屬性,如命令所示。如果目標伺服器不在您的預設 AWS 區域中,請加上--region 參數。每個命令只能升級一部伺服器。

    aws opsworks-cm start-maintenance --server-name server_name --engine-attributes Name=CHEF_MAJOR_UPGRADE,Value=true --region region

    如果因任何原因 AWS OpsWorks for Chef Automate 無法升級伺服器,此命令會產生驗證例外狀況。

  3. 升級最多需要三個小時。您可以執行下列命令來定期檢查升級狀態。

    aws opsworks-cm describe-servers --server-name server_name

    在結果中,尋找 Status 值。StatusUNDER_MAINTENANCE 表示升級仍在進行中。成功升級會傳回類似下列的訊息。

    2019/10/24 00:27:56 UTC Successfully upgraded to Automate 2. 2019/10/23 23:50:38 UTC Upgrading Chef server from Automate 1 to Automate 2

    如果升級不成功, AWS OpsWorks for Chef Automate 會自動將您的伺服器回復至 Chef 自動化 1。

    如果升級成功,但伺服器無法如同升級之前那樣運作 (例如,假設受管節點無法回報),您可手動復原伺服器。如需手動復原資訊,請參閱將 AWS OpsWorks for Chef Automate 伺服器回滾到廚師自動化 1 (CLI)

將 AWS OpsWorks for Chef Automate 伺服器回滾到廚師自動化 1 (CLI)

如果升級程序失敗, AWS OpsWorks for Chef Automate 會自動將您的伺服器復原至 Chef 自動化 1。如果升級成功,但伺服器的運作與升級之前的運作不同,您 AWS OpsWorks for Chef Automate 可以使用 AWS CLI.

  1. 執行下列命令,顯示在您嘗試升級之前,在伺服器上執行之最後一次備份的 BackupId。如果您的伺服器位於與預設 AWS 區域不同的 AWS 區域,請加上 --region 參數。

    aws opsworks-cm describe-backups server_name

    Backup 識別碼的格式為ServerName年月中文系統。在結果中尋找以下 Chef Automate 1 屬性。

    "Engine": "Chef" "EngineVersion": "12.17.33"
  2. 執行下列命令,使用您在步驟 1 中傳回的備份 ID 作為 --backup-id 值。

    aws opsworks-cm restore-server --server-name server_name --backup-id ServerName-yyyyMMddHHmmssSSS

    視您儲存在伺服器上的資料量而定,還原伺服器需要 20 分鐘到 3 小時的時間。在還原作業期間,您的伺服器的狀態為 RESTORING。此狀態會顯示在中的伺服器屬性頁面上 AWS Management Console,並在describe-servers命令的結果中傳回。

  3. 還原完成後,主控台會顯示 Restore completed successfully (還原成功完成) 訊息。您的 AWS OpsWorks for Chef Automate 伺服器處於線上狀態,與開始升級程序之前的狀態相同。

另請參閱