升級 Greengrass V1 核心裝置至 Greengrass V2 - AWS IoT Greengrass

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

升級 Greengrass V1 核心裝置至 Greengrass V2

確認您的應用程式和元件可在 AWS IoT Greengrass V2 核心裝置上運作後,您可以在目前執行 v1.x 的裝置上安裝 AWS IoT Greengrass Core 軟體 v2.x,例如生產裝置。然後,部署 Greengrass V2 元件以在裝置上執行您的 Greengrass 應用程式。

若要將裝置機群從 V1 升級到 V2,請完成以下步驟,讓每個裝置升級。您可以使用物件群組將 V2 元件部署到核心裝置機群。

提示

我們建議您建立指令碼,以自動化裝置機群的升級程序。如果您使用 AWS Systems Manager 管理機群,您可以使用 Systems Manager 在每個裝置上執行該指令碼,將機群從 V1 升級到 V2。

您可以聯絡您的 AWS 企業支援代表,詢問如何以最佳方式自動化升級程序。

步驟 1:安裝 AWS IoT Greengrass Core 軟體 v2.x

從下列選項中選擇,在 V1 核心裝置上安裝 AWS IoT Greengrass Core 軟體 v2.x:

  • 在較少的步驟中升級

    若要以較少的步驟進行升級,您可以在安裝 v2.x 軟體之前解除安裝 v1.x 軟體。

  • 以最少的停機時間進行升級

    若要以最短的停機時間進行升級,您可以同時安裝這兩個版本的 AWS IoT Greengrass Core 軟體。安裝 AWS IoT Greengrass Core 軟體 v2.x 並確認 V2 應用程式是否正常運作後,請解除安裝 AWS IoT Greengrass Core 軟體 v1.x。選擇此選項之前,請考慮同時執行兩個 AWS IoT Greengrass Core 軟體版本所需的額外 RAM。

在安裝 v2.x 之前解除安裝 AWS IoT Greengrass Core v1.x

如果您想要循序升級,請在裝置上安裝 v2.x 之前解除安裝 AWS IoT Greengrass Core 軟體 v1.x。

解除安裝 AWS IoT Greengrass Core 軟體 v1.x
  1. 如果 AWS IoT Greengrass Core 軟體 v1.x 以服務的形式執行,您必須停止、停用和移除服務。

    1. 停止執行中的 AWS IoT Greengrass Core 軟體 v1.x 服務。

      sudo systemctl stop greengrass
    2. 等待服務停止。您可以使用 list命令來檢查服務的狀態。

      sudo systemctl list-units --type=service | grep greengrass
    3. 停用服務。

      sudo systemctl disable greengrass
    4. 移除 服務。

      sudo rm /etc/systemd/system/greengrass.service
  2. 如果 AWS IoT Greengrass Core 軟體 v1.x 不是以服務的形式執行,請使用下列命令來停止協助程式。以 Greengrass 根資料夾的名稱取代 greengrass-root。預設位置為 /greengrass

    cd /greengrass-root/ggc/core/ sudo ./greengrassd stop
  3. (選用) 將 Greengrass 根資料夾和適用的自訂寫入資料夾備份到裝置上的不同資料夾。

    1. 使用以下命令將目前的 Greengrass 根資料夾複製到不同的資料夾,然後移除根資料夾。

      sudo cp -r /greengrass-root /path/to/greengrass-backup rm -rf /greengrass-root
    2. 使用下列命令將寫入資料夾移至不同的資料夾,然後移除寫入資料夾。

      sudo cp -r /write-directory /path/to/write-directory-backup rm -rf /write-directory

針對 Greengrass 核:您可以使用 的安裝指示 AWS IoT Greengrass V2,在裝置上安裝 Greengrass 核。

針對 Greengrass nucleus lite:您可以使用 Greengrass nucleus lite 的安裝指示來安裝 Greengrass nucleus lite。

提示

若要在從 V1 遷移至 V2 時重複使用核心裝置的身分,請依照指示使用手動佈建安裝 AWS IoT Greengrass 核心軟體。首先從裝置移除 V1 核心軟體,然後重複使用 V1 核心裝置的 AWS IoT 物件和憑證,並更新憑證 AWS IoT 的政策以授予 v2.x 軟體所需的許可。

在已執行 v1.x 的裝置上安裝 AWS IoT Greengrass Core 軟體 v2.x

如果您在已執行 AWS IoT Greengrass Core 軟體 v1.x 的裝置上安裝 AWS IoT Greengrass Core v2.x 軟體,請記住下列事項:

  • V2 核心裝置的 AWS IoT 物件名稱必須是唯一的。請勿使用與 V1 核心裝置相同的物件名稱。

  • 您用於 AWS IoT Greengrass Core 軟體 v2.x 的連接埠必須與您用於 v1.x 的連接埠不同。

  • AWS IoT Greengrass V2 不提供重新命名 Greengrass 系統服務的選項。如果您執行 Greengrass 做為系統服務,則必須執行下列其中一項作業,以避免系統服務名稱衝突:

    重新命名 v1.x 的 Greengrass 服務
    1. 停止 AWS IoT Greengrass Core 軟體 v1.x 服務。

      sudo systemctl stop greengrass
    2. 等待服務停止。服務最多可能需要幾分鐘的時間才能停止。您可以使用 list-units命令來檢查服務是否停止。

      sudo systemctl list-units --type=service | grep greengrass
    3. 停用服務。

      sudo systemctl disable greengrass
    4. 重新命名服務。

      sudo mv /etc/systemd/system/greengrass.service /etc/systemd/system/greengrass-v1.service
    5. 重新載入服務並啟動服務。

      sudo systemctl daemon-reload sudo systemctl reset-failed sudo systemctl enable greengrass-v1 sudo systemctl start greengrass-v1

然後,您可以使用 的安裝指示 AWS IoT Greengrass V2,在裝置上安裝軟體。

提示

若要在將核心裝置的身分從 V1 遷移至 V2 時重複使用,請依照指示使用手動佈建安裝 AWS IoT Greengrass 核心軟體。首先從裝置移除 V1 核心軟體,然後重複使用 V1 核心裝置的 AWS IoT 物件和憑證,並更新憑證 AWS IoT 的政策以授予 v2.x 軟體所需的許可。

步驟 2:將 AWS IoT Greengrass V2 元件部署至核心裝置

在裝置上安裝 AWS IoT Greengrass Core 軟體 v2.x 之後,請根據您選擇的執行時間部署元件。

對於 Greengrass 核:

建立包含下列資源的部署。若要將元件部署到類似裝置的機群,請為包含這些裝置的物件群組建立部署。

如需建立和修訂部署的資訊,請參閱 將 AWS IoT Greengrass 元件部署至裝置

針對 Greengrass nucleus lite:

將您在遷移指南的步驟 2 中建立的一般元件部署到 Greengrass nucleus lite 裝置:

  1. 使用您建立的元件配方在 中建立元件

  2. 建立以 Greengrass nucleus lite 裝置為目標的部署,其中包含您的一般元件

  3. 確認您的元件是否正確執行