什麼是 Amazon Relational Database Service (Amazon RDS)? - Amazon Relational Database Service

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

什麼是 Amazon Relational Database Service (Amazon RDS)?

Amazon Relational Database Service (Amazon RDS) 是一項 Web 服務,可以讓 AWS 雲端 中關聯式資料庫的設定、操作和擴展更加簡單。其能為產業標準的關聯式資料庫提供具成本效益、可調整大小的容量,並管理常見的資料庫管理任務。

注意

本指南涵蓋 Amazon Aurora 以外的 Amazon RDS 資料庫引擎。如需使用 Amazon Aurora​ 的相關資訊,請參閱《Amazon Aurora​ 使用者指南》。

如果您剛接觸 AWS 的產品與服務,請利用下列資源開始深入了解:

Amazon RDS 的優點

Amazon RDS 是受管資料庫服務。它負責大部分的管理任務。Amazon RDS 可消除繁瑣的手動程序,讓您得以專注於應用程式和使用者。

Amazon RDS 透過未全受管的資料庫部署,提供下列主要優點:

  • 您可以使用自己原本就熟悉的資料庫引擎:IBM Db2、MariaDB、Microsoft SQL Server、MySQL、Oracle Database 和 PostgreSQL。

  • Amazon RDS 會管理備份、軟體修補、自動故障偵測與復原作業。

  • 您可以開啟自動備份,或手動建立您自己的備份快照。您可使用這些備份還原資料庫。Amazon RDS 的還原流程可靠又有效率。

  • 發生問題時,您有主要資料庫執行個體與同步次要資料庫執行個體可以容錯移轉,從而享有高可用性。您也可以使用僅供讀取複本提高讀取擴展性。

  • 除了您資料庫套件內含的安全機制外,您可以使用 AWS Identity and Access Management (IAM) 定義使用者與許可,以進行存取控制。您也可以將資料庫置於 Virtual Private Cloud (VPC),協助保護資料庫安全。

比較 Amazon EC2 和內部部署的責任

對於大多數的關聯式資料庫部署,建議您以 Amazon RDS 做為預設選擇。下列替代方案的缺點是需耗費更多時間來管理軟體和硬體:

內部部署

購買內部部署伺服器時,CPU、記憶體、儲存空間和 IOPS 都是一起搭售。您須承擔伺服器、作業系統和資料庫軟體的全部責任。

Amazon EC2

Amazon Elastic Compute Cloud (Amazon EC2) – 在 AWS 雲端 中提供可擴展的運算容量。與內部部署伺服器不同,CPU、記憶體、儲存體和 IOPS 是個別的,因此可以獨立擴展。AWS 會管理硬體層,因而免除管理內部部署資料庫伺服器的一些負擔。

在 Amazon EC2 上執行資料庫的缺點,是較容易發生使用者錯誤。例如,當您手動更新作業系統或資料庫軟體時,可能會意外造成應用程式停機。您可能會花費數小時檢查每項變更,以識別並修正問題。

下表比較內部部署資料庫、Amazon EC2 和 Amazon RDS 的管理模型。

功能

內部部署管理

Amazon EC2 管理

Amazon RDS 管理

應用程式最佳化

客戶

客戶

客戶

擴展

客戶

客戶

AWS

高可用性

客戶

客戶

AWS

資料庫備份

客戶

客戶

AWS

資料庫軟體修補

客戶

客戶

AWS

資料庫軟體安裝

客戶

客戶

AWS

作業系統 (OS) 修補

客戶

客戶

AWS

作業系統安裝

客戶

客戶

AWS

伺服器維護

客戶

AWS

AWS

硬體生命週期

客戶

AWS

AWS

電源、網路和冷卻

客戶

AWS

AWS

Amazon RDS 共同的責任模型

Amazon RDS 負責託管資料庫執行個體和資料庫叢集的軟體元件和基礎設施。您則負責查詢調校,這是調整 SQL 查詢以提高效能的程序。查詢效能大幅取決於資料庫設計、資料大小、資料分佈、應用程式工作負載和查詢模式,而這些模式可能差異很大。監控和調校是您針對 RDS 資料庫的高度個人化程序。您可以使用 Amazon RDS Performance Insights 和其他工具識別出有問題的查詢。

