Amazon RDS 常見問答集

一般問題

Amazon Relational Database Service (Amazon RDS) 是一項受管服務,方便在雲端設定、操作和擴展關聯式資料庫。此服務不僅可用於管理耗時的資料庫管理任務,也提供經濟實惠且可調整大小的容量,讓您能夠挪出時間專注於應用程式和業務。

Amazon RDS 可讓您存取熟悉的 RDS for PostgreSQLRDS for MySQLRDS for MariaDBRDS for SQL ServerRDS for OracleRDS for Db2 資料庫的功能。這表示您現在搭配現有資料庫使用的程式碼、應用程式和工具,應該可以順暢地與 Amazon RDS 配合使用。Amazon RDS 可以自動備份資料庫,並以最新的版本讓資料庫軟體保持在最新狀態。擴展與關聯式資料庫執行個體關聯的運算資源或儲存容量可讓您從中受益。此外,Amazon RDS 還可以輕鬆使用複寫功能以增強資料庫可用性、改進資料持久性或擴展讀取高資料庫工作負載的單一資料庫執行個體的容量限制。與所有 AWS 相同,無需前期投資,只需為使用的資源付費。

Amazon Web Services 為開發人員提供多個資料庫替代選項。Amazon RDS 則可讓您執行功能完整的全受管關聯式資料庫,同時免除資料庫管理工作。從我們眾多的關聯式資料庫 AMI 中選擇一個在 Amazon EC2 上使用,即可在雲端管理自己的關聯式資料庫。這些替代選項之間差異很大,因此其中某個選項可能更適合您的使用案例。請參閱 AWS 雲端資料庫,以了解何種解決方案最適合您。

是,您可以使用 Amazon RDS on Outposts 在內部部署執行 Amazon RDS。如需詳細資訊,請參閱 Amazon RDS on Outposts 常見問答集

是,Amazon RDS 專家可回答問題並提供支援。 聯絡我們,您將在一個工作日內收到我們的回覆,討論 AWS 如何幫助您的組織。

您可以使用 Amazon RDS 主控台,在 EC2 運算執行個體和新的 Amazon RDS 資料庫之間建立連線。在 “Create database” (建立資料庫) 頁面上,選取 Connectivity (連線) 區段中的 “Connect to an EC2 compute resource” (連線至 EC2 運算資源) 選項。當您選取此選項時,Amazon RDS 會自動執行手動聯網設定任務,例如建立 VPC、安全群組、子網路和輸入/輸出規則,以在應用程式與資料庫之間建立連線。

此外,您可以在現有 Amazon RDS 資料庫與 EC2 運算執行個體之間建立連線。若要執行此操作,開啟 RDS 主控台,從資料庫清單頁面中選取 RDS 資料庫,然後從 "Action" (動作) 選單下拉式清單中選擇 “Set up EC2 connection” (設定 EC2 連線)。Amazon RDS 會自動設定您的相關網路設定,以啟用所選 EC2 執行個體與 RDS 資料庫之間的安全連線。

這種連線自動化提高了新使用者與應用程式開發人員的工作效率。使用者現在可在幾分鐘內使用 EC2 運算執行個體上的 SQL,將應用程式或用戶端快速無縫地連線至 RDS 資料庫。

您可以透過 Amazon RDS 主控台,在 AWS Lambda 函數與 Amazon RDS 或 Amazon Aurora 資料庫之間建立連線。在 RDS 主控台上,從資料庫清單頁面中選取 RDS 或 Aurora 資料庫,然後從「動作」選單中選擇「建立 Lambda 連線」。Amazon RDS 會自動設定您的相關網路設定,以啟用所選 Lambda 函數與 RDS 或 Aurora 資料庫之間的安全連線。

建議您在此連線建立期間使用 RDS Proxy。您可以使用現有的 RDS Proxy,或使用可在連線期間自動建立的新 RDS Proxy 來建立此連線。這種連線建立自動化可改善新使用者與應用程式開發人員的工作效率。使用者現在可在幾分鐘內,快速且無縫地將無伺服器應用程式或 Lambda 函數連線至 RDS 或 Aurora 資料庫。

資料庫執行個體

您可以將資料庫執行個體視為在雲端中的資料庫環境,其中包含您指定的運算和儲存資源。您可以建立和刪除資料庫執行個體、定義/精簡資料庫執行個體的基礎設施屬性,以及透過 AWS 管理主控台Amazon RDS APIAWS 命令列界面控制存取權限和安全性。您可以執行一或多個資料庫執行個體,而根據引擎類型,每個資料庫執行個體可以支援一或多個資料庫或資料庫結構描述。

建立資料庫執行個體非常簡單,您可以使用 AWS 管理主控台、Amazon RDS API 或 AWS Command Line Interface。若要使用 AWS 管理主控台啟動資料庫執行個體,按一下 "RDS",然後按一下 Instances (執行個體) 索引標籤上的“Launch DB Instance” (啟動資料庫執行個體) 按鈕。您可以在這裡指定資料庫執行個體的參數,包含資料庫引擎和版本、授權模式、執行個體類型、儲存類型和數量,以及主要使用者憑證。

您也可以變更資料庫執行個體的備份保留政策、偏好備份時段和計劃維護時段。或者,您可以使用 CreateDBInstance APIcreate-db-instance 命令建立自己的資料庫執行個體。

在資料庫執行個體類型可供使用後,您就可以在 AWS 管理主控台、DescribeDBInstances APIdescribe-db-instances 命令中,透過資料庫執行個體描述擷取其端點。您可以使用這個端點,以您喜愛的資料庫工具或程式設計語言建構與資料庫執行個體直接連接所需的連線字串。您需要授權存取,才能允許對您正在執行的資料庫執行個體發出網路請求。有關如何建構連線字串以及如何開始使用的詳細說明,請參閱我們的入門指南

根據預設,允許客戶共可擁有最多 40 個 Amazon RDS 資料庫執行個體。在這 40 個執行個體中,最多可有 10 個執行個體是「已包含授權」模式下的 RDS for Oracle 或 RDS for SQL Server 資料庫執行個體。所有 40 個執行個體都可用於使用自有授權 (BYOL) 模型下的 Amazon Aurora、RDS for PostgreSQL、RDS for MySQL、RDS for MariaDB 和 RDS for Oracle。請注意,RDS for SQL Server 限制一個資料庫執行個體最多只能有 100 個資料庫。若要進一步了解,請參閱 Amazon RDS for SQL Server 使用者指南

  • 適用於 Amazon Aurora 的 RDS:軟體沒有強制限制
  • 適用於 MySQL 的 RDS:軟體沒有強制限制
  • 適用於 MariaDB 的 RDS:軟體沒有強制限制
  • RDS for Oracle:每個執行個體 1 個資料庫;軟體對於每個資料庫的結構描述數量沒有強制限制
  • 適用於 SQL Server 的 RDS:每個執行個體最多 100 個資料庫
  • 適用於 PostgreSQL 的 RDS:軟體沒有強制限制
  • RDS for Db2:每個執行個體最多 8 個資料庫

以下是將資料匯入 Amazon RDS 的多種方式:

如需資料匯入和匯出的詳細資訊,請參閱 Data Import Guide for MySQLData Import Guide for OracleData Import Guide for SQL ServerData Import Guide for PostgreSQLData Import Guide for Db2

此外,AWS Database Migration Service 可以協助您安全地將資料庫遷移到 AWS

在經請求或必要的情況下,您可以利用 Amazon RDS 維護時段控制資料庫執行個體修改、資料庫引擎版本升級以及軟體修補的發生。如果在指定的星期排定維護事件,則將在您指定的維護時段期間啟動。

需要 Amazon RDS 將資料庫執行個體離線的維護事件有擴展運算操作 (從開始到完成通常只需幾分鐘)、資料庫引擎版本升級和要求軟體修補。只會針對與安全性和持久性相關的修補程式自動排定必要的軟體修補。這種修補不常發生 (通常幾個月才一次),並且幾乎不需要太長的維護時段。

如果您建立資料庫執行個體時未指定偏好的每週維護時段,則會指派 30 分鐘的預設值。如果希望修改替您執行維護的時間,可以透過 AWS 管理主控台、ModifyDBInstance APImodify-db-instance 命令修改資料庫執行個體來執行該操作。如果您選擇這種方式,則每個資料庫執行個體可以有不同的偏好維護時段。

將資料庫執行個體做為多可用區部署來執行可以進一步降低維護事件的影響。如需維護操作的詳細資訊,請參閱 Amazon RDS 使用者指南

如果是生產資料庫,建議您啟用增強型監控,這可讓您存取超過 50 個 CPU、記憶體、檔案系統和磁碟 I/O 指標。您可以依執行個體啟用這些功能,也可以選擇間隔 (最少可到 1 秒)。較高的 CPU 使用率會降低查詢效能,因此您可以考慮擴展資料庫執行個體的類別。如需監控資料庫執行個體的詳細資訊,請參閱 Amazon RDS 使用者指南

如果您使用的是 RDS for MySQL 或 RDS for MariaDB,可以存取資料庫的慢速查詢日誌,確定是否有執行速度緩慢的 SQL 查詢,如果有的話,查明每個查詢的效能特性為何。您可以設定 "slow_query_log" 資料庫參數並查詢 mysql.slow_log 表,以檢閱執行速度緩慢的 SQL 查詢。請參閱 Amazon RDS 使用者指南進一步了解。

如果您使用的是 RDS for Oracle,可以使用 Oracle 追蹤檔案資料以識別緩慢查詢。如需存取追蹤檔案資料的詳細資訊,請參閱 Amazon RDS 使用者指南。 

如果使用的是 RDS for SQL Server,您可以使用用戶端 SQL Server 追蹤功能以識別緩慢查詢。有關存取伺服器端追蹤檔案資料的資訊,請參閱 Amazon RDS 使用者指南

資料庫引擎版本

如需每個 Amazon RDS 資料庫引擎的特定版本編號,請參閱常見問答集頁面:

Amazon RDS 每過一段時間就會針對新的主要和次要資料庫引擎版本新增支援。支援的新版本數量取決於引擎廠商或開發機構發布版本和修補程式的頻率和內容,以及由資料庫設計團隊負責這些版本和修補程式全面審查的最終結果。不過,一般而言,我們會在正式發行後 到 5 個月內支援新的引擎版本。

您可以在透過 AWS 管理主控台的 Launch DB Instance 操作或 CreateDBInstance API 建立新的資料庫執行個體時,指定任何目前支援的版本 (主要和次要)。請注意,不是每個 AWS 區域都提供所有的資料庫引擎版本。

Amazon RDS 透過提供受支援資料庫引擎的較新版本,盡力讓您的資料庫執行個體保持最新狀態。廠商或開發組織發佈新的資料庫引擎版本之後,我們的資料庫工程團隊會對該版本進行完整的測試,然後再發佈到 Amazon RDS。

建議您將資料庫執行個體升級到最新的次要版本,因為其中包含最新的安全性和功能修正。與主要版本升級不同的是,次要版本升級只會包含與之前資料庫引擎次要版本 (主要版本相同) 回溯相容的資料庫變更。 

如果新的次要版本不包含對 Amazon RDS 客戶有利的修正,我們可能會選擇不發佈到 Amazon RDS。在 Amazon RDS 發佈新的次要版本之後,緊接著會將它設定為新資料庫執行個體的偏好次要版本。 

