

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

# 教學課程： AWS AWS IoT AWS IoT Greengrass V2 使用 Pacemaker 設定 的高可用性
<a name="pacemaker-tutorial"></a>

本教學課程說明如何使用高可用性叢集資源管理員 [Pacemaker](https://clusterlabs.org/projects/pacemaker/)，在高可用性 (HA) 組態 AWS AWS IoT AWS IoT Greengrass V2 中設定 。您可以將多個 Amazon EC2 執行個體設定為叢集執行個體、使用 [DRBD](https://linbit.com/drbd/) 進行區塊層級資料複寫，以及使用自動容錯移轉將管理和 AWS IoT Greengrass V2 負載平衡器服務設定為 Pacemaker 資源。

**重要**  
本教學課程使用 Amazon Elastic Compute Cloud 執行個體來示範設定。您可以部署 AWS IoT Greengrass V2 和 Pacemaker 整合，在任何裝置類型的叢集上實現高可用性，只要裝置可以互相通訊即可。

本教學課程包含下列設定：
+ **主動/被動 AWS IoT Greengrass V2 服務** – 以系統化服務 AWS IoT Greengrass V2 的形式執行，該服務由具有 DRBD 複寫儲存體的 Pacemaker 管理。 AWS IoT Greengrass V2 一次只有一個執行個體執行，而且 Pacemaker 會處理待命執行個體的容錯移轉。
+ **主動/被動負載平衡器** – 將 HAProxy 作為 Pacemaker 管理的資源執行，其組態存放在 DRBD 複寫儲存體上。如果主要執行個體故障，則 Pacemaker 會容錯移轉負載平衡器到待命執行個體。
+ **主動/主動 AWS IoT Greengrass V2 元件** – 使用自訂 OCF （開放式叢集架構） 資源代理程式監控所有執行個體的 AWS IoT Greengrass V2 元件。Pacemaker 會偵測元件故障，並在沒有完整執行個體容錯移轉的情況下觸發復原。

每個設定都是獨立且互斥的。每個設定都會從先決條件中假設新的開始，並針對每個設定的需求重新使用單一 DRBD 資源。設定 3 （主動/主動） 不使用 DRBD — 略過 DRBD 先決條件步驟，並改為在每個執行個體上安裝 AWS IoT Greengrass V2 至本機路徑。

在設定 1 和 2 中，您可以建立高度可用的 AWS IoT Greengrass V2 裝置叢集。叢集包含一個*主要執行個體*，這是目前作用中並執行受管服務的執行個體 （例如 AWS IoT Greengrass V2 或 HAProxy)，以及一或多個*待命執行個體*，這些執行個體處於閒置狀態，並在主要執行個體故障時等待接管。在容錯移轉期間，Pacemaker 會自動將其中一個待命執行個體提升為主要執行個體。在設定 3 （主動/主動） 中，所有執行個體都會同時執行服務，而 Pacemaker 會處理每個執行個體復原，而不是容錯移轉提升。

**Topics**
+ [先決條件和叢集設定](pacemaker-tutorial-prerequisites.md)
+ [主動/被動 AWS IoT Greengrass V2 服務](pacemaker-tutorial-setup1.md)
+ [主動/被動負載平衡器](pacemaker-tutorial-setup2.md)
+ [作用中/作用中 AWS IoT Greengrass V2 元件](pacemaker-tutorial-setup3.md)