設定 Lightsail 執行個體進行負載平衡 - Amazon Lightsail

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

設定 Lightsail 執行個體進行負載平衡

將執行個體連接到 Amazon Lightsail 負載平衡器之前,您需要評估應用程式的組態。例如,資料層與應用程式其他部分隔開時,負載平衡器運作的效果通常會更好。本主題說明每個 Lightsail 實體的相關資訊,並針對負載平衡 (或水平擴展),以及如何進行最佳設定應用程式提供建議。

一般準則:使用資料庫的應用程式

對於使用資料庫的 Lightsail 應用程式,建議您將資料庫執行個體與應用程式的其餘部分分開來,以便您只有一個資料庫執行個體。主要原因是這樣可避免將資料寫入超過一個資料庫。如果您不建立單一的資料庫執行個體,資料就會寫入使用者碰巧叫用的執行個體之資料庫。

WordPress

水平擴展? 是的,對於 WordPress 博客或網站。

使用 Lightsail 負載平衡器之前的組態建議

  • 將資料庫分開,以便在負載平衡器後面 WordPress 執行的每個執行個體都從相同位置儲存和擷取資訊。如果需要資料庫的更高效能,您可以獨立在 Web 伺服器外複寫或變更處理能力或記憶體。

  • 將您的檔案和靜態內容卸載至 Lightsail 值區。為此,您必須在 WordPress 網站上安裝 WP 卸載媒體精簡版插件,並將其配置為連接到 Lightsail 存儲桶。如需詳細資訊,請參閱教學課程:將 WordPress執行個體連線到儲存貯體。

Node.js

水平擴展? 是,但有一些考量。

使用 Lightsail 負載平衡器之前的組態建議

  • 在 Lightsail,Node.js 堆棧打包由 Bitnami 包含 Node.js,阿帕奇,雷迪斯(一個內存數據庫)和 Python。根據您部署的應用程式,您可以跨幾個伺服器執行負載平衡。然而,您需要設定負載平衡器以在所有 Web 伺服器之間平衡流量並將 Redis 移至另一個伺服器。

  • 分割 Redis 伺服器至另一個伺服器以和所有執行個體通訊。視需要新增資料庫伺服器。

  • Redis 的其中一個主要使用案例是在本機快取資料,如此您就不必持續叫用中央資料庫。建議您啟用工作階段持續性以運用 Redis 的效能提升。如需詳細資訊,請參閱為負載平衡器啟用工作階段持續性

  • 您也可以有共用的 Redis 節點,這樣您也能夠共用節點或在使用工作階段持續性的每個機器上使用本機快取。

  • 如果您想要使用 Apache 部署負載平衡器,請考量將 mod_proxy_balancer 包含於 Apache 伺服器中。

如需詳細資訊,請參閱擴展 Node.js 應用程式

Magento

水平擴展? 是。

使用 Lightsail 負載平衡器之前的組態建議

  • 您可以使用 Magento 的 AWS 參考部署,使用其他組件,如 Amazon RDS 數據庫:地形 Magento 的 Adobe 商務上。 AWS

  • 請務必啟用工作階段持續性。Magento 使用購物車,這可協助確保在超過一個工作階段造訪多次的客戶可於新工作階段返回時在其購物車中保留項目。如需詳細資訊,請參閱為負載平衡器啟用工作階段持續性

GitLab

水平擴展? 是,但有考量。

使用 Lightsail 負載平衡器之前的組態建議

您必須有以下項目:

  • 執行中且可使用的 Redis 節點

  • 共用網路儲存伺服器 (NFS)

  • 該應用程序的集中式數據庫(我的SQL或 PostgreSQL)。請參閱以上關於資料庫的一般準則。

如需詳細資訊,請參閱GitLab網站上的高可用性

注意

上述的共用網路儲存區伺服器 (NFS) 目前無法與 GitLab 藍圖一起使用。

Drupal

水平擴展? 是。Drupal 有一份正式文件說明如何水平擴展您的應用程式:伺服器擴展

使用 Lightsail 負載平衡器之前的組態建議

您必須設定 Drupal 模組以在不同的執行個體間同步檔案。Drupal 網站有數個模組,但可能更適用於建立原型而非生產使用。

使用模組將檔案存放於 Amazon S3。這可讓您集中您的檔案,不必在每個目標執行個體上保留個別的複本。如此一來,假設您編輯檔案,集中存放區就可提供更新,而您的使用者無論叫用哪個執行個體都會看見相同的檔案。

如需詳細資訊,請參閱水平和在雲端中擴展 Drupal

LAMP堆疊

水平擴展? 是。

使用 Lightsail 負載平衡器之前的組態建議

  • 您應該在單獨的執行個體上建立資料庫。負載平衡器後方的所有執行個體都應指向此單獨的資料庫執行個體,以從相同的地方存放和擷取資訊。

  • 視您要部署的應用程式而定,請考慮如何共用檔案系統 (NFSLightsail 區塊儲存磁碟或 Amazon S3 儲存)。

MEAN堆疊

水平擴展? 是。

使用 Lightsail 負載平衡器之前的組態建議

將 MongoDB 移至另一部電腦,並設定機制,以便在 Lightsail 執行個體之間共用根文件。

Redmine

水平擴展? 是。

使用 Lightsail 負載平衡器之前的組態建議

  • 取得 Redmine_S3 plugin,在 Amazon S3 而非本機檔案系統中儲存附件。

  • 將資料庫分隔到不同的執行個體。

Nginx

水平擴展? 是。

您可以將一或多個 Lightsail 執行個體執行 Nginx 並連接至 Lightsail 負載平衡器。如需詳細資訊,請參閱調整 Web 應用程式的規模NGINX,第 1 部分:負載平衡

Joomla!

水平擴展? 是,但有考量。

使用 Lightsail 負載平衡器之前的組態建議

雖然 Joomla 網站上沒有正式文件,但在其社群論壇上有一些討論。有些使用者成功水平擴展了 Joomla 執行個體,而其叢集具有以下組態:

  • 設定為啟用工作階段持續性的 Lightsail 負載平衡器。如需詳細資訊,請參閱為負載平衡器啟用工作階段持續性

  • 執行 Joomla 的數個執行個體,並使用 Joomla! 同步。您可以使用 Rsync 之類的工具來執行此操作,擁有負責在所有 Lightsail 實例之間同步內容的NFS服務器,或使用共享文件。 AWS

  • 設定了複寫叢集的數個資料庫伺服器。

  • 在每個 Lightsail 實體中設定的相同快取系統。有一些有用的擴展,例如 JotCache.