要手動將資料庫執行個體升級到支援的引擎版本,請使用 AWS 管理主控台上的 Modify DB Instance 命令或 ModifyDBInstance API,然後將 DB Engine Version 參數設為所需的版本。根據預設,可以選擇之後套用升級,或在下一個維護時段套用。您也可以在主控台 API 選取 Apply Immediately (立即套用) 選項,立即升級。

如果我們發現與之前發行的次要版本相比,新的引擎次要版本包含重大錯誤修正,就會針對 Auto Minor Version Upgrade (自動次要版本升級) 設定設為 "Yes" (是) 的資料庫執行個體排定自動升級。這些升級將會排定在客戶指定的維護時段執行。

我們會排程這些公告便於您預先規劃,因為升級資料庫引擎版本需要停機,即使對於多可用區執行個體也是一樣。如果希望關閉自動次要版本升級,可以將 Auto Minor Version Upgrade (自動次要版本升級) 設定設為 "No" (否)。

使用 RDS for Oracle 和 RDS for SQL Server 時,如果升級到下個次要版本需要變更到不同的版本,即使您啟用了 Auto Minor Version Upgrade (自動次要版本升級) 設定,我們也不會排定自動升級。是否要在這類情況排定自動升級會依不同的案例而有不同的決定。

由於主要版本升級涉及一些相容性風險,因此不會自動套用,必須由您自行啟動 (除了主要版本淘汰的情況,請參閱以下資訊)。 如需將資料庫執行個體升級到新的資料庫引擎版本的詳細資訊,請參閱 Amazon RDS 使用者指南

是。您可以這樣做:先建立現有資料庫執行個體的資料庫快照,再從該資料庫快照還原以建立新的資料庫執行個體,然後為新的資料庫執行個體啟動版本升級。接著,您可以在升級的資料庫執行個體複製上安全地測試,再決定是否升級原始的資料庫執行個體。

如需還原資料庫快照的詳細資訊,請參閱 Amazon RDS 使用者指南

  • 對於主要版本版次 (如 MySQL 5.6、PostgreSQL 9.6),計劃從 Amazon RDS 最初支援開始持續至少 3 年。
  • 對於次要版本 (如 MySQL 5.6.37、PostgreSQL 9.6.1),計劃從 Amazon RDS 最初支援開始持續至少 1 年。

我們會定期淘汰主要或次要引擎版本。至少在相應社群版本的社群生命週期結束,或該版本不再接收軟體修復或安全更新之前,主要版本都可用。對於次要版本,則是在次要版本有重大錯誤或安全問題,且已在下個次要版本解決的情況下。

雖然我們努力符合這些準則,但在某些情況下,例如特定的主要或次要版本有安全性的問題時,我們就會較快淘汰它們。在極少數情況下發生這類案例時,Amazon RDS 會自動升級您的資料庫引擎以解決問題。在特定情況下可能會指定不同的時間,這取決於所發生的問題。

當 Amazon RDS 淘汰資料庫引擎的次要版本時,我們會在宣布淘汰之後提供三 (3) 個月的時間,才會開始自動升級。此期間結束後,我們會在排定的維護時段內,將仍然執行已淘汰次要版本的所有執行個體自動升級為最新支援的次要版本。

當 Amazon RDS 淘汰資料庫引擎的主要版本時,我們會在宣布淘汰之後提供至少六 (6) 個月的時間,讓您升級到支援的主要版本。此期間結束後,我們會在排定的維護時段內,將仍然執行已淘汰版本的所有執行個體自動升級為下一個主要版本。

在某些情況下,我們可能淘汰特定主要或次要版本而不事先通知您,例如,當我們發現某版本不符合我們的高品質、高效能或安全標準時。如果這些不常見的情況發生,Amazon RDS 將停止使用這些版本建立新的資料庫執行個體和叢集。現有客戶可能可以繼續執行他們的資料庫。在特定情況下可能會指定不同的時間,這取決於所發生的問題。

計費

僅按實際使用量收費,無最低費用或設定費用。您的計費是根據:

  • 資料庫執行個體小時數 – 根據使用的資料庫執行個體類別 (例如,db.t2.micro、db.m4.large)。 進行建立、開始或修改資料庫執行個體類別等可計費狀態變更之後,取用不滿一小時的資料庫執行個體以每秒遞增的方式計費,最低費用為 10 分鐘。如需詳細資訊,請閱讀我們的最新消息公告
  • 儲存 (每月每 GB) – 您的資料庫執行個體佈建的儲存容量。如果您在當月內擴展佈建的儲存容量,則將依比例分配計費。
  • 每月的 I/O 請求數 – 您擁有的儲存 I/O 請求總數 (僅限於 Amazon RDS 磁帶儲存和 Amazon Aurora)
  • 每月的佈建 IOPS – 佈建 IOPS 費率,不論 IOPS 的使用量如何 (僅限於 Amazon RDS 佈建 IOPS (SSD) 儲存)
  • 備份儲存 – 備份儲存是與自動資料庫備份和所有客戶啟動資料庫快照相關的儲存。延長備份保留期或拍攝額外資料庫快照會增加資料庫所消耗的備份儲存。
  • 資料傳輸 – 傳入和傳出資料庫執行個體的網際網路資料傳輸

有關 Amazon RDS 定價的資訊,請參閱 Amazon RDS 產品頁面的定價部分

資料庫執行個體的帳單週期從該資料庫執行個體可用時開始計算。帳單週期一直持續到該資料庫執行個體終止為止,刪除執行個體或執行個體出現故障時就會終止。

資料庫執行個體小時數是按您的資料庫執行個體在可用狀態下執行的每個小時來計費。DB 인스턴스에 대한 요금이 더 이상 청구되지 않도록 하려면 추가 인스턴스 시간당 비용이 청구되지 않도록 DB 인스턴스를 중지하거나 삭제해야 합니다. 부분적으로 사용된 DB 인스턴스의 경우 DB 인스턴스 클래스 생성, 시작 또는 수정 같은 청구 가능한 상태 변경에 따라 1초 단위로 청구되며 최소 10분의 요금이 부과됩니다.

資料庫執行個體停止時,您需要支付佈建儲存 (包含佈建 IOPS) 和備份儲存 (包含指定保留時段內的手動快照和自動備份) 的費用,但無須支付資料庫執行個體小時數。

提供的免費備份儲存最高可達帳戶在整個區域的總佈建資料儲存。例如,如果您有一個 MySQL 資料庫執行個體在一個月內具有 100 GB 的佈建儲存空間,而一個 PostgreSQL 資料庫執行個體在一個月內具有 150 GB 的佈建儲存空間,兩者都在同一區域和同一帳戶中,針對此帳戶和區域,我們將免費提供 250 GB 的備份儲存。您只需為超過此數量的備份儲存付費。

每天,根據您的帳戶在該區域的總佈建資料儲存與您在該區域的總備份儲存的比較情況,僅對超出的備份儲存計費。例如,如果您每天恰好有 10 GB 的超額備份儲存,則將按每月 10 GB 的備份儲存計費。或者,如果您每天有 300 GB 的佈建儲存和 500 GB 的備份儲存,但只有半個月,則只對每月 100 GB 的備份儲存計費 (而不是每月 200 GB),因為費用按天計算 (按比例分配),並且整個月都沒有備份。請注意,免費備份儲存為帳戶專屬和區域專屬。

備份大小與執行個體上的資料量成正比。例如,如果您有一個具有 100 GB 佈建儲存的資料庫執行個體,但僅在其上儲存 5 GB 資料,則您的第一個備份只有大約 5 GB (而不是 100 GB)。後續備份為增量備份,並且只會將變更的資料儲存在您的資料庫執行個體上。請注意,備份儲存大小不會顯示在 RDS 主控台中,也不會顯示在 DescribeDBSnapshots API 回應中。

為您的主要資料佈建的資料庫執行個體儲存位於單一可用區域內。當備份您的資料庫時,會在多個可用區域之間進行備份資料 (包括交易日誌) 的異地備援複製,以提供更高等級的資料持久性。超出免費分配的備份儲存定價就是為了反映這個針對最大化關鍵備份持久性所需的額外複寫。

如果您指定資料庫執行個體為多可用區部署,將根據多可用區定價計費 (發佈於 Amazon RDS 定價頁面)。異地同步備份的帳單是根據:

  • 多可用區資料庫執行個體小時數 – 根據使用的資料庫執行個體的類別 (例如,db.t2.micro、db.m4.large)。與單一可用區域中的標準部署一樣,進行建立、開始或修改資料庫執行個體類別等可計費狀態變更之後,不滿一小時的資料庫執行個體以每秒遞增的方式計費,最低費用為 10 分鐘。如果您在指定的某小時內,於標準和異地同步備份模式之間轉換資料庫執行個體部署,將按該小時適用的兩種費率計費。
  • 佈建儲存 (針對異地同步備份資料庫部署執行個體) – 如果您在指定的某小時內,於標準和異地同步備份模式之間轉換資料庫執行個體部署,將按該小時適用的儲存費率較高者計費。
  • 每月的 I/O 請求數 – 您擁有的儲存 I/O 請求總數。多可用區部署使用的 I/O 請求量高於標準資料庫執行個體部署,這取決於資料庫的寫入/讀取比率。當 Amazon RDS 將資料同步複製到備用資料庫執行個體時,與資料庫更新相關聯的寫入 I/O 使用量將加倍。讀取 I/O 使用量保持不變。
  • 備份儲存 – 不論您的資料庫執行個體是標準部署還是多可用區部署,備份儲存使用量都保持不變。備份將直接從備用執行個體進行,以避免資料庫主執行個體上的 I/O 暫停。
  • 資料傳輸 – 在主執行個體和備用執行個體之間複製資料不會收取資料傳輸費用。透過網際網路傳入和傳出資料庫執行個體的資料費用與標準部署費用相同。

除非另有說明,否則我們的價格不包括適用的稅金和稅收 (包括加值稅和適用的營業稅)。帳單地址在日本的客戶若使用 AWS 服務,則需負擔日本消費稅。 進一步了解

免費方案

Amazon RDS 的 AWS 免費方案優惠提供免費使用執行 MySQL、MariaDB、PostgreSQL 和 SQL Server Express Edition 的單一可用區微型資料庫執行個體。免費用量方案每月提供多達 750 小時的執行個體小時數。客戶每月還可免費獲得 20 GB 一般用途 (SSD) 資料庫儲存和 20 GB 備份儲存。

AWS 新帳戶可以獲得長達 12 個月的 AWS 免費方案使用權。如需詳細資訊,請參閱 AWS 免費方案常見問答集

是。您可以同時執行多個單一可用區微型資料庫執行個體,並且可以將使用量計入適用於 Amazon RDS 的 AWS 免費方案中。但是,任何超過 750 執行個體小時的用量,包括所有 Amazon RDS 單一可用區微型資料庫執行個體,以及所有適用的資料庫引擎和區域,均按標準的 Amazon RDS 價格計費。

例如,如果您在一個月內執行兩個單一可用區微型資料庫執行個體各 400 個小時,則將累計為使用 800 個執行個體小時,其中的 750 小時免費。剩下的 50 個小時將按標準的 Amazon RDS 價格計費。

否。無論執行的是 MySQL、PostgreSQL 或 SQL Server Express Edition,享受 AWS 免費方案的客戶最多可使用 750 個執行個體小時的微型執行個體。任何超過 750 執行個體小時的用量,包括所有 Amazon RDS 單一可用區微型資料庫執行個體,以及所有適用的資料庫引擎和區域,均按標準的 Amazon RDS 價格計費。

