RDS只讀副本-實操演示及重要知識點

關注公衆號:AWS愛好者(iloveaws)
文 | 沉默惡魔(禁止轉載,轉載請先經過作者同意)
網站:www.iloveaws.cn

Hello大家好,歡迎來到《AWS解決方案架構師認證 Professional(SAP)中文視頻培訓課程》,我們今天這節課的內容爲RDS只讀副本,繼續上節課的內容。我們開始今天的課程內容。

在這裏插入圖片描述

上節課的最後,我們使用東京的主數據庫在首爾區域創建了一個只讀副本,目前只讀副本已經創建完成,可以看到狀態爲 “可用”。

我們測試使用的主數據庫是新創建的,所以沒有什麼數據,創建只讀副本大概用了10分鐘左右。如果您的主數據庫中包含大量的數據,那麼基於此創建只讀副本的時間就會更長。

另外,創建只讀副本的時間也取決於 是在同主數據庫相同AWS區域創建只讀副本,還是不同區域創建。

就我們目前這個測試環境而言,主數據庫在東京,而創建的只讀副本在首爾,所以數據同步的時間會比在相同區域時間所需更長。

接下來的內容,我們要測試下主數據庫和只讀副本之間數據複製是否可以正常工作。

在這裏插入圖片描述

連接RDS主數據庫

我們先切換到主數據庫所在的東京區域,接下來我們要連接主數據庫,然後在主數據庫實例上創建一個測試的數據庫,看下數據是否會自動複製到只讀副本。

要在本地終端訪問主數據庫,在創建數據庫時,要將公開可用性打開,以及在數據庫對應的VPC安全組中,添加相應的允許訪問策略。

爲了測試需要,我們的主數據庫和只讀副本都做了這些操作,否則將無法從本地連接數據庫,這一點要注意。

我們複製一下主數據庫的終端節點地址,爲iloveawscn.cmvgetueoggg.ap-northeast-1.rds.amazonaws.com,然後在本地通過數據庫的終端節點地址和端口連接數據庫。

在這裏插入圖片描述
切換到本地終端,在連接數據庫前,我們先使用nc命令測試下本地到數據庫的端口聯通性,輸入命令:

nc -zv  iloveawscn.cmvgetueoggg.ap-northeast-1.rds.amazonaws.com 3306

可以看到本地到數據庫的端口連通性沒問題,我們繼續連接主數據庫,輸入命令:

mysql -h iloveawscn.cmvgetueoggg.ap-northeast-1.rds.amazonaws.com -u iloveawscn -p
-u 後面iloveawscn爲我們創建數據庫設置的用戶名,然後輸入密碼。

我們已經連接到了主數據庫,輸入show databases; 列出了當前存在的一些數據庫。

在RDS主數據庫上創建一個新數據庫

我們現在在新創建個新的數據庫,名爲rpdemo,輸入命令:

create database rpdemo;

數據庫已經創建完成了,在一次show databases; 可以看到我們剛創建的rpdemo數據庫。
在這裏插入圖片描述

好,我們從主數據庫中退出來,接下來我們要做的,是使用本地終端連接在首爾區域的只讀副本。

連接只讀副本,確認複製情況

切換到RDS管理控制檯,切換到首爾區域。
同樣,我們複製只讀副本的終端節點地址,然後切換到本地終端,先測試本地到只讀副本的連通性:

nc -zv   iloveawscn-rp.c5cqd1aey53g.ap-northeast-2.rds.amazonaws.com 3306

連通性沒有問題。
在這裏插入圖片描述

然後我們連接只讀副本,輸入命令:

mysql -h iloveawscn-rp.c5cqd1aey53g.ap-northeast-2.rds.amazonaws.com -u iloveawscn -p

注意連接只讀副本的用戶名和密碼和主數據庫是一致的。

好的,我們現在已經連接到了只讀副本,然後輸入show databases; 命令,可以看到我們剛剛在主數據庫創建的rpdemo數據庫已經複製過來了。

只讀副本無法寫入數據

需要注意的一點是,我們現在連接的是隻讀副本,只讀副本是無法寫入數據的,我們可以測試下是不是這樣,輸入命令:

create database rpwrite;

提示我們這個mysql服務器運行在read-only只讀模式無法執行此語句。
所以在只讀副本是無法直接寫入數據的。數據寫入在主數據庫,然後主數據庫會異步複製數據至只讀副本。
在這裏插入圖片描述

只讀副本監控指標—副本滯後指標

在使用只讀副本的過程中,有一個重要的指標需要關注和監控。

我們切換到只讀副本,然後監控選項卡,找到cloudwatch的“副本滯後”指標,這個指標的單位是毫秒,顯示只讀副本上的當前時間戳與主數據庫的原始時間戳之間的差異,差異過大意味着主數據庫數據未能及時複製至只讀副本,只讀副本數據較舊需要及時排查問題,在實際使用環境,需要對這個副本滯後指標做監控。
在這裏插入圖片描述

