使用私有靜態 IP 在 Amazon EC2 上部署卡桑德拉叢集以避免重新平衡 - AWS Prescriptive Guidance

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

使用私有靜態 IP 在 Amazon EC2 上部署卡桑德拉叢集以避免重新平衡

由迪品捷因 (AWS) 創作

Enveronment PoC 或試驗

來源:現場部署 VM

目標:Amazon EC2

R 類型:主體變更

工作負載:開放原始碼

技能:基礎架構; 資料庫; 移轉

AWS 服務:Amazon EC2

Summary

Amazon Elastic Compute Cloud (Amazon EC2) 執行個體的私有 IP 會在整個生命週期中保留。不過,私有 IP 可能會在計劃或非計劃的系統當機期間發生變更;例如,在 Amazon Machine 映像 (AMI) 升級期間。在某些情況下,保留私有靜態 IP 可增強工作負載的效能和復原時間。例如,對 Apache Cassandra 種子節點使用靜態 IP 可防止叢集產生重新平衡負荷。 

此模式描述如何將次要 elastic network interface 附加到 EC2 執行個體,以便在重新主控期間保持 IP 靜態。該模式著重於 Cassandra 集群,但您可以將此實現用於任何受益於私有靜態 IP 的體系結構。

先決條件和限制

先決條件

  • 一個有效的 Amazon Web Services (AWS) 帳戶

產品版本

  • 5.11.1 版

  • 作業系統:Ubuntu 16.04.6 LTS

Architecture

原始碼架構

來源可以是現場部署虛擬機器 (VM) 上的 Cassandra 叢集,也可以是 AWS 雲端中的 EC2 執行個體上的叢集。下圖說明了第二個案例。此範例包含四個叢集節點:三個種子節點和一個管理節點。在來源架構中,每個節點都有連接單一網路介面。

目標架構

目標叢集裝載在 EC2 執行個體上,並將次要 elastic network interface 連接至每個節點,如下圖所示。

自動化和擴充

您也可以自動將第二個 elastic network interface 附加到 EC2 Auto Scaling 群組,如AWS 知識中心影片

Epics

任務描述所需技能
啟動 EC2 節點主機卡桑德拉集群。

Amazon EC2 主控台,請在 AWS 帳戶中為您的 Ubuntu 節點啟動四個 EC2 執行個體。三個 (種子) 節點用於 Cassandra 叢集,第四個節點用作叢集管理節點,您將在其中安裝 DataStaX 企業 (DSE) OpsCenter。如需說明,請參閱Amazon EC2 文件

Cloud 工程師
確認節點通訊。

請確定四個節點可以透過資料庫和叢集管理連接埠彼此通訊。

網路工程師
在管理節點上安裝 DSE OpsCenter。

從管理節點上的 Debian 套件安裝 DSE OpsCenter 6.1。如需說明,請參閱DataStax 說明文件

DBA
建立次要網路界面。

卡桑德拉生成基於該節點的 EC2 實例的 IP 地址為每個節點的通用唯一標識符(UUID)。此 UUID 用於分發環上的虛擬節點(vnode)。當 Cassandra 部署在 EC2 實例上,IP 地址在創建時自動分配給實例。 如果發生計劃或意外中斷,新 EC2 執行個體的 IP 位址會變更、資料分佈會變更,且整個環必須重新平衡。這是不可取的。若要保留指派的 IP 位址,請使用次要 elastic network interface,其中包含固定 IP 地址。

  1. Amazon EC2 主控台中,選擇網路界面建立網路界面

  2. 適用於子網路下,選取您在其中建立 EC2 執行個體的子網路。

  3. 適用於私有 IPv4 地址中,選擇自動指定

  4. 適用於安全群組,選取安全群組,如下所示,然後選擇建立網路界面

如需建立網路界面的詳細資訊,請參閱Amazon EC2 文件

Cloud 工程師
將次要網路介面附加到叢集節點。
  1. Amazon EC2 主控台中,選擇執行個體

  2. 選取您稍早建立之 EC2 執行個體的核取方塊。

  3. 選擇 Actions (動作)Networking (聯網)Attach network interface (連接網路界面)

  4. 選取您在上個步驟中建立的網路介面,然後選擇連接

如需連接網路界面的詳細資訊,請參閱Amazon EC2 文件

Cloud 工程師
在 Amazon EC2 中新增路由以解決非對稱路由。

當您連接第二個網路介面時,網路很可能會執行非對稱路由。若要避免這種情況,您可以為新的網路介面新增路由。

如需深入了解和修正非對稱路由,請參閱AWS 知識中心影片克服多重家用伺服器上的非對稱路由(Linux 日誌由帕特里克·麥克馬努斯,2004 年 4 月 5 日)。

網路工程師
更新 DNS 項目,以指向次要網路介面 IP。

將節點的完整網域名稱 (FQDN) 指向次要網路介面的 IP。

網路工程師
安裝並使用 DSE OpsCenter 設定卡桑德拉叢集。

當集群節點已準備好與次要網絡接口,您可以安裝和配置 Cassandra 集群。

DBA
任務描述所需技能
為叢集種子節點建立 AMI。

製作節點的備份,以便在節點故障的情況下使用資料庫二進位檔還原它們。如需說明,請參閱「」建立 AMI,出自 Amazon EC2 文件中。

Backup 管理員
從節點故障中復原。

以從 AMI 啟動的新 EC2 執行個體取代失敗的節點,並連接失敗節點的次要網路介面。

Backup 管理員
確認卡桑德拉群集是健康的。

當取代節點啟動時,請確認 DSE OpsCenter 中的叢集健全狀況。

DBA

相關資源