[大話 AWS 雲端架構筆記] RDS
簡介 RDS 和使用方法和運作機制
只要按幾下即可在雲端設定、操作和擴展關聯式資料庫
型態 | 可控性 | 資料庫引擎 | 管理 |
---|---|---|---|
自建 | 系統底層 | 自由選擇 | 自行規劃可用性與備援 |
RDS | 有限 | 支援有限 | 提供快照與備援機制 |
備援與高可用性
Multi-AZ 異地同步備份部署
使用「多機構部署」的高可用方案,在不同的 AZ 分別準備資料庫系統
透過 Subnet Group 在不同 AZ 間建立「主從式資料庫」
主要資料庫的資料會同步複製到備援用資料庫中,會產生較高費用
Snapshot 方案
針對主要資料庫定期自動備份,也可以手動進行備份
刪除 RDS 時
- 定期備份:只留下最後一個備份
- 手動備份:全部被保留
Read Replicas 僅供讀取複本
為了舒緩主資料庫的流量,可使用「唯讀副本」服務來接收資料查詢的任務
Read Replicas 會跟主資料庫做異步備份
也能夠很快還原資料庫
常見架構
透過 Multi-AZ 功能,因為主要與備援資料庫會即時同步
所以可以將建立 Snapshot 與 Read Replicas 的工作交給備援用資料庫
主要資料庫的讀寫負擔減輕,且一但主資料庫停止運作
可以在短時間皆換成備用資料庫
Multi-AZ | Read Replica |
---|---|
主要目的是高可用性 | 主要目的是可擴展性 |
同步複寫 | 非同步複寫 |
僅主要執行個體處於作用中狀態 | 皆可供存取,且可用於讀取擴展 |
在單一區域內一律跨越至少兩個可用區域 | 可以在一個可用區域內、跨可用區域或跨區域 |
效能調校
Param Groups 使用參數群組
RDS 不開放作業系統底層,為了方便調校資料庫參數所以提供了 Param Groups 功能
安全性
RDS Proxy
為了協助控管資料庫連線,AWS 推出了 RDS Proxy
來簡化 RDS 資料庫執行個體連線管理
當有多個 Server 要求存取資料庫,RDS Proxy 可以協助管理資料庫連線
避免大量連線造成資料庫(和工程師)崩潰
可以在不將資料庫帳號密碼公開的情況下
讓應用程式後透過 IAM 權限到串接到 RDS Proxy
並將憑證安全地存放在 AWS Secrets Manager
交由 RDS Proxy 搭配 Secret Manager 來協助和資料庫進行連線
讓員工在不知道帳號密碼的情況下也可以連線到資料庫,加強連線安全