Amazon RDS 資料庫執行個體

資料庫執行個體是在 AWS 雲端 執行的隔離資料庫環境。Amazon RDS 的基本建置組塊為資料庫執行個體。您的資料庫執行個體可以包含一或多個使用者建立的資料庫。下圖顯示包含兩個可用區域的虛擬私有雲端 (VPC),其中每個可用區域分別包含兩個資料庫執行個體。

顯示跨兩個可用區域的 VPC。每個可用區域分別託管兩個資料庫執行個體。

您可以使用您搭配獨立資料庫執行個體使用的同一工具和應用程式來建立資料庫執行個體。您可以使用 AWS Command Line Interface (AWS CLI)、Amazon RDS API 或 AWS Management Console 建立及修改資料庫執行個體。

Amazon RDS 應用程式架構:範例

下圖顯示使用 Amazon RDS 資料庫執行個體進行資料庫儲存的動態網站常見使用案例:

顯示有一個 VPC 包含兩個可用區域的的區域。每個可用區域都包含應用程式伺服器和資料庫執行個體。Elastic Load Balancer 將使用者要求轉送至應用程式伺服器。

上述架構的主要元件如下:

Elastic Load Balancing

AWS 會透過 Elastic Load Balancing 路由使用者流量。負載平衡器會跨多個運算資源 (例如虛擬伺服器) 分配工作負載。在此範例使用案例中,Elastic Load Balancer 將用戶端要求轉送至應用程式伺服器。

應用程式伺服器

應用程式伺服器會與 RDS 資料庫執行個體互動。AWS 中的應用程式伺服器通常託管於 EC2 執行個體,由此處提供可擴展的運算容量。應用程式伺服器位於相同虛擬私有雲端 (VPC) 中具有不同可用區域 (AZ) 的公有子網路中。

RDS 資料庫執行個體

EC2 應用程式伺服器會與 RDS 資料庫執行個體互動。資料庫執行個體位於相同虛擬私有雲端 (VPC) 內不同可用區域 (AZ) 中的私有子網路。由於子網路是私有的,因此不允許來自網際網路的要求。

主要資料庫執行個體會複寫至另一個資料庫執行個體,名為僅供讀取複本。兩個資料庫執行個體都位於 VPC 內的私有子網路中,這表示網際網路使用者無法直接加以存取。

資料庫引擎

資料庫引擎是在資料庫執行個體上執行的特定關聯式資料庫軟體。Amazon RDS 支援下列資料庫引擎:

每個資料庫引擎都有各自支援的功能,資料庫引擎的各個版本可能會包含特定功能。對 Amazon RDS 功能的支援會因 AWS 區域 以及每個資料庫引擎的特定版本而有所不同。若要檢查不同引擎版本和區域的功能支援,請參閱 依 AWS 區域 和 RDS 資料庫引擎支援的 RDS 功能

此外,每個資料庫引擎的資料庫參數群組都具有參數集,可控制所管理之資料庫的行為。如需參數群組的詳細資訊,請參閱Amazon RDS 的參數群組

資料庫執行個體類別

資料庫執行個體類別會決定資料庫執行個體的運算和記憶體容量。資料庫執行個體類別由資料庫執行個體類別類型和大小組成。Amazon RDS 支援下列執行個體類別類型,其中,星號 (*) 代表世代、選用屬性和大小:

  • 一般用途 – db.m*

  • 記憶體最佳化 – db.z*、db.x*、db.r*

  • 運算最佳化 – db.c*

  • 爆量效能 – db.t*

每個執行個體類別提供不同的運算、記憶體與儲存功能。例如,db.m7g 是採用 AWS Graviton3 處理器的第 7 代一般用途資料庫執行個體類別類型。在建立資料庫執行個體時,您可以指定資料庫執行個體類別 (例如 db.m7g.2xlarge),其中的 2xlarge 是大小。若要進一步了解不同執行個體類別的硬體規格,請參閱 的資料庫執行個體類別的硬體規格

