Amazon RDS (Amazon Relational Database Service) 是一項 Amazon Web Services (AWS) 提供的全受管關聯式資料庫服務。它讓您能夠在雲端中輕鬆地設定、操作和擴展關聯式資料庫。
簡單來說,如果你需要一個傳統的 SQL 資料庫(例如 MySQL、PostgreSQL、SQL Server、Oracle 等),但又不想處理底層的硬體佈建、軟體安裝、打補丁、備份、擴展和維護等繁瑣任務,那麼 Amazon RDS 就是為你設計的服務。AWS 會替你處理這些管理工作,讓你專注於應用程式開發。
Amazon RDS 支援的資料庫引擎:
RDS 並不是一個單一的資料庫,而是一個平台,支援多種流行的關聯式資料庫引擎:- Amazon Aurora: AWS 自家開發的關聯式資料庫,與 MySQL 和 PostgreSQL 相容,但效能更高、擴展性更好。
- MySQL: 開源的熱門關聯式資料庫。
- PostgreSQL: 另一款功能強大且開放源碼的關聯式資料庫。
- MariaDB: MySQL 的分支,也是開源的。
- Microsoft SQL Server: 微軟的商業關聯式資料庫。
- Oracle: 甲骨文的商業關聯式資料庫。
主要功能和優勢:
- 全受管服務:
- AWS 負責資料庫的日常管理任務,包括: 硬體佈建: 自動分配和設置伺服器。 資料庫安裝與打補丁: 自動更新軟體和安全補丁。 備份與恢復: 自動進行資料庫備份,並支援時間點恢復。 監控: 提供資料庫效能指標。 故障偵測與自動故障轉移: 監控主資料庫實例的健康狀況,並在需要時自動故障轉移到備用副本。
- 這讓資料庫管理員可以將時間和精力集中在資料庫的設計、優化和應用程式開發上。
- 彈性擴展:
- 運算資源擴展: 可以根據需求輕鬆擴展(或縮減)資料庫實例的 CPU 和記憶體容量,通常只需幾分鐘即可完成,且停機時間最短。
- 儲存容量擴展: 可以自動增加儲存容量,無需手動干預。
- 讀取副本 (Read Replicas): 支援創建一個或多個讀取副本,可以將讀取流量分流到這些副本上,從而提高讀取密集型應用程式的吞吐量,並分擔主資料庫的負載。
- 高可用性與耐用性:
- 多可用區域 (Multi-AZ) 部署: 這是 RDS 的一個關鍵特性。您可以選擇將資料庫實例部署在多個可用區域中,AWS 會在不同的可用區域中自動維護一個同步備用副本。
- 如果主資料庫實例發生故障、甚至整個可用區域出現問題,RDS 會自動將流量切換到備用副本,通常在幾分鐘內完成,實現高可用性和自動故障轉移。
- 自動備份: RDS 自動執行資料庫備份,並將其儲存在 S3 中,預設保留期為 7 天(可配置最長 35 天)。您可以從任何備份點恢復資料庫。
- 安全性:
- 網路隔離: RDS 實例運行在您的 Amazon VPC (Virtual Private Cloud) 中,確保資料庫在您的私有網路環境中。
- 資料加密: 支援靜態資料加密(使用 KMS)和傳輸中資料加密(SSL/TLS)。
- IAM 整合: 與 AWS Identity and Access Management (IAM) 整合,實現精細的資料庫存取控制。
- 成本效益:
- 您只需為實際使用的資源付費,無需前期投入昂貴的硬體設備。
- 提供隨需實例、預留實例 (Reserved Instances, RIs) 和資料庫代理等選項,以優化成本和性能。
典型使用案例:
- Web 應用程式: 承載各種規模的網站和 Web 應用程式的後端資料庫。
- 行動應用程式: 作為行動應用程式的使用者數據和後端儲存。
- 企業應用程式: 運行各種企業級軟體,如 CRM、ERP 系統等。
- 開發和測試環境: 快速佈建和銷毀資料庫實例,降低開發成本。
- 需要標準 SQL 和關聯模型的工作負載。
總而言之,Amazon RDS 是一個強大、靈活且易於使用的雲端關聯式資料庫服務,它使開發者能夠專注於應用程式本身,而將資料庫管理交給 AWS 處理。