好的,我們接下來的內容,來討論下對於使用只讀副本以及考試過程中,關於只讀副本的一些重要的知識點。

只讀副本重要知識點

-只讀副本更適用於讀取密集型數據庫工作負載的需求
-創建只讀副本,必須在源數據庫實例上啓用自動備份,並將備份保留期設置爲一個非零值
-可從一個數據庫實例創建最多 5 個只讀副本,Aurora最多15個
-可以將只讀副本提升爲獨立的數據庫實例使用。這個我們上節課介紹過了,只讀副本也可作爲災難恢復策略的一部分。拿我們做測試這個案例來舉例,我們的主數據庫在東京區域,只讀副本首爾區域,如果之後主數據庫所在的東京區域出現故障,導致我們無法連接到主數據庫,當出現這種情況時,是可以將首爾區域的只讀副本提升爲獨立的數據庫實例使用的,提升只讀副本爲獨立數據庫後,與原來的主數據庫異步複製將停止,只讀副本作爲主數據庫來使用。大家要了解提升只讀副本是可以應對這個場景的。
-只讀副本適用於 MariaDB、MySQL、Oracle 和 PostgreSQL,Aurora

好的,接下來的內容,我們將使用aws管理控制檯快速演示一下上面討論的部分知識點。

在這裏插入圖片描述
創建只讀副本,必須在源數據庫實例上啓用自動備份,並將備份保留期設置爲一個非零值。

我們看下在哪裏進行配置,切換到東京區域的主數據庫的RDS管理控制檯,然後找到我們的主數據庫,點擊修改,在下面的備份部分,可以看到備份保留期,需要將其配置爲非0天啓動自動備份,纔可以基於這個主數據庫創建只讀副本,當然在創建這個數據庫時也可以進行自動備份的配置。必須在源數據庫實例上啓用自動備份,才能創建只讀副本。

好,這是一個知識點。

在這裏插入圖片描述
回到RDS管理控制檯切換到東京區域,我們之前已經基於這個主數據庫創建了一個只讀副本,我們可以再次選擇這個主數據庫,然後通過操作-創建只讀副本,在創建一個只讀副本,可從一個數據庫實例創建最多 5 個只讀副本,Aurora最多可創建15個只讀副本。

在這裏插入圖片描述
然後我們演示下如何將只讀副本提升爲獨立的數據庫實例使用。

切換到只讀副本所在的首爾區域,在RDS管理控制檯選擇只讀副本,通過“操作-提升”來提升只讀副本。

首先需要設置關於啓用自動備份的一些選項,我們前面已經介紹過了,然後點繼續。

會看到提示信息:“是否確定提升該只讀副本,在提升該只讀副本之前,建議您停止主數據庫的所有事務並等待只讀副本滯後爲零。”

副本滯後這個指標我們前面已經討論過,提升只讀副本,主數據庫和只讀副本間的複製會停止,如果提升時副本滯後這個指標數值較大,只讀副本很可能不具備提交給主數據庫實例的所有事務,也就是說提升後的只讀副本數據是比主數據庫滯後的,這裏要注意。

我們繼續,點擊“提升只讀副本”,將只讀副本提升爲主數據庫,整個過程需要等待一些時間,我暫停一下錄製,等提升完成後在繼續課程。
在這裏插入圖片描述

大概等了幾分鐘左右操作完成,可以看到狀態爲可用,之前iloveawscn-rp是隻讀副本,現在提升後就可以作爲獨立的數據庫實例來使用。

之前iloveawscn-rp是隻讀副本的時候我們做了個測試,連接只讀副本之後創建數據庫會提示:mysql服務器運行在read-only只讀模式無法執行此語句,因爲只讀副本是無法直接寫入數據的;

那我們接下來就在測試下,來看一下只讀副本提升爲獨立的數據庫實例後,能否創建數據庫。

同樣的方式連接到這個數據庫,然後輸入:

create database rpwrite;

創建rpwrite數據庫,可以看到執行成功,輸入命令:show databases; 可以看到當將只讀副本提升爲獨立的數據庫來使用後,是可以正常寫入數據的。

好的,以上就是我們今天的課程內容,我們介紹了只讀副本相關的知識點,希望能給大家帶來幫助。

在這裏插入圖片描述
希望此係列教程能爲您通過 AWS解決方案架構師認證 Professional 認證考試帶來幫助,如您有任何疑問,請聯繫我們:

AWS愛好者的網址是www.iloveaws.cn。
可以通過掃碼加入【AWS愛好者】微信公衆號,查看原創的AWS知識點相關文章
加入【AWS愛好者】微信羣,和其他同學一起備考,以及探討交流AWS相關知識
加入【AWS知識星球】持續學習。
我們今天的視頻課程就到這裏,感謝大家的觀看,我們下一課程再見。

關注公衆號:AWS愛好者(iloveaws)
文 | 沉默惡魔(禁止轉載,轉載請先經過作者同意)
網站:www.iloveaws.cn
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章