快速複製和回溯資料庫以加速應用程式開發

利用 Amazon Aurora 實現

Amazon Aurora 是 MySQL 和 PostgreSQL 相容的關聯式資料庫,結合了傳統企業資料庫的效能和可用性,以及開放原始碼資料庫簡單與經濟實惠的優勢。在本教學中,您將學習如何複製 Aurora 資料庫叢集,以進行開發和測試,以及如何啟用和使用回溯功能,將資料庫叢集「倒轉」至指定的時間。

如果要評估變更對資料庫的影響,或者需要執行工作負載密集型的操作 (如匯出資料或運行分析查詢),或者只想在開發或測試環境中使用生產資料庫的複本,那麼複製 Aurora 叢集非常有用。您可以對 Aurora 資料庫叢集建立多個複製項目。您甚至可以從其他複製項目建立額外複製項目,但需要遵循一定限制,即複製庫資料庫必須要建立在與來源資料庫相同的區域。

回溯允許您將 Aurora 資料庫叢集倒轉至指定的時間。啟用回溯後,Aurora 會記錄資料庫的變更,並允許您切換至與先前一致的狀態。透過此功能,您可以輕鬆地撤銷錯誤。例如,如果意外執行破壞動作,如 DELETE 子句中沒有指定 WHERE,您也能快速回溯至意外發生前的狀態。與從快照或自動備份進行還原不同,回溯速度更快,只需幾分鐘即可切換不同時間下儲存的內容。

在本教學中,您將在啟用回溯的狀態下建立 Aurora 資料庫叢集。您將在叢集中新增數據,並使用回溯功能切換不同時間下儲存的內容。您將複製資料庫並在複本中執行查詢。

本教學不在免費方案之中,如果您遵循本教學中的步驟並在結束時終止資源,本教學僅需不到 1 USD。

先決條件

您需要能夠連接至資料庫並能發出命令至資料庫。我們建議您避免將公有 IP 地址分配給資料庫叢集,因此您可能需要使用與資料庫叢集 VPC 相同的 EC2 執行個體。如果您尚未擁有,請遵循指示進行佈建。

接著,您就能透過運行 sudo yum install mysql 來安裝 MySQL 用戶端。 

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

步驟 1:建立 Aurora 資料庫叢集

1.1 – 開啟瀏覽器並瀏覽至 Amazon RDS 主控台。如果您已有 AWS 帳戶,請登入主控台。否則,請建立新的 AWS 帳戶來開始使用

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

1.2 – 在右上角選擇您希望啟動 Aurora 資料庫叢集的區域。

1.3 – 在「Amazon Aurora」視窗中按一下「建立資料庫」。

在繼續之前,請先切換至新的資料庫建立流程:

引擎選項

1.4 – 對於資料庫引擎,選取「Amazon Aurora」。

1.5 – 對於「版本」,選取「與 MySQL 相容的 Amazon Aurora」。

1.6 – 對於「版次」,選取最新版次的與 MySQL 5.6 相容的 Amazon Aurora。這是因為回溯僅適用於該版次。

1.7 – 對於「資料庫位置」,選擇「區域」。

資料庫功能

1.8 – 選取「一個寫入程式和多個讀取程式」。

範本

1.9 – 選取「生產」。

設定

1.10 – 選擇 Aurora 資料庫叢集的識別符,例如「database-1」。

資料庫執行個體大小

1.11 – 對於「資料庫執行個體大小」,選取大型執行個體 (以 .large 結尾)。

可用性與耐久性

1.12 – 選擇「建立 Aurora 複本/讀取程式」。

連線

1.13 – 選擇您想要建立資料庫的 VPC。

請注意,建立之後,資料庫即無法遷移到不同的 VPC。

1.14 – 按一下「額外連線組態」。

1.15 – 選取子網路群組的預設值。

1.16 – 對於「可公開存取」,選擇「否」。

這表示您必須在同樣的 VPC 中從 EC2 執行個體連線到資料庫。

1.17 – 對於「VPC 安全群組」,選取「新建」。如果您剛好有安全群組允許連接埠 3306 的內送 TCP 連線,則可以選擇此安全群組。 

1.18 – 在「新 VPC 安全群組名稱」中輸入「aurora-tutorial」。

額外組態

1.19 – 啟用回溯。

1.20 – 在「目標回溯時段」中,輸入 24。回溯時段決定可以回溯的時間長度,Aurora 會嘗試保留足夠的日誌資訊來支援該時段。

1.21 – 對於「刪除保護」,取消核取「啟用刪除保護」。

最佳實務是啟用「刪除保護」,但如果想要在本教學結束時刪除資料庫,您可以取消核取該選項。 