對於超出免費方案所提供的執行個體小時數,將按標準的 Amazon RDS 價格計費。請參閱 Amazon RDS 定價頁面以了解詳細資訊。

預留執行個體

Amazon RDS 預留執行個體可讓您選擇預訂 1 年期或 3 年期的資料庫執行個體,以換取相較於隨需執行個體定價更多的資料庫執行個體折扣。共有三個 RI 付款選項:沒有預付款、部分預付款、全額預付款。這些選項讓您可以根據實際的小時價格平衡預付款金額。

預留執行個體和隨需資料庫執行個體在功能上完全相同。唯一的區別是資料庫執行個體的收費方式。使用預留執行個體,您可以購買一年或三年保留期,並在期限內享有較低的每小時使用費率 (相較於隨需資料庫執行個體)。除非您在區域中購買預留執行個體,否則所有資料庫執行個體都會以隨需小時費率計費。

您可以在 AWS 管理主控台的 "Reserved Instance" (預留執行個體) 部分購買 Amazon RDS 預留執行個體。或者,您可以使用 Amazon RDS API 或 AWS 命令列界面列出可供購買的保留,然後購買資料庫執行個體保留。

購買預留執行個體之後,使用預留資料庫執行個體與使用隨需資料庫執行個體沒有任何區別。使用與保留相同的執行個體類別、引擎和區域啟動資料庫執行個體。只要您的保留購買有效,Amazon RDS 就會對符合資格的新資料庫執行個體套用折扣後的小時費率。

Amazon RDS 預留執行個體是針對區域購買,而不是針對特定可用區域。因為 RI 並非針對特定的某個可用區域,所以沒有容量保留。這表示即使在一個可用區域中有容量限制,但仍可在區域中購買保留,並依據符合該區域內任何可用區域的用量享有折扣。

您最多可以購買 40 個預留資料庫執行個體。如果您要執行超過 40 個資料庫執行個體,請填寫 Amazon RDS 資料庫執行個體申請表

只要購買與資料庫執行個體類別相同的資料庫執行個體保留、與您目前執行和希望預訂的資料庫執行個體相同區域的資料庫引擎、異地同步備份選項和授權模式即可。如果您成功購買保留,Amazon RDS 將自動在現有的資料庫執行個體套用新的每小時使用費。

收到您的申請及處理付款授權後,將會啟動與預留執行個體相關聯的定價變更。您可以在 AWS 帳戶活動頁面或使用 DescribeReservedDBInstances API 或 describe-reserved-db-instances 命令追蹤保留的狀態。如果在下一帳單週期前未成功授權一次性付款,折扣價格將不會生效。

您的保留期限到期後,預留執行個體將恢復為該資料庫執行個體類別和區域所適用的隨需小時費率。

Amazon RDS 建立、修改及刪除資料庫執行個體的操作不會區別隨需執行個體與預留執行個體。我們的系統在計算帳單時將自動套用您的保留,即所有符合條件的資料庫執行個體都會以較低的預留資料庫執行個體每小時費率收費。

每個保留都與以下一組屬性關聯:資料庫引擎、資料庫執行個體類別、異地同步備份部署選項、授權模式和區域。

符合大小彈性資格的資料庫引擎保留和授權模式 (MySQL、MariaDB、PostgreSQL、Amazon Aurora 或 Oracle「使用自有授權」) 將會自動套用到相同資料庫引擎和區域中相同執行個體系列 (例如,M4、T2 或 R3) 內任何大小的執行中資料庫執行個體。此外,保留也會套用到在單一可用區或異地同步備份部署選項執行的資料庫執行個體。

例如,假設您購買了 db.m4.2xlarge MySQL 保留。如果您決定將執行中資料庫執行個體擴展為 db.m4.4xlarge,則此 RI 的折扣費率會涵蓋較大資料庫執行個體 1/2 的用量。

如果您執行的資料庫引擎或授權模式不符合大小彈性資格 (Microsoft SQL Server 或 Oracle「已包含授權」),則每個保留在合約期限內只能套用到具有相同屬性的資料庫執行個體。如果您決定在保留期限結束之前修改執行中資料庫執行個體的任何屬性,該資料庫執行個體的小時費率將恢復為隨需小時費率。

如需大小彈性的詳細資訊,請參閱 Amazon RDS 使用者指南

每個預留執行個體都與特定區域關聯,並且在保留的存留期內固定不變。不過,每個保留都可以用於關聯區域內的任何可用區域。

是。購買預留執行個體時,您可在可供購買的資料庫執行個體設定,選取異地同步備份選項。此外,如果使用支援預留執行個體大小彈性的資料庫引擎和授權模式,多可用區域預留執行個體即可使用兩個單一可用區資料庫執行個體。

如果資料庫執行個體類別和區域相同,資料庫執行個體預留也可以套用於僅供讀取複本。我們的系統在計算帳單時,將自動套用您的保留,即所有符合條件的資料庫執行個體都會以較低的預留執行個體每小時費率收費。

否,您無法取消預留資料庫執行個體,而且一次性付款 (如果有) 也無法退款。無論使用多少容量,在預留資料庫執行個體期限內都必須繼續支付小時費用。

當您使用全額預付付款選項購買 RI 時,是以一次預付款的方式支付整個 RI 合約期限的費用。您可以選擇不預付選項,不支付任何預付金。不預付 RI 的總金額會分配至執行個體合約期限中的每個小時,無論使用量為何,都依該合約期限內的每個小時付費。部分預付款選項是綜合全額預付和不預付選項。支付小額預付款後,無論使用量為何,都會依較低的小時費率為執行個體合約期間內的每個小時計費。

硬體和擴展

您需要先評估應用程式的運算、記憶體和儲存需求,再選取初始資料庫執行個體類別和儲存容量。如需可用資料庫執行個體類別的相關資訊,請參閱 Amazon RDS 使用者指南

您可以使用 AWS 管理主控台 (選取想要的資料庫執行個體並按一下 Modify (修改) 按鈕)、Amazon RDS API 或 AWS Command Line Interface,擴展分配給資料庫執行個體的運算資源和儲存容量。透過變更資料庫執行個體類別可以修改記憶體和 CPU 資源,當您修改儲存分配時,可用的儲存也會隨之變更。 

請注意,修改資料庫執行個體類別或分配的儲存時,將在指定的維護時段期間套用您請求的變更。或者,您可以使用 "apply-immediately" 旗標立即套用擴展請求。請注意,這也會同時套用任何其他擱置的系統變更。

部分舊的 RDS for SQL Server 執行個體可能不具有可擴展儲存的資格。如需詳細資訊,請參閱 RDS for SQL Server 常見問答集

Amazon RDS 的資料庫和日誌儲存採用 EBS 磁碟區。根據所請求儲存的大小,Amazon RDS 會自動將多個 EBS 磁碟區分成等量以增強 IOPS 效能。對於 MySQL 和 Oracle 中現有的資料庫執行個體,您在縱向擴展儲存時會觀察到部分 I/O 容量有所改善。您可以使用 AWS 管理主控台、ModifyDBInstance API 或 modify-db-instance 命令來擴展分配給資料庫執行個體的儲存容量。

如需詳細資訊,請參閱 Amazon RDS 儲存

您可以增加分配給資料庫執行個體的儲存容量,同時保持資料庫執行個體的可用性。不過,當您決定擴展或縮小資料庫執行個體可用的運算資源,在修改資料庫執行個體類別時將暫時無法使用資料庫。這段無法使用的時間通常只持續幾分鐘,而且會發生在資料庫執行個體的維護時段期間,除非您指定立即套用修改。

Amazon RDS 支援各種資料庫執行個體類別和儲存分配,以符合不同的應用程式需求。如果您的應用程式所需的運算資源超過最大的資料庫執行個體類別或所需儲存超過最大分配量,則可以實作資料分割,將資料分配到多個資料庫執行個體。

Amazon RDS 一般用途 (SSD) 儲存適用於擁有適中 I/O 請求的各種資料庫工作負載。這個儲存選項具備 3 IOPS/GB 的基準以及大幅提升到 3,000 IOPS 的能力,能夠提供可預測的效能,以符合大多數應用程式的需求。

Amazon RDS 佈建 IOPS (SSD) 儲存是可支援 SSD 的儲存選項,專為提供快速、可預測和一致的 I/O 效能而設計。您可以利用 Amazon RDS 佈建 IOPS (SSD) 儲存,在建立資料庫執行個體時指定 IOPS 速率,而 Amazon RDS 會在資料庫執行個體的存留期佈建該 IOPS 速率。Amazon RDS 佈建 IOPS (SSD) 儲存經過優化,適合 I/O 密集型交易處理 (OLTP) 資料庫工作負載。如需詳細資訊,請參閱 Amazon RDS 使用者指南

Amazon RDS 磁帶儲存對於資料存取頻率較低的小型資料庫工作負載而言相當實用。磁帶儲存不建議用於生產資料庫執行個體。

選擇最適合您工作負載的儲存類型。

  • 고성능 OLTP 워크로드: Amazon RDS의 프로비저닝된 IOPS(SSD) 스토리지
  • 具有適中 I/O 要求的資料庫工作負載:Amazon RDS 一般用途 (SSD) 儲存

Amazon RDS 支援的 IOPS 因資料庫引擎而異。如需詳細資訊,請參閱 Amazon RDS 使用者指南

自動備份和資料庫快照

Amazon RDS 提供兩種不同的方法,來備份和還原資料庫執行個體自動備份資料庫快照

Amazon RDS 的自動備份功能可啟用資料庫執行個體的時間點復原。當您的資料庫執行個體開啟自動備份時,Amazon RDS 會自動執行資料的完整每日快照 (在您偏好的備份時段期間),並擷取交易日誌 (如果對資料庫執行個體進行更新)。當您啟動 point-in-time 恢復時,交易日誌將套用到最適當的每日備份,以便將資料庫執行個體還原到您請求的特定時間。 

Amazon RDS 會將資料庫執行個體備份保留一段時間,這個使用者指定的時段稱為保留期,預設為 7 天,但最長可設定為 35 天。您可以在保留期內啟動 point-in-time 恢復並指定任何秒數,最長為最近可還原的時間。您可以使用 DescribeDBInstances API 返回資料庫執行個體最近可還原的時間,通常在最後五分鐘以內。 

或者,您可以在 AWS 管理主控台中選擇資料庫執行個體,並查看主控台面板下方的 "Description" (說明) 標籤,找出該資料庫執行個體最近可還原的時間。

資料庫快照是由使用者啟動,讓您按照所需的任意頻率在已知狀態備份資料庫執行個體,然後隨時還原到該特定的狀態。您可以利用 AWS 管理主控台、CreateDBSnapshot API 或 create-db-snapshot 命令建立資料庫快照,並保留到您明確將其刪除為止。

您可以使用 Amazon RDS 為實現自動備份而執行的快照進行複製 (使用 AWS Console 或 copy-db-snapshot command) 或用於快照還原功能。您可以使用「自動」快照類型加以識別。또 "Snapshot Created Time" 필드에서 스냅샷이 촬영된 시간을 확인할 수 있습니다. 

或者,「自動」快照的識別符也包含快照拍攝的時間 (以 UTC 表示)。

참고: 특정 시점으로 복구 또는 DB 스냅샷에서 복구 작업을 수행하면 새로운 엔드포인트를 가지는 새 DB 인스턴스가 생성됩니다(필요한 경우 기존 DB 인스턴스를 삭제할 수 있음).這樣,您就能夠從特定的資料庫快照或時間點建立多個資料庫執行個體。

