建立高可用性資料庫叢集

使用 Amazon Aurora

在本教學中,您將學習如何設定 Amazon Aurora 叢集以建立高可用性資料庫。高可用性資料庫由跨多個可用區域複製的運算節點組成,以取得提升的讀取延展性和容錯移轉保護。 

Amazon Aurora 是具備 MySQL 以及 PostgreSQL 相容版本的關聯式資料庫,以極低的費用提供了企業資料庫的效能與可用性。對於大多數生產工作負載,您可能會想以高可用性來設定資料庫。

預設情況下,Amazon Aurora 叢集只有一個執行讀/寫作業的主要運算執行個體。將一個或多個 Aurora 複本新增至叢集,您可以取得資料庫叢集的讀取可伸縮性和高可用性。如果叢集中的主執行個體發生失敗,Aurora 會自動將現有複本伺服器提升為新的主執行個體。

通常您必須在與主執行個體不同的可用區域 (AZ) 中建立 Aurora 複本。如此一來,如果主可用區域中的基礎結構出現問題,您的資料庫可以快速容錯移轉到另一個可用區域中的複本伺服器。

在儲存層,Aurora 會跨三個可用區域以六種方式對其進行複製,始終保護您的資料。但是,如果未將 Aurora 複本新增至叢集,則必須等待 Aurora 在偵測到失敗時為您建立新的取代主執行個體,這個過程可能需要更長的時間。

本教學將使用具有 MySQL 相容性的 Amazon Aurora。您將透過 Amazon RDS 管理主控台建立 Aurora 叢集、新增 Aurora 複本、測試容錯移轉方案,然後終止教學環境。

本教學不在免費方案之中,如果您按照本教學中的步驟並在結束時終止資源,本教學只會花費您不到 1 USD。

關於本教學
時間 10 分鐘                                           
費用 低於 1 USD
使用案例 資料庫
產品 Amazon Aurora、Amazon RDS
對象 資料庫管理員、開發人員
等級 中級
上次更新日期 2019 年 4 月 12 日

1.註冊 AWS

您需要一個 AWS 帳戶才能跟上本教學。透過選取「註冊 AWS」來註冊帳戶。 

已經有帳戶了嗎? 登入您的帳戶

步驟 2 - 使用 Amazon RDS 主控台

Amazon Aurora 是專為雲端建立的 MySQL 和 PostgreSQL 相容關聯式資料庫。這是 Amazon Relational Database Service (Amazon RDS) 的引擎之一。在此步驟中,您將進入 Amazon RDS 主控台。

開啟 AWS 管理主控台,以便讓此逐步指南持續保持開啟狀態。當畫面載入時,請輸入您的使用者名稱和密碼以開始使用。選取服務 > RDS,以進入 RDS 管理主控台。

步驟 3 - 建立 Amazon Aurora 叢集

在此步驟中,您將建立由一個 Aurora 資料庫執行個體組成的 Amazon Aurora 叢集。

a.在 Amazon RDS 主控台的右上角,選取區域以指定您要建立資料庫執行個體的區域,然後選取建立資料庫

b.在選取引擎頁面上,選取 Amazon Aurora。 然後選取所需的版本,然後選取下一步

c.  您現在可以進行資料庫設定。保留「容量類型」和「資料庫引擎版本」的預設設定。在資料庫執行個體類別中,您將選取資料庫執行個體的運算和記憶體容量。Amazon Aurora 按執行個體類型來每小時收費 - 針對本教學,請選取 db.t2.small (1 vCPU, 2 GiB RAM) 以維持低成本。

在「異地同步備份部署」下,選取。儘管 Amazon Aurora 預設選項提供異地同步備份部署,但本教學將引導您在所選可用區域中建立複本。 

d.  輸入資料庫執行個體識別符的名稱、母片使用者名稱和密碼。選取下一步

e.  Amazon RDS 有許多進階組態選項。針對本教學的目的,請保留預設組態,並選取建立資料庫

取決於資料庫執行個體類別,最多可能需要幾分鐘才能使資料庫執行個體可用。選取檢視資料庫執行個體詳細資訊。 

f.新的 Aurora 資料庫執行個體會顯示在 RDS 主控台的資料庫清單中。該資料庫執行個體的狀態為正在建立,直到該執行個體準備好可以使用,且狀態變更為可用為止。如果狀態在幾分鐘內沒有變更,請重新整理頁面。

