今天開箱第四顆寶石,我們將比較 RDS 與 EC2 方案的不同處,用來切入為何 AWS RDS 成為實務上必學服務之一。
EC2 & DB & EBS 的意思是建造一台 EC2,並在這上面安裝 DB software,以及配上一點 EBS 來儲存資料 (下圖#1),而下列 Hardware 到 DB backup 皆是建造資料庫所要做的事情 (下圖#2)。
在 EC2 方案下建造資料庫所需作業之中,給 AWS 處理的只有 2 個部分,分別為硬體 (Hardware) 以及作業系統安裝 (OS install)(下圖#3)。
而以 EC2 方案建造資料庫所需作業中,需要使用者自己處理的有下列項目:
DB backup (下圖#1)
EC2 的 DB 資料備份要自己規劃。
DB patching (下圖#2)
DB 軟體有定期更新的需求,所以 EC2 的使用者得自己去定期更新。
DB install (下圖#3)
DB 軟體也要 EC2 的使用者自己安裝,看是要安裝 MySQL 或是 Oracle Golden。
OS patching (下圖#4)
patching 指的是定期更新。在 EC2 方案下,作業系統的定期更新只能靠自己來做,並且這是一件非常麻煩的事情,會這麼說是因為 — — 可能沒過幾個月就得做一次更新,才能跟上最新的安全規範。
假設現在需要 Scale 資料庫(下圖#1),把資料庫從一台變兩台,很有可能需要自己去創造另外一台 EC2 Instance,並且把上面這些步驟都做一遍(下圖#2)。
再來看到 DB failover (下圖#3),假設現在有兩台資料庫,其中一台壞掉了,就需要把所有流量導到現在正常的那一台,這整個機制也要自己來規劃。
最後看到 HA (High availability)(下圖#4),如果是想讓資料庫在兩個不同的 AZ 之中的話,也要自己去配置,而這個會搭配 DB Failover (下圖#3),達到更好的 HA 效果。
RDS 幾乎把所有的事情都做掉了(下圖#1)。首先,可以看到硬體跟作業系統安裝的部分,與左邊的 EC2 方案一樣都會交由 AWS 來做(下圖#2)。
而 AWS 對應到 DB backup 的功能叫做 transaction log(S3) 跟 EBS snapshot (下圖#1);DB scale 的功能叫 Read Replica(下圖#2);DB failover 的功能叫Primary/Standby (下圖#3);HA 同樣用 Primary/Standby (下圖#4)。
我們將會在之後的章節細部說明這些功能。
可以看到自己建一個 EC2 並自行在上面建一個 DB software 的方案,交由 AWS 幫忙做的,只有硬體跟作業系統安裝而已(下圖#1),其他的都得自己做掉。
而 RDS 提供了許多功能,幾乎把使用者所有的事情都做掉了(下圖#2),我們將會在之後的章節細部說明這些功能。
以上,是透過 RDS 與 EC2 方案的比較來介紹 RDS 的部分。
在對 RDS 有了基本認識之後,明天我們將接著看到「資料寶石:RDS架構」!