根據預設,Amazon RDS 會啟用資料庫執行個體的自動備份,保留期為 7 天。如果您希望修改備份保留期,可以使用 RDS 主控台或 CreateDBInstance API (建立新資料庫執行個體時) 或 ModifyDBInstance API (適用於現有執行個體) 執行操作。您可以使用這些方法將 RetentionPeriod 參數變更為從 0 (這將停用自動備份) 至所需天數之間的任何數字,最多 35。如果資料庫執行個體是「僅供讀取複本」的來源,此值不能設定為 0。如需自動備份的詳細資訊,請參閱 Amazon RDS 使用者指南

偏好的備份時段是由使用者定義,資料庫執行個體會在此時段進行備份。Amazon RDS 利用這些定期資料備份,再結合交易日誌,讓您能夠將資料庫執行個體還原到保留期內的任何秒數,最多可到 LatestRestorableTime (通常最多到最後幾分鐘)。在備份期間,儲存 I/O 在備份程序初始化時可能會短暫停止 (通常在幾秒內),而您可能會感覺到有短時間的延遲增加。異地同步備份資料庫部署沒有 I/O 暫止,因為備份是從備用資料庫取得。

Amazon RDS 資料庫快照和自動備份存放在 S3

您可以使用 AWS 管理主控台或 ModifyDBInstance API 或 modify-db-instance 命令修改 RetentionPeriod 參數,以管理自動備份的保留期。如果您希望完全關閉自動備份,可以將保留期設為 0 (不建議)。您可以透過 Amazon RDS 主控台的 "Snapshots" 部分管理使用者建立的資料庫快照。或者,您可以使用 DescribeDBSnapshots API 或 describe-db-snapshots 命令查看特定資料庫執行個體的使用者建立資料庫快照清單,並使用 DeleteDBSnapshot APIdelete-db-snapshot 命令刪除快照。

自動資料庫快照的數量比保存期天數多 1 或 2 個,屬於正常現象。保留一個額外的自動快照是為了確保能夠恢復到保存期內的任何時間點。

例如,如果您的備份期設為 1 天,則您需要 2 個自動快照支援,才能恢復到過去 24 小時內的任何時間點。您也可能會看到額外的自動快照,這是因為系統一律會在刪除最舊的自動快照之前建立新的自動快照。

當您刪除資料庫執行個體,可以在刪除時建立最終的資料庫快照;如果這樣做,就可在日後利用此資料庫快照恢復已刪除的資料庫執行個體。刪除資料庫執行個體之後,Amazon RDS 會將這個使用者建立的最終資料庫快照與所有其他手動建立的資料庫快照一起保留。請參閱定價頁面,了解備份儲存費用的詳細資訊。

刪除資料庫執行個體時,自動備份也會隨之刪除。只有手動建立的資料庫快照會在刪除資料庫執行個體後保留下來。

安全性

Amazon VPC 可讓您在 AWS 雲端的私有、隔離部分建立虛擬聯網環境,您可以在其中全面控制私有 IP 地址範圍、子網路、路由表和網路閘道。您可以利用 Amazon VPC 定義虛擬網路拓撲和自訂網路設定,使其非常類似於您在自己的資料中心所操作的傳統 IP 網路。

當您想要執行公有 Web 應用程式,同時仍在私有子網路中保留非公開存取的後端伺服器時,就能利用 VPC。您可以為 Web 伺服器建立一個可存取網際網路的公有子網路,並將後端 Amazon RDS 資料庫執行個體置於不能存取網際網路的私有子網路中。如需 Amazon VPC 的詳細資訊,請參閱 Amazon Virtual Private Cloud 使用者指南

如果您的 AWS 帳戶在 2013 年 12 月 4 日之前建立,您可以在 Amazon Elastic Compute Cloud (EC2)-Classic 環境中執行 Amazon RDS。無論使用 EC2-Classic 或 EC2-VPC,Amazon RDS 的基本功能完全相同。不管資料庫執行個體是部署在 VPC 內部還是外部,Amazon RDS 都能管理備份、軟體修補、自動故障偵測、僅供讀取複本和恢復。如需 EC2-Classic 和 EC2-VPC 之間差異的詳細資訊,請參閱 EC2 文件

資料庫子網路群組是您希望為 VPC 中的 Amazon RDS 資料庫執行個體指定的子網路集合。每個子網路群組都應該至少有指定區域中每個可用區域的一個子網路。當您在 VPC 中建立資料庫執行個體時,需要選擇資料庫子網路群組。然後 Amazon RDS 使用該資料庫子網路群組和您的可用區域選擇子網路以及該子網路內的 IP 地址。Amazon RDS 會建立彈性網路界面,並以該 IP 地址將其與您的資料庫執行個體建立關聯。

請注意,我們強烈建議您使用 DNS 名稱來連線資料庫執行個體,因為基礎 IP 地址可能變更 (例如在容錯移轉時)。

對於多可用區部署,為一個區域的所有可用區域定義子網路將可讓 Amazon RDS 根據需要在其他可用區域建立新的備用執行個體。即使是單一可用區部署也需要這麼做,以便未來需要將它們轉換為異地同步備份部署。

如需完成此處理的逐步程序,請參閱《Amazon RDS 使用者指南》中的在 VPC 中建立資料庫執行個體

請參閱《Amazon RDS 使用者指南》的安全群組部分,了解控制資料庫執行個體存取的不同方法。

在 VPC 內部署的 EC2 執行個體可以存取相同 VPC 內部署的資料庫執行個體。如果這些 EC2 執行個體部署在具有關聯彈性 IP 的公有子網路中,您可以透過網際網路存取 EC2 執行個體。您可以透過 VPN 或在公有子網路中可啟動的堡壘主機,或使用 Amazon RDS 可公開存取的選項,從 VPC 外部的 EC2 執行個體存取 VPC 內部署的資料庫執行個體:

  • 要使用堡壘主機,您需要設定一個公有子網路,包含當作 SSH Bastion 的 EC2 執行個體。這個公有子網路必須有網際網路閘道和路由規則,允許透過 SSH 主機引導流量,然後必須將請求轉發到 Amazon RDS 資料庫執行個體的私有 IP 地址。
  • 只要將 Publicly Accessible 選項設定為 "yes" 以建立資料庫執行個體後,即可使用公有連線。使用公開存取時,預設就可以從您的 VPC 外部完整存取 VPC 內的資料庫執行個體。這表示您不需要設定 VPN 或堡壘主機來允許存取您的執行個體。

您也可以設定一個 VPN 閘道,將公司網路擴展到 VPC,然後允許存取該 VPC 中的 Amazon RDS 資料庫執行個體。如需詳細資訊,請參閱 Amazon VPC 使用者指南

強烈建議您使用 DNS 名稱來連接資料庫執行個體,因為基礎 IP 地址可能變更 (例如在容錯移轉時)。

如果資料庫執行個體不在 VPC 中,您可使用 AWS 管理主控台輕鬆地將資料庫執行個體移至 VPC。如需詳細資訊,請參閱 Amazon RDS 使用者指南。您也可以拍攝 VPC 外部資料庫執行個體的快照,然後透過指定要使用的資料庫子網路群組,將其還原到 VPC。或者,您也可以執行「還原到時間點」操作。

不支援從 VPC 內部到外部遷移資料庫執行個體。基於安全考量,無法將 VPC 內資料庫執行個體的資料庫快照還原到 VPC 外部。同樣地,也無法執行「還原到時間點」功能。 

您需要負責在 VPC 中修改路由表聯網 ACL,以確保能夠從 VPC 中的用戶端執行個體存取您的資料庫執行個體。 針對多可用區部署,在容錯移轉之後,您的用戶端 EC2 執行個體和 Amazon RDS 資料庫執行個體可能位於不同的可用區域。您應該設定聯網 ACL 以確保能夠跨可用區域進行通訊。

現有的資料庫子網路群組可以進行更新,以便為現有的可用區域或建立資料庫執行個體時加入的新可用區域新增更多子網路。 如果從子網路群組移除特定的可用區域,則從現有資料庫子網路群組中移除子網路,可能導致在該可用區域中執行的執行個體無法使用。如需詳細資訊,請參閱 Amazon RDS 使用者指南

您需要有 AWS 開發人員帳戶才能開始使用 Amazon RDS。如果在註冊 Amazon RDS 之前沒有 AWS 開發人員帳戶,系統會在您開始註冊程序時提示您建立帳戶。主要使用者帳戶與 AWS 開發人員帳戶不同,前者僅在 Amazon RDS 環境內控制對資料庫執行個體的存取時使用。主要使用者帳戶是讓您可用來連接資料庫執行個體的原生資料庫使用者帳戶。 

您建立資料庫執行個體時,可以指定與每個資料庫執行個體相關聯的主要使用者名稱和密碼。建立資料庫執行個體之後,您可以使用主要使用者憑證連接到資料庫。之後,您也可以建立其他使用者帳戶,以便限制誰能存取您的資料庫執行個體。

對於 MySQL,主要使用者的預設權限包括:建立、退出、參考、事件、更改、刪除、建立索引、插入、選擇、更新、建立臨時表、鎖定表、觸發、建立檢視、顯示檢視、更改常式、建立常式、執行、觸發、建立使用者、處理、顯示資料庫、授與選項。

對於 Oracle,會授與主要使用者 "dba" 角色。主要使用者會繼承與該角色關聯的大部分權限。有關限制權限以及執行需要這些權限的管理任務時對應的替代項目清單,請參閱 Amazon RDS 使用者指南

對於 SQL Server,會授與建立資料庫的使用者 "db_owner" 角色。有關限制權限以及執行需要這些權限的管理任務時對應的替代項目清單,請參閱 Amazon RDS 使用者指南

否,一切都與您自己管理關聯式資料庫時使用的熟悉方式相同。

是。您必須特別設定安全群組開啟此功能,才能透過網際網路存取資料庫。您只能對特定 IP、IP 範圍或自己資料中心伺服器所對應的子網路授與存取權限。

是,所有 Amazon RDS 引擎均支援此選項。 Amazon RDS 會為每個資料庫執行個體產生一個 SSL/TLS 憑證。建立加密連線後,資料庫執行個體和應用程式之間傳輸的資料會在傳輸期間加密。

雖然 SSL 有安全上的優點,但應注意 SSL/TLS 加密操作需使用大量運算資源,會增加資料庫連線的延遲現象。Amazon RDS 中的 SSL/TLS 支援是用於應用程式和資料庫執行個體之間的連線加密,不應用於資料庫執行個體本身的身分驗證作業。

有關與 Amazon RDS 建立加密連線的詳細資訊,請參閱 Amazon RDS 的 MySQL 使用者指南MariaDB 使用者指南PostgreSQL 使用者指南Oracle 使用者指南。若要進一步了解 SSL/TLS 如何與這些引擎配合使用的相關資訊,您可以直接參考 MySQL 文件MariaDB 文件MSDN SQL Server 文件PostgreSQL 文件Oracle 文件

Amazon RDS 支援所有資料庫引擎的靜態加密,可使用您透過 AWS Key Management Service (KMS) 管理的金鑰。在以 Amazon RDS 加密執行的資料庫執行個體上,於基礎儲存體中存放的靜態資料,以及其自動備份、僅供讀取複本和快照都會加密。加密和解密的處理完全透明。如需使用 KMS 搭配 Amazon RDS 的詳細資訊,請參閱 Amazon RDS 使用者指南