您可以選擇最符合自身需求的資料庫執行個體類別。如果您的需求會隨著時間而變更,您可以變更資料庫執行個體類別。例如,您可以將 db.m7g.2xlarge 執行個體向上擴展為 db.m7g.4xlarge。如需詳細資訊,請參閱 資料庫執行個體類別

注意

如需資料庫執行個體類別的定價資訊,請參閱 Amazon RDS 產品頁面的定價一節。

資料庫執行個體儲存體

Amazon EBS 提供可連接至執行中之執行個體的耐久區塊層級儲存體磁碟區。資料庫執行個體儲存有下列類型:

  • 一般用途 (SSD)

    這種符合成本效益的儲存類型非常適用於在中型資料庫執行個體上執行的各種工作負載。一般用途儲存體最適用於開發與測試環境。

  • 佈建的 IOPS (PIOPS)

    此儲存類型旨在因應 I/O 密集型工作負載的需求,特別是低延遲要求和一致性 I/O 輸送量的資料庫工作負載。佈建 IOPS 儲存體最適合於生產環境。

  • 磁帶

    Amazon RDS 支援磁帶儲存,以提供回溯相容性。建議您針對任何新的儲存需求,使用一般用途 SSD 或佈建 IOPS SSD。

儲存類型在效能特性和價格方面有所不同。您可以量身打造儲存效能和成本以符合自己的資料庫需求。

各資料庫執行個體會有最低與最高的儲存需求,需視儲存類型與支援的資料庫引擎而定。具有足夠儲存空間很重要,如此您的資料庫才有空間成長。此外,足夠的儲存空間可確保資料庫引擎的功能有空間寫入內容或日誌項目。如需詳細資訊,請參閱 Amazon RDS 資料庫執行個體儲存體

Amazon Virtual Private Cloud (Amazon VPC) 中的資料庫執行個體

您可以使用 Amazon Virtual Private Cloud (Amazon VPC) 服務,在 Virtual Private Cloud (VPC) 上執行資料庫執行個體。使用 VPC 時,您可以掌控您的虛擬聯網環境。您可以選擇自己的 IP 地址範圍、建立子網路,以及設定路由和存取控制清單。

無論是否在 VPC 中執行,Amazon RDS 都可提供相同的基本功能。Amazon RDS 會管理備份、軟體修補、自動故障偵測與復原作業。在 VPC 中執行資料庫執行個體無需額外成本。如需搭配 RDS 使用 Amazon VPC 的詳細資訊,請參閱Amazon VPC 和 Amazon RDS

Amazon RDS 使用網路時間協定 (NTP) 同步資料庫執行個體的時間。

AWS 區域 和可用區域

Amazon 雲端運算資源存放於全球不同區域 (例如北美、歐洲或亞洲) 的高可用性資料中心設施。各資料中心位置皆稱為 AWS 區域。透過 Amazon RDS,您可以在多個區域中建立資料庫執行個體。

下列案例顯示一個區域中的 RDS 資料庫執行個體以非同步方式複寫至不同區域中的待命資料庫執行個體。一個區域無法使用時,仍有另一個區域中的執行個體可供使用。

跨區域僅供讀取複本組態

可用區域

每個 AWS 區域包含多個不同位置,稱為可用區域 (或簡稱為 AZ)。每個可用區域旨在隔離其他可用區域的故障。每個旨在提供同一 AWS 區域中其他可用區域的價廉、低延遲網路連線能力。藉由在個別的可用區域中啟動資料庫執行個體,可以保護應用程式免於發生單一位置失敗。如需詳細資訊,請參閱 區域、可用區域和 Local Zones

多可用區域部署

您可以在多個可用區域中執行資料庫執行個體,這種方法稱為多可用區域部署。選擇此選項時,Amazon 會自動在不同的可用區域中佈建並維護一或多個次要待命資料庫執行個體。您的主要資料庫執行個體會跨可用區域複寫至每個次要資料庫執行個體。