檢查並建立

在快速檢閱表單中的所有欄位後,您可以繼續。

1.22 – 按一下「建立資料庫」。

建立執行個體時,您會看到說明如何取得登入資料的橫幅。這是儲存登入資料的好機會,因為這是唯一一次檢視密碼的機會。

1.23 – 按一下「檢視登入資料詳細資訊」。

1.24 – 儲存使用者名稱、密碼與端點。

步驟 2:填寫資料庫

打開終端機視窗,登入應用程式執行個體,並使用 mysql 命令列用戶端連接至 Aurora 資料庫叢集。接著,您就能夠建立資料庫、建立資料表並寫入紀錄。

2.1 – 連接至主資料庫:

$ mysql -h endpoint -P 3306 -u admin -p

每次在命令中讀取端點時,都必須輸入在步驟 1.24 中儲存的端點主機名稱。

同樣地,在提示要輸入密碼時,請輸入在步驟 1.24 中儲存的密碼。

2.2 – 建立資料庫並寫入數據。

mysql> CREATE database tutorial;
Query OK, 1 row affected (0.01 sec)

此時,您可以使用教學資料庫、建立資料表並新增紀錄。

步驟 3:回溯資料庫

3.1 – 按一下 Aurora 資料庫叢集。

3.2 – 按一下「動作」,然後選取「回溯」。

回溯資料庫叢集

3.3 – 選取日期和時間。Aurora 將倒轉資料庫叢集至指定的時間點,並且不會建立新的資料庫叢集。您可以選取建立資料庫或資料表的時間點之前的時間。

3.4 – 按一下「回溯資料庫叢集」。

您會看到畫面中出現藍色橫幅,說明回溯操作正在運行。

一段時間之後,您會看到綠色橫幅,表示回溯操作已完成。

您現在可重複步驟 2 的動作連接至複製資料庫,並驗證資料庫是否返回至以前的狀態。您可以重複回溯操作並將資料庫還原至先前時間。

步驟 4:複製資料庫

4.1 – 選取資料庫。

4.2 – 按一下「動作」,然後選取「建立複製項目」。

4.3 – 選擇識別碼,例如「database-1-clone」。

4.4 – 按一下「建立複製項目」。

您將看到具有複製 Aurora 資料庫叢集的資料庫清單。

對此複製項目執行的任何操作都不會影響原始資料庫叢集。您可以按一下複製叢集的名稱來尋找複製資料庫的端點及其複本:

然後,您會在「端點」區段中看到端點:

您現在可重複步驟 2 的動作連接至複製資料庫,並驗證您的資料庫是否與複製資料庫相同:檢查您所建立的資料庫、資料表、使用者和紀錄,以查看這些內容是否含在複製資料庫之中。您可以修改複製的資料庫並進行所有想要的實驗,然後檢查原始資料庫,以驗證其是否不受影響。

步驟 5:刪除叢集

為了完成本教學,您還將學習如何在不再需要 Aurora 資料庫叢集時將其刪除。若要刪除 Aurora 資料庫叢集,請前往 RDS 儀表板並遵循以下指示: 

5.1 – 在左窗格中選取「資料庫」。

這將顯示所有 Aurora 資料庫叢集的清單。您需要先刪除複製的資料庫。 

5.2 – 選取寫入程式執行個體。

5.3 – 按一下「動作」,然後選取「刪除」。

系統會向您詢問是否要建立最終備份。此選項通常很實用,但在本教學中則無需建立。

5.4 – 取消核取「建立最終快照」的方塊,然後選取「我確認...」的方塊。

5.5 – 鍵入「delete me」,然後按一下「刪除」。

叢集狀態將變更為「正在刪除」。

5.6 – 選取為本教學建立的 Aurora 資料庫叢集讀取程式執行個體。 

5.7 – 按一下「動作」,然後選取「刪除」。

5.8 – 系統會請您確認該動作。鍵入「delete me」,然後按一下「刪除」。

5.9 – 選取為本教學建立的 Aurora 資料庫叢集寫入程式執行個體。

5.10 – 按一下「動作」,然後選取「刪除」。

系統會向您詢問是否要建立最終備份。此選項通常很實用,但在本教學中則無需建立。 

5.11 – 取消核取「建立最終快照」的方塊,然後選取「我確認...」的方塊。

5.12 – 鍵入「delete me」,然後按一下「刪除」。

叢集狀態將變更為「正在刪除」。

恭喜

您已建立啟用回溯的 Aurora 資料庫叢集。您已了解如何設定時間範圍,以便切換不同時間下儲存的資料庫。最後,您學會了如何複製 Aurora 資料庫叢集。

本教學對您有幫助嗎?

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