步驟 4 - 建立一個高可用性的 Aurora 複本

預設情況下,每個 Amazon Aurora 執行個體都具有強大的資料保護。您可以透過在 AWS 區域內的不同可用區域 (AZ) 中新增僅供讀取複本來提高運算可用性。最多可以有 15 個 Aurora 複本可分散在一個資料庫叢集於一個區域中所跨距的 AZ 中。 

a.  在 Amazon RDS 主控台中,我們的 Aurora 叢集中的主 (寫入器) 執行個體將在資料庫中列出。選取執行個體名稱,並記下網路下的可用區域。

b.選取動作 > 新增讀取者,來針對叢集選取選項按鈕並建立 Aurora 複本。

c.從主或母片資料庫執行個體來選取一個不同的可用區域。針對執行個體規格,請選取類似主執行個體的執行個體類別 (在本例中為 db.t2.small),因此在容錯移轉情況下,我們不會看到資料庫效能的任何變更。在設定下,輸入 Aurora 僅供讀取複本資料庫執行個體的唯一名稱。

選取新增讀取者

d.在資料庫清單中,我們看到正在以讀取者的角色來建立新複本。向右捲動,直到看到多個可用區域屬性,而且現在您將看到 2 個區域 ,表示叢集散佈在兩個可用區域 (在運算層)。 

您已成功在運算層上達成高可用性。接下來,我們將測試資料庫容錯移轉過程。

步驟 5 - 設定資料庫叢集以進行容錯移轉

要提高高可用性,可以將 Aurora 複本用作容錯移轉目標。如果主執行個體失敗,則將 Aurora 複本提升為主執行個體。使用複本的目的在於讀取可延展性和可用性。在此步驟中,您將設定用於容錯移轉的 Aurora 複本的優先順序。

 

a.  選取讀取者資料庫執行個體旁邊的選項按鈕,然後選取修改

b.  在容錯移轉期間,Amazon RDS 會將具有最高優先性 (從第 0 層開始) 的複本升級為新的主執行個體。在此範例中,我們沒有任何現有複本,因此我們將複本設定為最高優先性。在容錯移轉下,選取階層 - 0

如果相同優先順序方案中兩個或多個複本之間出現爭用情形,Amazon RDS 會提升與主執行個體大小相同的複本。

選取繼續,然後選取修改資料庫執行個體

步驟 6 - 測試資料庫容錯移轉

a.  選取目標執行個體上的選項按鈕。然後選取動作 > 容錯移轉。這將導致複本升階為新的主 (或寫入器) 執行個體,而舊的主 (或寫入器) 執行個體變為新的僅供讀取複本。

 

b.選取容錯移轉

c.容錯移轉完成所需的時間取決於容錯移轉時資料庫活動的數量,但通常不到 60 秒。您可以在記錄和事件 > 最近的事件下監控容錯移轉過程。

使用端點,容錯移轉過程對於應用程式是透明的。當叢集和讀取者端點用作資料庫的 DNS 時,執行個體連線將保持不變,並自動使用新的資料庫執行個體。 

7.終止資源

在此步驟之中,您將終止 Aurora 資料庫叢集環境。

重要:終止非使用中的資源可降低成本,這是最佳實務。未終止資源將會產生費用。

a.選取要終止的 Amazon Aurora 叢集名稱,然後按一下叢集名稱以顯示所有叢集執行個體的清單。選取讀取者角色資料庫執行個體上的選項按鈕,然後選取動作 > 刪除

 

b.輸入片語刪除我,然後選取刪除以確認刪除。您將看到狀態變更為正在刪除


c.針對寫入器資料庫執行個體,重複步驟 6a-b。為求最佳實務,系統將要求您在刪除之前執行最後快照。由於這是您的測試資料庫叢集,因此請取消選取建立最終快照選項,然後選取認可。輸入刪除我,然後選取刪除。此步驟將刪除 Aurora 叢集,包含儲存和所有自動資料庫備份。

恭喜

您已經了解如何使用 AWS 管理主控台來設定具有高可用性的 Amazon Aurora 資料庫叢集。現在,您可以為關鍵應用程式利用 Amazon Aurora 的高可用性、效能和耐用性。

本教學對您有幫助嗎?

感謝您
請告訴我們您喜歡的部分。
抱歉,讓您失望
是有內容過時、令人困擾,或不準確嗎? 請提供意見回饋,協助我們改進此教學課程。