多可用區域部署提供下列優點:

  • 提供資料備援和容錯移轉支援

  • 消除 I/O 凍結

  • 將系統備份期間的延遲峰值降至最低

  • 在次要資料庫執行個體上處理讀取流量 (僅限多可用區域資料庫叢集部署)

下圖說明多可用區域資料庫執行個體部署,其中,Amazon RDS 會自動在不同的可用區域中佈建並維護同步待命複本。複本資料庫不會處理讀取流量。

多可用區域執行個體部署的高可用性案例

下圖說明多可用區域資料庫叢集部署,其中包含寫入器資料庫執行個體和兩個讀取器資料庫執行個體,位於相同 AWS 區域 中的三個不同可用區域。三個資料庫執行個體全都可處理讀取流量。

多可用區域叢集部署的高可用性案例

如需詳細資訊,請參閱 設定及管理 Amazon RDS 的多可用區域部署

使用安全群組的存取控制

安全群組可藉由允許存取您指定的 IP 位址範圍或 Amazon EC2 執行個體,來控制對資料庫執行個體的存取。您可以將安全群組套用至一或多個資料庫執行個體。

資料庫執行個體在 VPC 中的常見使用方式,是與相同 VPC 中的應用程式伺服器共用資料。下列範例使用 VPC 安全群組 ec2-rds-x 定義了使用用戶端應用程式的 IP 位址做為來源的傳入規則。應用程式伺服器屬於此安全群組。名為 rds-ec2-x 的第二個安全群組會指定 ec2-rds-x 做為來源,並連接至 RDS 資料庫執行個體。根據安全群組規則,用戶端應用程式無法直接存取資料庫執行個體,但 EC2 執行個體可存取資料庫執行個體。

VPC 中的資料庫執行個體和 EC2 執行個體

如需安全群組的詳細資訊,請參閱Amazon RDS 中的安全

Amazon RDS 監控

監控對於維護 Amazon RDS 及其他 AWS 解決方案的可靠性、可用性和效能至關重要。AWS 提供多種監控工具,可讓您監看 Amazon RDS、在發現錯誤時回報,並適時自動執行動作。

您可以使用各種自動化和手動工具來追蹤資料庫執行個體的效能與運作狀態:

Amazon RDS 資料庫執行個體狀態和建議

使用 Amazon RDS 主控台、AWS CLI 或 RDS API 檢視執行個體目前狀態的詳細資訊。您也可以回應為資料庫資源提供的自動化建議,例如資料庫執行個體、僅供讀取複本,以及資料庫參數群組。如需詳細資訊,請參閱 Amazon RDS 的建議

Amazon RDS 的 Amazon CloudWatch 指標

您可以使用 Amazon CloudWatch 服務來監控資料庫執行個體的效能和運作狀態。Amazon RDS 主控台會顯示 CloudWatch 效能圖表。Amazon RDS 會每分鐘自動為每個作用中資料庫傳送指標至 CloudWatch。CloudWatch 中的 Amazon RDS 指標不會收取額外費用。

使用 Amazon CloudWatch 警示,可以在特定期間內監看單一 Amazon RDS 指標。然後,您可以根據相對於您所設定臨界值的指標值執行一或多個動作。如需詳細資訊,請參閱 使用 Amazon CloudWatch 監控 Amazon RDS 指標

Amazon RDS Performance Insights 和作業系統監控

Performance Insights 可評估資料庫的負載,以及判斷應在何時何處採取動作。如需詳細資訊,請參閱 在 Amazon RDS 上使用績效詳情監控資料庫負載。Amazon RDS 增強型監控可即時查看作業系統的指標。如需詳細資訊,請參閱 使用增強型監控來監控作業系統指標

已整合 AWS 服務

Amazon RDS 已與 Amazon EventBridge、Amazon CloudWatch Logs 和 Amazon DevOps Guru 整合。如需詳細資訊,請參閱 監控 Amazon RDS 執行個體中的指標