您也可以建立資料庫快照,然後建立該快照的副本並指定 KMS 加密金鑰,對之前未加密的資料庫執行個體或資料庫叢集新增加密。之後,您便可以從加密的快照恢復加密的資料庫執行個體或資料庫叢集。

Amazon RDS for Oracle 與 SQL Server 支援那些引擎的透明資料加密 (TDE) 技術。如需詳細資訊,請參閱 Amazon RDS 使用者指南中有關 OracleSQL Server 的章節。

您可以控制您的 AWS IAM 使用者和群組在 Amazon RDS 資源上可執行的動作。而方法是在套用到使用者和群組的 AWS IAM 政策中參考相關的 Amazon RDS 資源。可在 AWS IAM 政策中參考的 Amazon RDS 資源包括資料庫執行個體、資料庫快照、僅供讀取複本、資料庫安全群組、資料庫選項組、資料庫參數群組、事件訂閱以及資料庫子網路群組。 

此外,您還可以將這些資源加上標籤,以新增額外的中繼資料到您的資源。您可以使用標記來分類資源 (例如,「開發」資料庫執行個體、「生產」資料庫執行個體、「測試」資料庫執行個體等等),也可以撰寫 AWS IAM 政策,列出可在具有相同標籤的資源上執行的許可 (即動作)。如需詳細資訊,請參閱標記 Amazon RDS 資源

是。 AWS CloudTrail 是一項 Web 服務,用於記錄您帳戶的 AWS API 呼叫並為您提供日誌檔案。CloudTrail 產生的 AWS API 呼叫歷史記錄可用於安全分析、資源變更追蹤以及合規稽核。 

答:是,所有 Amazon RDS 資料庫引擎均符合 HIPAA,因此可用於建立 HIPAA 合規應用程式及存放醫療保健相關資訊,包括與 AWS 共同履行的商業夥伴協議 (BAA) 下的受保護醫療資訊 (PHI)。

如果您已經有履行的 BAA,則您不需要進行任何動作,就能透過 BAA 涵蓋的帳戶開始使用這些服務。如果您沒有與 AWS 供同履行的 BAA,或是對 AWS 上符合 HIPAA 規範的應用程式有任何其他疑問,請聯絡您的客戶經理。

資料庫組態

在預設情況下,Amazon RDS 會考慮資料庫執行個體的執行個體類別和儲存容量,為資料庫執行個體選擇最優化的組態參數。不過,如果您要變更它們,可使用 AWS 管理主控台、Amazon RDS API 或 AWS 命令列界面執行這些動作。請注意,從建議的值變更組態參數可能產生各種意外影響,從效能降低到系統當機等等,只有能夠承擔此風險的進階使用者才應嘗試此操作。

資料庫參數群組扮演引擎設定值的「容器」角色,這些值可套用到一或多個資料庫執行個體。如果建立的資料庫執行個體未指定資料庫參數群組,則會使用預設的資料庫參數群組。이 기본값 그룹에는 실행하는 DB 인스턴스에 최적화된 엔진 기본값과 Amazon RDS 시스템 기본 값이 포함됩니다.

不過,如果您希望資料庫執行個體以您自訂的引擎設定值執行,只需建立一個新資料庫參數群組,再修改所需的參數,然後修改資料庫執行個體以使用新資料庫參數群組。建立關聯之後,使用特定資料庫參數群組的所有資料庫執行個體都將取得該資料庫參數群組的所有參數更新。

如需設定資料庫參數群組的詳細資訊,請參閱 Amazon RDS 使用者指南

您可以使用 AWS Config 持續地將組態變更記錄到 Amazon RDS 資料庫執行個體、資料庫子網路群組、資料庫快照、資料庫安全群組和事件訂閱,並透過 Amazon Simple Notification Service (SNS) 接收變更的通知。您也可以建立 AWS Config 規則 來評估這些 Amazon RDS 資源是否具有所需的組態。

多可用區部署

當您建立或修改資料庫執行個體,作為多可用區部署執行時,Amazon RDS 會自動在不同的可用區域佈建和維護一份同步「備用」複本。對資料庫執行個體的更新將同步複製到可用區域的備用副本,以保持同步並保護最新的資料庫更新,防止資料庫執行個體出現故障。 

在特定類型的計劃維護期間,或在少見的資料庫執行個體故障或可用區域故障情況下,Amazon RDS 將自動容錯移轉到備用副本,以便在提升備用副本後儘快恢復資料庫寫入和讀取操作。因為資料庫執行個體的名稱記錄相同,所以應用程式可以恢復資料庫操作,無須手動管理介入。使用多可用區部署,複寫是透明的。您不需要與備用副本直接互動,而且它無法用於為讀取流量提供服務。如需多可用區部署的詳細資訊,請參閱 Amazon RDS 使用者指南

可用區域是區域內的不同位置,其設計成可與其他可用區域中的故障隔離。每個可用區域在其實體不同的獨立基礎設施中執行,並已設計成具備高可靠性。可用區域之間不會共用常見的故障點,如發電機和冷卻設備等。此外,它們實體上也各自分開,即使火災、風災或水災等罕見災難也只會影響單一可用區域。相同區域內的可用區域具有低延遲網路連線優點。

當您以異地同步備份部署執行資料庫執行個體時,「主」副本為資料庫寫入和讀取操作提供服務。此外,Amazon RDS 會在幕後佈建和維護「備用」副本,它是主副本的最新副本。在容錯移轉情況下會「提升」備用副本。容錯移轉後,備用副本成為主副本,並接受資料庫操作。在提升前的任何時候,您都無需與備用副本直接互動 (例如,讀取操作)。如果您有興趣擴展讀取流量以超越單一資料庫執行個體的容量限制,請參閱僅供讀取複本的常見問答集。

以異地同步備份部署執行資料庫執行個體的主要優點是可增強資料庫持久性和可用性。異地同步備份部署提供的可用性增強和容錯能力,使其非常適合生產環境。
 

當您以異地同步備份部署執行資料庫執行個體,在萬一發生資料庫執行個體元件故障或某個可用區域可用性損失等罕見情況時可確保資料安全。例如,如果主副本中的儲存磁碟區故障,Amazon RDS 會自動啟動容錯移轉到備用副本,您的所有資料庫更新在這裡會完整無缺。相對於單一可用區的標準部署,這種方式提供更長的資料持久性,否則使用者需要啟動還原操作,而且最近可還原時間 (通常在最後五分鐘內) 之後進行的更新將無法使用。

以多可用區部署執行資料庫執行個體時,還能受惠於增強的資料庫可用性。如果發生可用區域故障或資料庫執行個體故障,可用性影響將僅限於完成自動容錯移轉所需的時間。多可用區的可用性優點還可延伸到計劃的維護操作。

例如,使用自動備份時,因為是從備用副本進行備份,所以在偏好的備份時段期間不會再暫停主副本的 I/O 活動。如果是修補或資料庫執行個體類別擴展,這些操作會在自動容錯移轉之前先在備用副本上執行。因此,可用性影響將僅限於完成自動容錯移轉所需的時間。

以多可用區部署執行資料庫執行個體的另一個潛在優點是,資料庫執行個體容錯移轉會自動執行,無需進行管理。在 Amazon RDS 環境中,這表示出現可用區域故障或資料庫執行個體故障時,無須監控資料庫執行個體事件及啟動手動資料庫執行個體恢復 (透過 RestoreDBInstanceToPointInTime 或 RestoreDBInstanceFromSnapshot API)。

因為是代表您執行同步資料複寫,所以相對於單一可用區域的標準資料庫執行個體部署,您可能會觀察到有較長的延遲。

否,備用異地同步備份不能用於服務讀取請求。異地同步備份部署的設計是提供增強的資料庫可用性和持久性,而非著重於讀取擴展方面的效益。因此,此功能在主副本和備用副本之間採用同步複寫。我們的實作可確保主副本和備用副本一直處於同步狀態,但不能使用備用副本執行讀取或寫入操作。如果您對讀取擴展解決方案感興趣,請參閱僅供讀取複本的常見問答集。

要建立多可用區資料庫執行個體部署,只要在使用 AWS 管理主控台啟動資料庫執行個體時,按一下 "Multi-AZ Deployment" (多可用區部署) 的 "Yes" (是) 選項。

或者,如果您使用的是 Amazon RDS API,則可以呼叫 CreateDBInstance API 並將 "Multi-AZ" 參數值設為 "true"。 若要將現有的標準 (單一可用區) 資料庫執行個體轉換為異地同步備份,請在 AWS 管理主控台修改資料庫執行個體,或使用 ModifyDBInstance API 並將 Multi-AZ 參數值設為 true。

對於 RDS for PostgreSQLRDS for MySQLRDS for MariaDBRDS for SQL ServerRDS for OracleRDS for Db2 資料庫引擎,當您選擇將 Amazon RDS 執行個體從單一可用區轉換到多可用區域時,會發生下列情況:

  • 拍攝主執行個體的快照。
  • 從快照的另一個可用區域建立新的備用執行個體。
  • 在主執行個體和備用執行個體之間設定同步複寫。

 

因此,當執行個體從單一可用區轉換到多可用區域時,應該不會發生停機時間。但是,當備用執行個體上的資料與主執行個體相同時,您可能會看到延遲增加。

Amazon RDS 可偵測異地同步備份部署中最常見的故障並自動從中恢復,讓您在無管理介入的情況下盡快恢復資料庫操作。如果發生以下任何一種情況,Amazon RDS 將自動執行容錯移轉:

  • 主可用區域的可用性受損
  • 主可用區域的網路連線能力受損
  • 主可用區域的運算單位故障
  • 主可用區域的儲存故障

注意:為了獲得增強的可用性,對多可用區部署啟動資料庫執行個體擴展或系統升級 (例如作業系統修補) 之類的操作時,這些操作會先套用到備用副本,之後才套用到自動容錯移轉。因此,可用性影響僅限於完成自動容錯移轉所需的時間。請注意,Amazon RDS 多可用區部署不會自動容錯移轉以回應資料庫操作,例如長時間執行查詢、鎖死或資料庫毀損錯誤。

是,Amazon RDS 將發出資料庫執行個體事件,通知您已執行自動容錯移轉。按一下 Amazon RDS 主控台的 "Event" 部分或使用 DescribeEvents API,傳回與資料庫執行個體相關事件的資訊。另外也可以使用 Amazon RDS 事件通知,在特定資料庫事件發生時收到通知。

Amazon RDS 將自動處理容錯移轉,所以您可以盡快恢復資料庫操作,而無須管理介入。在容錯移轉時,Amazon RDS 會翻轉資料庫執行個體的正式名稱記錄 (CNAME) 指向備用副本,備用副本轉而提升成新的主副本。我們鼓勵您遵循最佳實務,在應用程式層實作資料庫連線重試機制。

容錯移轉按照從主副本上偵測到故障,一直到在備用副本上繼續交易之間的時間所定,通常在一至兩分鐘內完成。容錯移轉時間也會受到是否必須還原大型未認可交易的影響;為獲得最佳效果,建議對異地同步備份使用足夠大的執行個體類型。AWS 也建議對異地同步備份執行個體使用佈建 IOPS,以獲得快速、可預測及一致的輸送量效能。

在不同故障情況下,Amazon RDS 會自動進行容錯移轉,無須使用者操作。此外,Amazon RDS 會在重新啟動執行個體時提供啟動容錯移轉的選項。您可以透過 AWS 管理主控台或呼叫 RebootDBInstance API 以存取此功能。

對於異地同步備份部署,您只要將 "Multi-AZ" 參數設為 "true"。系統會自動處理備用副本的建立、同步複寫和容錯移轉。這表示您無法選擇部署備用副本的可用區域或更改可用的備用副本數 (Amazon RDS 為每個資料庫執行個體主副本佈建一個專用的備用副本)。備用副本也無法設定為接受資料庫讀取活動。 進一步了解關於異地同步備份組態的資訊。

是。備用副本會自動佈建在與資料庫執行個體主副本同一區域的不同可用區域中。

是。您可以使用 AWS 管理主控台或 DescribeDBInstances API 查看目前主副本的位置。

可用區域的設計是將低延遲網路連線能力提供給同一區域中的其他可用區域。此外,您可能要考慮以跨多個可用區域的冗餘建構應用程式及其他 AWS 資源,以便在可用區域發生故障時,應用程式能夠靈活反應。異地同步備份部署可滿足資料庫層的此項需求,無須您介入管理。

無論是在單一可用區或異地同步備份部署中執行標準部署,您與自動備份和資料庫快照功能互動的方式並無不同。如果您正在執行異地同步備份部署,將自動從備用副本執行自動備份和資料庫快照,以免主副本中的 I/O 暫停。請注意,在單一可用區和異地同步備份部署備份時,都可能經歷較長時間的 I/O 延遲 (一般持續幾分鐘)。

異地同步備份部署與標準、單一可用區部署的還原操作啟動方式也完全相同 (point-in-time 還原或從資料庫快照還原)。您可以使用 RestoreDBInstanceFromSnapshot 或 RestoreDBInstanceToPointInTime API 建立新資料庫執行個體部署。無論是在標準部署或異地同步備份部署中啟動來源備份,這些新資料庫執行個體部署都可以是標準或異地同步備份部署。

僅供讀取複本

您可以透過僅供讀取複本更輕鬆地利用支援引擎的內建複寫功能,彈性地橫向擴展超越單一資料庫執行個體的容量限制,以處理高讀取量的資料庫工作負載。

只需在 AWS 管理主控台中按幾下或使用 CreateDBInstanceReadReplica API 即可建立僅供讀取複本。建立僅供讀取複本之後,將使用支援引擎的原生異步複寫功能來複製來源資料庫執行個體的資料庫更新。您可以為指定的來源資料庫執行個體建立多個僅供讀取複本,並將應用程式的讀取流量分配給這些副本。

因為僅供讀取複本使用支援引擎的內建複寫技術,所以各有其優點和限制。特別是,在來源資料庫執行個體發生更新之後,這些更新會套用到僅供讀取複本,而複寫延遲可能會有明顯差異。僅供讀取複本可和多可用區部署建立關聯,以取得讀取擴展優點,以及多可用區部署提供的增強資料庫寫入可用性和資料持久性。

許多情況都適合為指定來源資料庫執行個體部署一或多個僅供讀取複本。部署僅供讀取複本的常見原因包括:

  • 擴展超越單一資料庫執行個體的運算或 I/O 容量,以處理高讀取量的資料庫工作負載。這可將過多的讀取流量導向一或多個僅供讀取複本。
  • 在來源資料庫執行個體不可用時,為讀取流量提供服務。如果您的來源資料庫執行個體無法處理 I/O 請求 (例如,由於備份或計劃維護而暫停 I/O),可以將讀取流量導向僅供讀取複本。請注意,在這種使用案例中,由於來源資料庫執行個體無法用,僅供讀取複本中的資料可能為「過時」狀態。
  • 商業報告或資料倉儲案例。您可能希望針對僅供讀取複本執行商業報告查詢,而非針對主副本的生產資料庫執行個體。
  • 您可以使用僅供讀取複本對來源資料庫執行個體執行災難復原作業,不論是在同一個 AWS 區域或其他區域皆可。

是。透過將備份保留期設為 0 以外的值,在來源資料庫執行個體啟用自動備份,再新增僅供讀取複本。備份必須維持啟用狀態,僅供讀取複本才能運作。

Amazon Aurora:所有資料庫叢集。

Amazon RDS for MySQL:所有資料庫執行個體都支援建立僅供讀取複本。自動備份必須啟用且維持於啟用狀態,僅供讀取複本操作的來源資料庫執行個體才能運作。只有執行 MySQL 5.6 和更新版本的 Amazon RDS 僅供讀取複本支援複本上的自動備份,5.5 不支援。

Amazon RDS for PostgreSQL:PostgreSQL 版本 9.3.5 或更新版本的資料庫執行個體支援建立僅供讀取複本。版本 9.3.5 之前的現有 PostgreSQL 執行個體需要升級至 PostgreSQL 版本 9.3.5,才能利用 Amazon RDS 僅供讀取複本。

Amazon RDS for MariaDB:所有資料庫執行個體都支援建立僅供讀取複本。自動備份必須啟用且維持於啟用狀態,僅供讀取複本操作的來源資料庫執行個體才能運作。

Amazon RDS for Oracle:支援在 Oracle Database Enterprise Edition 使用自有授權模式,且已授權 Active Data Guard Option 的 Oracle 12.1.0.2.v12 版本及所有 12.2 版本。

Amazon RDS for SQL Server:當使用適用於 SQL Server 版本 2016 和 2017 的 AlwaysOn 可用性群組基礎複寫技術時,多可用區組態中的 Enterprise Edition 支援僅供讀取複本。

您可以使用標準的 CreateDBInstanceReadReplica API 或在 AWS 管理主控台操作幾步,就能在幾分鐘內建立僅供讀取複本。建立僅供讀取複本時,可透過指定 SourceDBInstanceIdentifier 將其標識為僅供讀取複本。SourceDBInstanceIdentifier 是您要複製的「來源」資料庫執行個體的資料庫執行個體識別符。如同標準資料庫執行個體,您也可以指定可用區域、資料庫執行個體類別和偏好的維護時段。僅供讀取複本的引擎版本 (例如,PostgreSQL 9.3.5) 和儲存分配均繼承自來源資料庫執行個體。 

當您啟動僅供讀取複本的建立時,Amazon RDS 將對來源資料庫執行個體拍攝快照,並開始複寫。因此,在拍攝快照時,您的來源資料庫執行個體上的輸入/輸出可能會暫停一下。輸入/輸出暫停通常大約持續一分鐘時間,如果來源資料庫執行個體為異地同步備份部署,則會避免這種狀況 (如果是異地同步備份部署,會從備用副本拍攝快照)。

此外,Amazon RDS 目前正在進行優化 (即將發行),因此如果您在 30 分鐘內建立多個僅供讀取複本,所有副本都將使用相同的來源快照以盡量減少 I/O 影響 (每個僅供讀取複本將在建立後開始「趕上」複寫)。

您可以像連接至標準資料庫執行個體一樣,使用 DescribeDBInstance API 或 AWS 管理主控台擷取您的僅供讀取複本的端點,以連接至僅供讀取複本。如果您有多個僅供讀取複本,各個複本之間的讀取流量分配方式取決於應用程式。

Amazon RDS for MySQL、MariaDB 和 PostgreSQL 可讓您為指定的來源資料庫執行個體最多建立 15 個僅供讀取複本。Amazon RDS for Oracle 與 SQL Server 可允許您為指定的來源資料庫執行個體建立最多 5 個僅供讀取複本。

是,Amazon RDS (除了 RDS for SQL Server 以外) 支援跨區域僅供讀取複本。資料寫入來源資料庫執行個體以及在僅供讀取複本中可使用資料之間的時間長短,取決於兩個區域之間的網路延遲。

否。Amazon RDS for MySQL、MariaDB、PostgreSQL、Oracle 和 SQL Server 的僅供讀取複本實作均使用這些引擎的原生異步複寫。Amazon Aurora 使用不同、但仍然是非同步的複寫機制。

如果您希望用複寫來提高資料庫寫入可用性,同時保護最新資料庫更新以免發生各種失敗情況,建議您以異地同步備份部署執行資料庫執行個體。使用 Amazon RDS 僅供讀取複本時會採用支援引擎的原生異步複寫功能,僅供讀取複本上的資料庫寫入發生在來源資料庫執行個體異地同步之後,這個複寫「延遲」可能會有明顯差異。 

反之,異地同步備份部署會採用同步複寫,這表示主副本和備用副本上的所有資料庫寫入都同時發生。這樣可保護最新的資料庫更新,因為在需要容錯移轉時,必須能夠使用備用副本上的資料。 

此外,使用異地同步備份部署複寫可全受管。Amazon RDS 會自動監控資料庫執行個體故障情況或可用區域故障,並在出現中斷時啟動自動容錯移轉到備用副本 (如果是 Amazon Aurora,則容錯移轉到僅供讀取複本)。

是。由於異地同步備份資料庫執行個體與僅供讀取複本解決的需求不同,所以在生產部署中可以結合兩者,將僅供讀取複本與異地同步備份資料庫執行個體部署建立關聯。「來源」異地同步備份資料庫執行個體可提供您增強的寫入可用性和資料持久性,而關聯的僅供讀取複本可改善讀取流量擴展性。

是。Amazon RDS for MySQL、MariaDB、PostgreSQL 和 Oracle 允許您對僅供讀取複本啟用異地同步備份設定,以支援災難復原並盡量縮減引擎升級的停機時間。

如果發生異地同步備份容錯移轉,所有關聯和可用的僅供讀取複本在容錯移轉完成之後將自動恢復複寫 (從最新提升的主副本取得更新)。

Amazon Aurora、Amazon RDS for MySQL 與 MariaDB:您可以建立三個層級的僅供讀取複本。第二層的僅供讀取複本來自現有第一層僅供讀取複本,第三層的僅供讀取複本則來自現有第二層僅供讀取複本。透過建立第二層與第三層僅供讀取複本,您可根據應用程式的需求,將一部分的複寫負載從主要資料庫執行個體轉移到第一層僅供讀取複本。

請注意,第二層僅供讀取複本可能落後主資料庫執行個體更多,因為要將交易處理從主資料庫執行個體複製到第一層副本,然後再複製到第二層僅供讀取複本,中間會產生更長的複寫延遲。同樣的,第三層僅供讀取複本也會因延遲而慢於第二層僅供讀取複本。

Amazon RDS for Oracle 和 Amazon RDS for SQL Server︰目前不支援僅供讀取複本的僅供讀取複本。

僅供讀取複本的設計是為了服務讀取流量。不過,在某些使用案例中,進階使用者可能希望針對僅供讀取複本完成資料定義語言 (DDL) SQL 陳述式。例如,將資料庫索引新增到用於商業報告的僅供讀取複本,而不將相同的索引新增到對應的來源資料庫執行個體。

Amazon RDS for MySQL 可以設定為針對僅供讀取複本允許 DDL SQL 陳述式。如果除了讀取指定的僅供讀取複本以外,還要啟用其他操作,請修改僅供讀取複本的有效資料庫參數群組,將 "read_only" 參數設為 "0"。

Amazon RDS for PostgreSQL 目前不支援針對僅供讀取複本執行 DDL SQL 陳述式。

是。如需詳細資訊,請參閱 Amazon RDS 使用者指南

來源資料庫執行個體的更新會自動複製到所有關聯的僅供讀取複本。不過,若利用支援引擎的異步複寫技術,僅供讀取複本可能因位各種原因落後於來源資料庫執行個體。常見的原因包括:

  • 來源資料庫執行個體的寫入 I/O 磁碟區超過變更可套用到僅供讀取複本的速率 (如果僅供讀取複本的運算容量低於來源資料庫執行個體,特別可能發生此問題)
  • 來源資料庫執行個體的複雜或長時間執行的交易阻礙僅供讀取複本的複寫
  • 來源資料庫執行個體和僅供讀取複本之間有網路分割或延遲

僅供讀取複本會受到支援引擎的原生複寫的優缺點影響。如果您正在使用僅供讀取複本,應該會注意到僅供讀取複本與其來源資料庫執行個體之間可能的延遲或「不一致」。

您可以使用標準 DescribeDBInstances API 傳回已部署的所有資料庫執行個體清單 (包括僅供讀取複本),或者直接按一下 Amazon RDS 主控台的 "DB Instances (資料庫執行個體)" 標籤查看。

Amazon RDS 允許您查看僅供讀取複本落後於來源資料庫執行個體的時間距離。僅供讀取複本落後於主副本的秒數會做為 Amazon CloudWatch 指標 ("Replica Lag") 發佈,並可透過 AWS 管理主控台或 Amazon CloudWatch API 取得。

如果是 Amazon RDS for MySQL,此資訊的來源與針對僅供讀取複本發出標準 "Show Replica Status" MySQL 命令所顯示的相同。如果是 Amazon RDS for PostgreSQL,您可以使用來源資料庫執行個體上的 pg_stat_replication 檢視以探索複寫指標。

Amazon RDS 會監控僅供讀取複本的複寫狀態,並在因為任何原因停止複寫 (例如,在與主資料庫執行個體所做更新衝突的副本上執行 DML 查詢,可能會導致複寫錯誤) 時,將 AWS 管理主控台中 Replication State (複寫狀態) 欄位更新為 "Error" (錯誤)。您可以檢視 Replication Error 欄位以查看 MySQL 引擎產生的錯誤相關詳細資訊,然後進行適當動作加以恢復。您可以在 Amazon RDS for MySQL 或 Amazon RDS for PostgreSQL 的使用者指南疑難排解僅供讀取複本問題章節,進一步了解有關複寫問題的疑難排解。 

如果複寫錯誤已修復,Replication State 會變更為 Replicating。

為了讓複寫能有效執行,我們建議僅供讀取複本要有與其各自來源資料庫執行個體相同容量或更多的運算和儲存資源。否則,複寫延遲可能會增加,或者您的僅供讀取複本可能會用完儲存已複製更新的空間。

只要在 AWS 管理主控台操作幾步,或將資料庫執行個體識別符傳送到 DeleteDBInstance API,即可刪除僅供讀取複本。 

即使已刪除對應的來源資料庫執行個體,Amazon Aurora 複本仍會保持在作用中,並繼續接受讀取流量。叢集的其中一個複本會自動提升為新的主要副本,並開始接受寫入流量。

即使已刪除對應的來源資料庫執行個體,Amazon RDS for MySQL 或 MariaDB 僅供讀取複本仍然保持有效,並可繼續接受讀取流量。如果您需要同時刪除僅供讀取複本和來源資料庫執行個體,則必須使用 DeleteDBInstance API 或 AWS 管理主控台明確地刪除僅供讀取複本。

如果您刪除擁有僅供讀取複本的 Amazon RDS for PostgreSQL 資料庫執行個體,所有僅供讀取複本都將提升為獨立資料庫執行個體,並且能夠接受讀取和寫入流量。新提升的資料庫執行個體將各自獨立運作。如果您需要同時刪除這些資料庫執行個體和原始來源資料庫執行個體,則必須使用 DeleteDBInstance API 或 AWS 管理主控台明確地刪除。

僅供讀取複本按標準資料庫執行個體計費,而且費率相同。 就和標準資料庫執行個體一樣,僅供讀取複本的每「資料庫執行個體小時」費率取決於僅供讀取複本的資料庫執行個體類別 – 有關最新的定價資訊,請參閱定價頁面了解最新定價。相同 AWS 區域中的來源資料庫執行個體和僅供讀取複本之間複製資料所產生的資料傳輸不收取費用。

僅供讀取複本的帳單週期從成功建立複本之後就馬上開始 (即狀態為「作用中」時)。僅供讀取複本將一直按標準 Amazon RDS 資料庫執行個體小時費率計費,直到您發出命令將其刪除為止。

增強型監控

Amazon RDS 增強型監控讓您更深入地看到 Amazon RDS 執行個體的運作狀態。只需針對 Amazon RDS 資料庫執行個體開啟 "Enhanced Monitoring" (增強型監控) 選項並設定間隔,增強型監控就會依據定義的間隔來收集重要的作業系統指標和處理資訊。

如需更深層入的診斷、資料庫負載的視覺化呈現、以及更長的資料保留期間,您可以嘗試效能洞察

增強型監控會擷取您的 Amazon RDS 執行個體系統層級指標,如 CPU、記憶體、檔案系統和磁碟輸入/輸出等等。指標的完整清單可在文件中找到。

增強型監控支援所有 Amazon RDS 資料庫引擎。

增強型監控支援每種執行個體類型,但 t1.micro 和 m1.small 除外。軟體針對一般用途監控使用小量的 CPU、記憶體和輸入/輸出,針對中型或大型執行個體,我們建議切換到更高的間隔。對於非生產資料庫執行個體,增強型監控的預設設定是 "off",您可以選擇保留停用或修改它啟用時的間隔。

您可以在主控台上檢視 Amazon RDS 資料庫執行個體的所有系統指標和處理資訊 (圖形化顯示)。您可以管理要監控每個執行個體的哪些指標,並根據您的需求自訂儀表板。

否。您可以為 Amazon RDS 帳戶中每個資料庫執行個體設定不同的間隔。您也可以選擇想要啟用增強型監控的執行個體,也可以隨時修改任何執行個體的間隔。

根據您的設定,所有指標的效能值最多可以往回查 1 小時,間隔最高為 1 秒。

Amazon RDS 增強型監控產生的指標會被傳送到您的 CloudWatch Logs 帳戶。您可以從 CloudWatch Logs 在 CloudWatch 中建立指標篩選條件,然後在 CloudWatch 儀表板上顯示圖形。如需詳細資訊,請瀏覽 Amazon CloudWatch 頁面。

如果您想要檢視 Amazon RDS 主控台儀表板上沒有提供的歷史資料,則應該使用 CloudWatch。您可以在 CloudWatch 中監控 Amazon RDS 執行個體,在單一位置診斷整個 AWS 堆疊的運作狀態。就目前而言,CloudWatch 支援最高 1 分鐘的間隔,而值會是低於該間隔的平均值。

是。您可以在 CloudWatch 中建立警示,在警示變更狀態時傳送通知。警示會監看您指定時間段的單個指標,然後根據幾個時間段內與指定閾值相關的指標值來執行一或多個動作。如需 CloudWatch 警示的詳細資訊,請參閱 Amazon CloudWatch 開發人員指南

Amazon RDS 增強型監控提供一組指標做為 JSON 酬載,傳送到您的 CloudWatch Logs 帳戶。JSON 酬載會按照為 Amazon RDS 執行個體最後設定的間隔傳送。

有兩種方式可以透過第三方儀表板或應用程式來使用指標。監控工具可以使用 CloudWatch Logs Subscriptions,設定以幾乎即時的方式反饋指標。或者,您可以使用 CloudWatch Logs 中的篩選條件,將指標跨越連結到 CloudWatch,以及將您的應用程式整合到 CloudWatch。請瀏覽 Amazon CloudWatch 文件,了解更多詳細資訊。

因為增強型監控會將 JSON 承載傳送到 CloudWatch Logs 帳戶的日誌中,所以您可以控制它的保留期,就像任何其他 CloudWatch Logs 串流一樣。CloudWatch Logs 中為增強型監控設定的預設保留期是 30 天。有關如何變更保留期設定的詳細資訊,請瀏覽 Amazon CloudWatch 開發人員指南

因為指標擷取到 CloudWatch Logs 中,所以只要超過 CloudWatch Logs 免費方案,就會按照 CloudWatch Logs 資料傳輸和儲存費率來計費。您可以在這裡找到定價詳情。Amazon RDS 執行個體的傳輸資訊量,直接依增強型監控功能所定義的間隔比例計算。管理員可以為他們帳戶中不同的執行個體設定不同的間隔來控管成本。

增強型監控為執行個體導入到 CloudWatch Logs 的預估資料量如下所示。

間隔 60 秒 30 秒 15 秒 10 秒 5 秒 1 秒

導入到 CloudWatch Logs 的資料* (每個的 GB 數)

0.27

0.53

1.07

1.61

3.21

16.07

Amazon RDS Proxy

Amazon RDS Proxy 是一項用於 Amazon RDS 的全受管高可用性資料庫代理功能。RDS Proxy 使應用程式更具可擴展性,對資料庫故障更具彈性,並且更加安全。

Amazon RDS Proxy 是 Amazon RDS 的一項全受管、高度可用且易於使用的資料庫代理功能,讓您的應用程式能夠:1) 透過容納和共享資料庫連接來提高可擴展性;2) 透過將資料庫容錯移轉時間減少多達 66%,並在容錯移轉期間保留應用程式連接,來提高可用性;3) 透過可選擇性地對資料庫強制執行 AWS IAM 身分驗證,並在 AWS Secrets Manager 中安全地儲存憑證來提高安全性。

使用 Amazon RDS Proxy 時,查詢或交易回應時間會平均增加 5 毫秒的網路延遲,具體取決於您的工作負載。如果您的應用程式不能忍受 5 毫秒的延遲,或者不需要連接管理和 RDS Proxy 支援的其他功能,則您可以選擇將您的應用程式直接連接到資料庫端點。

Amazon RDS Proxy 改變了您建置現代無伺服器應用程式的方式,讓您可以利用關聯式資料庫的強大功能和簡便性。首先,RDS Proxy 透過容納和重用資料庫連接,來使無伺服器應用程式高效地擴展。其次,藉助 RDS Proxy,您不再需要在您的 Lambda 程式碼中處理資料庫憑證。您可以使用與您的 Lambda 函數關聯的 IAM 執行角色來進行 RDS Proxy 和資料庫身分驗證。第三,您不需要管理任何新基礎架構或程式碼即可利用由關聯式資料庫支援的無伺服器應用程式的全部潛能。RDS Proxy 全受管,並可根據您的應用程式需求自動擴展其容量。

RDS Proxy 適用於 Amazon Aurora with MySQL compatibility、Amazon Aurora with PostgreSQL compatibility、Amazon RDS for MariaDB、Amazon RDS for MySQL、Amazon RDS for PostgreSQL 和 Amazon RDS for SQL Server。如需受支援引擎版本的清單,請參閱 Amazon Aurora 使用者指南Amazon RDS 使用者指南

只需在 Amazon RDS 主控台中按幾下,即可為 Amazon RDS 資料庫啟用 Amazon RDS Proxy。啟用 RDS Proxy 後,您可以指定要從中存取 RDS Proxy 的 VPC 和子網路。作為 Lambda 使用者,您可以為 Amazon RDS 資料庫啟用 Amazon RDS Proxy,並在 Lambda 主控台中按幾下來設定存取它的 Lambda 函數。

是。您可以使用 Amazon RDS Proxy API 來建立代理,然後定義目標群組以便將該代理關聯到特定的資料庫執行個體或叢集。例如:

aws rds create-db-proxy 
        --db-proxy-name '…' 
        --engine-family <mysql|postgresql>       
        --auth [{}, {}] 
        --role-arn '…'
        --subnet-ids {}
        --require-tls <true|false>
        --tags {}
aws rds register-db-proxy-targets 
        --target-group-name '…'
        --db-cluster-identifier  '…'
        --db-instance-identifier '…'

Trusted Language Extensions for PostgreSQL

Trusted Language Extensions for PostgreSQL 讓開發人員能夠建置高效能 PostgreSQL 擴展,並在 Amazon AuroraAmazon RDS 上安全地執行。這樣一來,TLE 可縮短您的上市時間,並減輕資料庫管理員在驗證用於生產資料庫工作負載的自訂和第三方程式碼方面的負擔。一旦確定擴展符合您的需求,就能繼續進行。藉助 TLE,獨立軟體開發廠商 (ISV) 可為執行於 Aurora 和 Amazon RDS 的客戶提供新的 PostgreSQL 擴展。

PostgreSQL 擴展在相同的程序空間執行以獲得高效能。然而,擴展可能存在可導致資料庫崩潰的軟體缺陷。

TLE for PostgreSQL 可提供多層保護來降低這種風險。TLE 的設計可限制對系統資源的存取。rds_superuser 角色可確定允許誰安裝特定擴展。不過,這些變更只能透過 TLE API 進行。TLE 的設計可限制擴展缺陷對單一資料庫連線的影響。除了這些保護措施之外,TLE 的設計還可為 rds_superuser 角色中的 DBA 提供細粒度線上控制,以控制誰可以安裝擴展,並且他們可以建立執行這些擴展的許可模型。

使用者只有具有足夠的許可,才能在 TLE 擴展上使用「CREATE EXTENSION」命令來執行和建立。DBA 還可將更複雜的擴展所需的「PostgreSQL 掛鉤」列入允許清單,這些擴展可修改資料庫的內部行為,並且通常需要提升的許可。

TLE for PostgreSQL 適用於 Amazon Aurora PostgreSQL 相容版本Amazon RDS on PostgreSQL 14.5 及更高版本。TLE 本身作為 PostgreSQL 擴展實作,您可以透過 rds_superuser 角色將其啟用,類似於 Aurora 和 Amazon RDS 支援的其他擴展。

您可以在 Amazon AuroraAmazon RDS 的 PostgreSQL 14.5 或更高版本中執行 TLE for PostgreSQL。 

TLE for PostgreSQL 目前在所有 AWS 區域 (不包括 AWS 中國區域) 和 AWS GovCloud 區域可用。

TLE for PostgreSQL 可供 AuroraAmazon RDS 客戶免費使用。

AuroraAmazon RDS 支援超過 85 個經策管的 PostgreSQL 擴展集。AWS 在 AWS 共同責任模式下管理每個擴展的安全風險。實作 TLE for PostgreSQL 的擴展包含在這個集合中。您編寫或從第三方來源獲得並安裝在 TLE 中的擴展,會被視為應用程式的程式碼的一部分。您須對使用 TLE 擴展的應用程式的安全負責。

您可以建置開發人員功能,例如點陣圖壓縮和差分隱私權 (如保護個人隱私權的可公開存取的統計查詢)。

TLE for PostgreSQL 目前支援 JavaScript、PL/pgSQL、Perl 和 SQL。

一旦 rds_superuser 角色啟用 TLE for PostgreSQL,即可使用來自任何 PostgreSQL 用戶端 (例如 psql) 的 SQL CREATE EXTENSION 命令部署 TLE 擴展。這種方式類似於建立以程序語言 (例如 PL/pgSQL 或 PL/Perl) 編寫的使用者定義函數。您可以控制哪些使用者具有部署 TLE 擴展並使用特定擴展的許可。

TLE for PostgreSQL 完全藉由 TLE API 存取您的 PostgreSQL 資料庫。TLE 支援的受信任語言包括 PostgreSQL 伺服器程式設計介面 (SPI) 的所有函數,以及對 PostgreSQL 掛鉤的支援,包括檢查密碼掛鉤。

您可以前往官方 TLE GitHub 頁面,進一步了解有關 TLE for PostgreSQL 專案的資訊。

Amazon RDS 藍/綠部署

Amazon Aurora MySQL 相容版本 5.6 及更高版本、RDS for MySQL 版本 5.7 及更高版本,以及 RDS for MariaDB 版本 10.2 及更高版本中均提供 Amazon RDS 藍/綠部署。Amazon Aurora PostgreSQL 相容版本以及 Amazon RDS for PostgreSQL 相容版本 11.21 及更高版本、12.16 及更高版本、13.12 及更高版本、14.9 及更高版本和 15.4 及更高版本中均支援藍/綠部署。請參閱 Amazon AuroraAmazon RDS 文件,進一步了解可用的版本。 

Amazon RDS 藍/綠部署可在所有適用的 AWS 區域和 AWS GovCloud 區域使用。

Amazon RDS 藍/綠部署可讓您進行更安全、更簡單、更快速的資料庫變更。藍/綠部署非常適合主要或次要版本資料庫引擎升級、作業系統更新、綠色環境中的結構描述變更等不會破壞邏輯複寫的使用案例,例如在表末尾新增新欄或資料庫參數設定變更。您可以使用藍/綠部署透過單一轉換同時進行多個資料庫更新。這可讓您隨時掌握安全修補程式的最新資訊、改善資料庫效能,並以短暫且可預測的停機時間存取較新的資料庫功能。

在綠色或藍色執行個體上執行您的工作負載所產生的成本相同。在藍色和綠色執行個體上執行的成本包括我們針對資料庫執行個體目前標準定價、儲存成本、讀取/寫入 I/O 的成本,以及任何已啟用功能的成本,如備份和 Amazon RDS Performance Insights 的成本。實際上,在藍/綠部署的使用壽命內,您要支付的費用大約是在資料庫執行個體上執行工作負載成本的 2 倍。

例如,您在兩個 r5.2xlarge 資料庫執行個體 (一個主要資料庫執行個體和一個僅供讀取複本) 上執行一個 MySQL 5.7 資料庫,它們位於 us-east-1 AWS 區域並採用多可用區 (MAZ) 組態。每個 r5.2xlarge 資料庫執行個體均設定為 20 GiB 一般用途 Amazon Elastic Block Storge (EBS)。您要使用 Amazon RDS 藍/綠部署建立藍色執行個體拓撲的複製項目,執行它 15 天 (360 小時),然後在成功轉換以後刪除藍色執行個體。藍色執行個體的隨需價格為每小時 1.926 美元 (執行個體 + EBS 成本),所以 15 天的成本為 1,387 美元。這 15 天使用藍/綠部署的總成本為 2,774 USD,是在該期間執行藍色執行個體所產生成本的 2 倍。

Amazon RDS 藍/綠部署讓您可以更安全、更輕鬆,並且更快速地執行資料庫變更,例如,主要或次要版本升級、結構變更、執行個體擴展、引擎參數變更和維護更新等。

Amazon RDS 藍/綠部署中,藍色環境是您目前的生產環境。綠色環境是您的預備環境,它將在轉換後成為您的新生產環境。

當 Amazon RDS 藍/綠部署啟動轉換後,它會同時阻止寫入到藍色和綠色環境,直至轉換完成為止。在轉換期間,綠色環境 (或稱預備環境) 會追趕上生產系統,確保預備環境與生產環境的資料保持一致。藍色和綠色環境完成同步後,藍/綠部署會將流量重新引導至綠色環境,使綠色環境成為新的藍色環境。藍/綠部署的設計允許轉換完成後在綠色環境上執行寫入,確保轉換流程中不會遺失任何資料。

如果您的藍色環境是自我管理邏輯複本或訂閱用戶,我們將封鎖轉換。我們建議您先停止複寫至藍色環境,繼續轉換,然後繼續複寫。相反,如果您的藍色環境是自我管理邏輯複本或發布者的來源,您可以繼續轉換。但是,您將需要更新自我管理複本,以在轉換後從綠色環境進行複寫。

Amazon RDS 藍/綠部署不會刪除您的舊生產環境。如果需要,您可以對它進行存取,以執行額外的驗證和效能/迴歸測試。若不再需要舊生產環境,您可以將其刪除。標準帳單費用包含舊生產執行個體的成本,直至您將它們刪除為止。

Amazon RDS 藍/綠部署的切換防護機制會在切換前阻止寫入您的藍色和綠色環境,直至您的綠色環境追趕上進度為止。藍/綠部署還會對您的藍色和綠色環境中的主要和複本執行運作狀態檢查。它還會執行複寫運作狀態檢查。例如,確定複寫是否已停止或是否有錯誤。它會偵測藍色和綠色環境之間的長時間交易異動。您可以指定最長的容許停機時間,最短為 30 秒,而且當您進行中的交易超出此值,轉換將會逾時。

不支援。Amazon RDS 藍/綠部署不支援全球資料庫Amazon RDS Proxy、跨區域僅供讀取複本或串聯僅供讀取複本。

不可以。您暫時無法使用 Amazon RDS 藍/綠部署來轉返變更。

Amazon RDS Optimized Writes

MySQL 透過在記憶體中以 16 KiB 頁面大小將資料寫入到耐久儲存兩次 (先到「雙寫緩衝」,然後再寫入表格儲存),避免使用者資料遺失。Amazon RDS Optimized Writes 利用 AWS Nitro System 的寫入損壞防護功能,在一個步驟中以可靠而持久的方式直接將您的 16 KiB 資料頁面寫入到您的資料檔案。

Amazon RDS Optimized Writes 在 db.r6i 和 db.r5b 執行個體均可使用。目前在所有提供這些執行個體的區域中皆可使用,但 AWS 中國區域除外。

不。Amazon Aurora MySQL 相容版本已不再使用「雙寫緩衝」。 反之,Amazon Aurora 會在三個可用區域 (AZ) 間六向複寫資料,採用以 quorum 為基礎的方法持久寫入數據,並在其後正確地讀取。

此最初版本目前不支援為您的現有資料庫執行個體啟用 Amazon RDS Optimized Writes,即便執行個體類別支援 Optimized Writes。

RDS for MySQL 客戶可使用 Amazon RDS Optimized Writes,無需支付額外費用。

Amazon RDS Optimized Reads

使用 MySQL 和 MariaDB 中的臨時物件處理查詢的工作負載可受惠於 Amazon RDS Optimized Reads。 Optimized Reads 會將臨時物件置放在資料庫執行個體的 NVMe 型執行個體儲存體,而非 Amazon Elastic Block Store 磁碟區中。這將使複雜的查詢處理速度加快高達 2 倍。

Amazon RDS Optimized Reads 目前在所有提供 db.r5d、db.m5d、db.r6gd、db.m6gd、X2idn 以及 X2iedn 執行個體的區域中皆可使用。如需詳細資訊,請參閱 Amazon RDS 資料庫執行個體類別文件

客戶應在有需要複雜查詢,一般用途分析,或需要繁瑣分組、排序、雜湊彙總、高負載聯結和通用資料表運算式 (CTE) 的工作負載時使用 Amazon RDS Optimized Reads。這些使用案例會引發建立臨時表格,使 Optimized Reads 能夠加快您的工作負載查詢處理。

可以。客戶可以透過移動您的工作負載至啟用 Optimized Read 的執行個體,將他們的現有 Amazon RDS 資料庫轉換為使用 Amazon RDS Optimized Reads。所有支援的執行個體類別可在預設狀態下使用 Optimized Reads。如果在 db.r5d、db.m5d、db.r6gd、db.m6gd、X2idn 和 X2iedn 執行個體上執行工作負載,您可以立即受惠於 Optimized Reads。