Amazon RDS 的使用者介面

您可透過多種方式與 Amazon RDS 互動。

AWS Management Console

AWS Management Console是簡易的 Web 使用者界面。不需編寫程式,即可從主控台管理您的資料庫執行個體。若要存取 Amazon RDS 主控台,請登入 AWS Management Console,開啟位於 https://console.aws.amazon.com/rds/ 的 Amazon RDS 主控台。

RDS 主控台的首頁。左側面板包含儀表板、資料庫工具的連結。中央面板會列出資料庫執行個體等資源。

命令列界面

您可以使用 AWS Command Line Interface (AWS CLI),以互動方式存取 Amazon RDS API。若要安裝 AWS CLI,請參閱安裝 AWS 命令列界面一文。若要開始使用適用於 RDS 的 AWS CLI,請參閱 Amazon RDS 的 AWS Command Line Interface 參考資料

Amazon RDS API

如果您是開發人員,可以透過編寫程式使用 API 存取 Amazon RDS。如需詳細資訊,請參閱 Amazon RDS API 參考

如要開發應用程式,建議您使用 AWS 軟體開發套件 (SDK)。AWS 軟體開發套件可處理身分驗證、重試邏輯與錯誤處理等低階細節,讓您可以專注在應用程式邏輯上。AWS軟體開發套件支援多種語言。如需詳細資訊,請參閱 Amazon Web Services 適用工具

AWS 也提供程式庫、範本程式碼、教學課程和其他資源,協助您更輕鬆上手。如需詳細資訊,請參閱範本程式碼與程式庫一文。

Amazon RDS 收費方式

當您使用 Amazon RDS 時,可以選擇使用隨需執行個體或預留的資料庫執行個體。如需更多詳細資訊,請參閱 Amazon RDS 的資料庫執行個體計費

如需 Amazon RDS 定價資訊,請參閱 Amazon RDS 產品頁面

Amazon RDS 上的 AWS 免費方案

您可以在 Amazon RDS 上使用 AWS 免費方案 搭配下列引擎和資料庫執行個體類別:

  • 引擎類型 – MariaDB、MySQL、PostgreSQL 或 SQL Server Express Edition

  • 資料庫執行個體類別

    • t3.micro – 適用於所有引擎類型

    • t4g.micro – 適用於 SQL Server Express Edition 以外的所有引擎類型

您無法透過 Amazon RDS 上的 AWS 免費方案 使用下列功能、資源和動作:

  • Amazon RDS 自訂引擎選項

  • 預留資料庫執行個體

  • 單一可用區域以外的部署選項

  • 遷移快照

  • 查詢編輯器

  • 建立 Aurora 僅供讀取複本

這些限制可能會隨著 AWS 免費方案 方案的演進而變更。如需 AWS 免費方案 的詳細資訊,請參閱使用 AWS 免費方案 探索 AWS 服務。如需 Amazon RDS 免費方案的詳細資訊,請參閱 Amazon RDS 免費方案

2025 年 7 月 17 日之前的 AWS 免費方案 客戶可以繼續使用 Amazon RDS 免費方案,直到 12 個月的免費用量到期為止。在此期間,您仍符合下列用量的資格:

  • 每個月有 750 小時可使用在 Amazon RDS 上執行 MySQL、MariaDB 或 PostgreSQL 的單一可用區域 db.t3.micro 和 db.t4g.micro 執行個體類別

  • 每個月有 750 小時可使用在 Amazon RDS 上執行 SQL Server Express Edition 的 db.t3.micro 執行個體類別

2025 年 7 月 17 日之後,您在 AWS 上建立的任何新 AWS 免費方案 資源都將使用新的 AWS 免費方案 方案。

後續步驟?

上一節為您介紹 RDS 提供的基本基礎設施元件。接下來該怎麼做?

入門

請使用Amazon RDS 入門中的指示,來建立資料庫執行個體。

資料庫引擎的特定主題

您可以在下列章節中檢閱特定資料庫引擎的專用資訊: