Amazon Aurora 是一種關聯式資料庫服務,結合了高階商業資料庫的速度和可用性,以及開源資料庫的簡單與經濟實惠優勢。Aurora 與 MySQL 和 PostgreSQL 完全相容,可讓現有的應用程式和工具無需修改即可執行。
高效能和可擴展性
最多 MySQL 5 倍的輸送量,以及 PostgreSQL 3 倍的輸送量
根據 SysBench 等標準基準進行的測試表明,在類似硬體上,其輸送量比儲存 MySQL 最高高出 5 倍,比儲存 PostgreSQL 最高高出 3 倍。Amazon Aurora 使用各種不同的軟體和硬體技術來確保資料庫引擎能夠充分利用可用的運算、記憶體和聯網。輸入/輸出操作使用仲裁這類的分散式系統技術來提高效能一致性。
無伺服器組態
Amazon Aurora Serverless 是適用於 Aurora 的隨需自動調整規模組態,其資料庫會依據您的應用程式需求而自動啟動、關閉以及擴展或縮減容量。在雲端執行資料庫,無須管理任何資料庫執行個體。
按鈕運算擴展
您可以使用 Amazon Relational Database Service (Amazon RDS) API 或 AWS 管理主控台擴展佈建的執行個體,增加或減少對您的部署的支援。運算擴展操作通常可在幾分鐘內完成。
儲存自動調整規模
Amazon Aurora 會隨著儲存需求的增加自動擴大您的資料庫磁碟區的大小。磁碟區可以 10 GB 的增量最多擴展到 128 TB。您不需要為資料庫佈建過多的儲存容量來處理未來的增長。
低延遲僅供讀取複本
您可以利用建立多達 15 個資料庫 Amazon Aurora 複本的方式,增加讀取輸送量以支援大量的應用程式請求。Aurora 複本與來源執行個體共用同一個基礎儲存,不僅能降低成本,也能消除在複本節點執行寫入的需求。這會釋放更多的處理能力來處理讀取請求並降低複本的延遲時間,通常可降低到幾毫秒。Aurora 同時也提供讀取者端點,因此應用程式無須記錄每個新增和刪除的複本就可以連接。它同時也支援自動調整規模,可自動新增和移除複本,以回應您所指定的效能指標變更。
Aurora 支援跨區域僅供讀取複本。跨區域複本為您的使用者提供快速本機讀取,而每個區域能有額外 15 個 Aurora 複本,以進一步擴展本機讀取。請參閱 Amazon Aurora 全球資料庫了解詳細資訊。
自訂資料庫端點
自訂端點可讓您在幾組不同的資料庫執行個體之間,分配和載入平衡工作負載。例如,您可以佈建一組 Aurora 複本使用具備較高記憶體容量的執行個體類型,以執行分析工作負載。自訂端點可協助您將工作負載路由到這些經過適當設定的執行個體,同時將其他執行個體與之保持隔離。
Aurora MySQL 的平行查詢
相較於當前資料,Amazon Aurora 平行查詢可為您提供更快速的分析查詢。這個功能可加快查詢速度高達兩個數量級,同時維持核心交易工作負載的高輸送量。將查詢處理推送到 Aurora 儲存層,不但可獲得大量的運算能力,還能降低網路流量。使用平行查詢可在相同的 Aurora 資料庫同時執行交易和分析工作負載。平行查詢適用於與 MySQL 相容的 Amazon Aurora。
使用 Amazon DevOps Guru for RDS 診斷與解決效能瓶頸問題
Amazon DevOps Guru 是一項採用機器學習 (ML) 技術的雲端作業服務,可協助提高應用程式的可用性。藉助 Amazon DevOps Guru for RDS,您可以利用機器學習技術的洞見來協助輕鬆地偵測並診斷與效能相關的關聯式資料庫問題。它的設計可在幾分鐘內解決這些問題,而不需要數天時間。即便沒有資料庫專家在旁協助,開發人員和 DevOps 工程師也可使用 DevOps Guru for RDS 自動識別效能問題的根本原因,然後獲取智慧建議以協助解決問題。
要開始使用,只需移至 Amazon RDS 管理主控台並啟用 Amazon RDS Performance Insights。開啟 Performance Insights 後,轉到 Amazon DevOps Guru 主控台並為您的 Amazon Aurora 資源、其他支援的資源或您的整個帳戶啟用該功能。
高可用性和耐久性
執行個體監控和修復
Amazon RDS 會持續監控您的 Amazon Aurora 資料庫和基礎 Amazon Elastic Compute Cloud (EC2) 執行個體的運作狀態。資料庫發生故障時,Amazon RDS 將自動重新啟動資料庫及相關程序。Amazon Aurora 不需要對資料庫重做日誌進行損毀恢復的重新執行,進而大幅減少重新啟動的時間。它還會將資料庫緩衝區快取與資料庫處理程序分隔開來,因此資料庫重新啟動時不會遺失快取。
Aurora Replicas 的多可用區部署
若執行個體發生故障,Amazon Aurora 會使用 Amazon RDS Multi-AZ 技術,自動容錯移轉到您在三個可用區域建立的 15 個 Amazon Aurora 複本的其中一個。如果未佈建 Amazon Aurora 複本,當發生故障時,Amazon RDS 將嘗試為您自動建立一個新的 Amazon Aurora 資料庫執行個體。使用開放原始碼以及直接相容的 AWS JDBC Driver for MySQL 和 AWS JDBC Driver for PostgreSQL 取代社群 MySQL 和 PostgreSQL 驅動程式,從而盡可能縮短容錯移轉時間。您還可以使用 RDS Proxy 縮短容錯移轉時間並提高可用性。當發生容錯移轉時,RDS Proxy 會將請求直接路由到新的資料庫執行個體,最多可將容錯轉移時間縮短 66% 同時保留應用程式連線。
Global Database
對於全球分散式應用程式,您可以使用全球資料庫,其可讓單一 Aurora 資料庫跨越多個 AWS 區域,以啟用快速本機讀取和快速災難復原。「全球資料庫」使用以儲存體為基礎的複寫來複製橫跨多個 AWS 區域的資料庫,且延遲一般少於一秒。如果您需要從區域性降級或停機中快速復原,可以將次要區域做為備份選項使用。位於次要區域的資料庫可以在不到 1 分鐘的時間內提升為具有完整的讀取/寫入功能。
容錯能力和自我修復儲存
資料庫磁碟區的每個 10 GB 區塊都能在三個可用區域間進行六向複寫。Amazon Aurora 儲存是一種容錯設計,可完全透明化的處理最多兩個資料副本的損失,而不會影響資料庫寫入可用性;以及處理最多三個資料副本的損失,而不會影響資料庫讀取可用性。Amazon Aurora 儲存也可自我修復;系統會不斷掃描資料區塊與磁碟是否有錯誤,並自動替換。
自動、連續、增量備份和 Point-in-time 還原
Amazon Aurora 的備份功能可用於對執行個體進行 point-in-time 恢復。這讓您能夠將資料庫恢復到保留期內任何一秒鐘的狀態,最多可恢復到前五分鐘的狀態。自動備份保留期最長可設定為 35 天。自動備份會存放在 Amazon Simple Storage Service (Amazon S3) 中,該服務設計具有 99.999999999% 的耐久性。Amazon Aurora 備份是自動、遞增且連續的,對資料庫效能沒有影響。
資料庫快照
資料庫快照是使用者對存放在 Amazon S3 中的執行個體啟動的備份,會保留到您確實要將它們刪除為止。它們利用自動化的遞增快照減少所需時間和儲存。您可以在需要時隨時從資料庫快照建立新執行個體。
Aurora MySQL 回溯
恢復功能可讓您快速將資料庫恢復到之前時間點的狀態,無須從備份恢復資料。這可讓您快速從使用者錯誤復原,像是捨棄錯誤的表格或刪除錯誤的列。啟用恢復功能時,Aurora 會保留指定恢復期間的資料記錄。舉例來說,您可以設定 Backtrack 功能,將資料庫回溯至 72 小時之前的狀態。由於不需複製資料記錄,即使是大型資料庫,也只需要幾秒鐘即可完成恢復工作。您可以向前和向後移動,尋找錯誤發生前的時間點。
恢復功能對於開發和測試也非常實用,特別是在您測試刪除資料或讓資料失效的狀況。只要回溯至原始的資料庫狀態,您就能繼續執行其他測試。您可以建立透過 API 呼叫恢復功能的指令碼然後執行測試,以便與您的測試架構進行簡易整合。恢復功能適用於與 MySQL 相容的 Amazon Aurora。
高度安全
網路隔離
Amazon Aurora 在 Amazon Virtual Private Cloud (VPC) 中執行,可協助您將資料庫隔離在自己的虛擬網路中,並使用產業標準的加密 IPsec VPN 與您的內部部署 IT 基礎設施連接。若要進一步了解 Amazon VPC 中的 Amazon Relational Database Service (RDS),請參閱 Amazon RDS 使用者指南。此外,使用 Amazon RDS 時,您可以設定各種防火牆設定值,並控制對資料庫執行個體的網路存取。
資源級權限
Aurora 可與 AWS Identity and Access Management (IAM) 整合,並讓您能夠控制 IAM 使用者和群組可在特定 Aurora 資源 (例如,資料庫執行個體、資料庫快照、資料庫參數群組、資料庫事件訂閱、資料庫選項群組) 採取的動作。此外,您可以為 Aurora 資源加上標籤,並控制 IAM 使用者和群組可以對一組具有相同標籤 (和標籤值) 的資源進行的動作。如需有關 IAM 整合的詳細資訊,請參閱 IAM 資料庫身分驗證文件。
加密
Amazon 可協助您使用透過 AWS Key Management Service (KMS) 建立和控制的金鑰來加密資料庫。在以 Aurora 加密執行的資料庫執行個體上,於基礎儲存體中存放的靜態資料,以及其在同一個叢集中的自動備份、快照和複本都會加密。Aurora 使用 SSL (AES-256) 保護傳輸中資料的安全。
進階稽核功能
Aurora 協助您記錄資料庫事件,並將對資料庫效能的影響降至最低。之後可分析日誌,用於資料庫管理、安全性、控管、法規合規性和其他用途。您還可以向 Amazon CloudWatch 傳送稽核日誌來監控活動。
威脅偵測
Aurora 與 Amazon GuardDuty 整合,可協助您識別在 Aurora 資料庫中的資料所面臨的潛在威脅。GuardDuty RDS 防護 可分析並監控您帳號中現有及新設資料庫的登入活動,並使用量身訂製的 ML 模型精準偵測 Aurora 資料庫中可疑的登入活動。若偵測到潛在威脅,GuardDuty 會產生安全問題清單,其中包含資料庫詳情和有關可疑活動的詳細情境資訊。Aurora 與 GuardDuty 的整合讓您可以直接存取資料庫事件日誌,而不需要修改您的資料庫;此設計不會影響資料庫效能。
全受管
易於使用
開始使用 Amazon Aurora 很簡單。只需使用 AWS RDS 管理主控台、單一 API 呼叫或 CLI 即可啟動新的 Amazon Aurora 資料庫執行個體。Amazon Aurora DB 資料庫執行個體為您所選擇的資料庫執行個體類別預先設定了適當的參數和設定。您可在幾分鐘內啟動資料庫執行個體並連接到應用程式,無須其他設定。資料庫參數群組提供資料庫的精細控制和微調功能。
監控和指標
Amazon Aurora 為您的資料庫執行個體提供 Amazon CloudWatch 指標,無須支付額外費用。您可以使用 AWS 管理主控台查看有關資料庫執行個體的 20 多個關鍵運作指標,包括運算、記憶體、儲存、查詢輸送量、快取點擊率以及作用中連線。此外,您可以使用增強型監控,從執行資料庫的作業系統執行個體收集指標。您可以使用 Amazon RDS Performance Insights,這是一種資料庫監控工具,可輕鬆偵測資料庫效能問題,並透過易於理解、可視覺化資料庫負載的儀表板來採取糾正措施。最後,您還可以使用 Amazon DevOps Guru for RDS 輕鬆偵測效能問題,自動識別效能問題的根本原因,並取得智慧建議以協助解決問題,而無須資料庫專家的協助。
Amazon RDS 藍/綠部署
Amazon RDS 藍/綠部署 能讓您在 Amazon Aurora MySQL 相容版本中進行更安全、更簡單、更快速的資料庫更新,同時實現零資料遺失。只需幾個步驟,藍/綠部署即可建立一個與實際生產環境相同的模擬生產環境,並使用邏輯複寫使兩個環境保持同步。您可以在不影響生產工作負載的情況下做出變更,例如主要/次要版本升級、結構描述修改和參數設定變更。
在提升暫存環境時,藍/綠部署會阻止寫入藍/綠環境,直至切換完成。藍/綠部署使用內建的切換防護機制,如果超過最大可容忍停機時間,則會使提升超時,偵測複寫錯誤,檢查執行個體運作狀態等。
自動化軟體修補
Amazon Aurora 將使用最新的修補程式,讓您的資料庫保持最新狀態。您可以透過資料庫引擎版本管理,控制是否修補執行個體以及何時進行修補。Aurora 會盡可能使用無停機時間修補:如果有適合的時段,便會就地更新執行個體,進行修補時會保留應用程式工作階段然後重新啟動資料庫引擎,輸送量只會有短暫的 (約五秒鐘) 影響。
資料庫事件通知
Amazon Aurora 可透過電子郵件或 SMS 通知您重要的資料庫事件,像是自動容錯移轉。您可以使用 AWS 管理主控台或 Amazon RDS API,訂閱超過 40 種與 Amazon Aurora 資料庫相關的不同資料庫事件。
資料庫複製
Amazon Aurora 支援快速、高效的複製操作,可以在幾分鐘內複製整個數 TB 的資料庫叢集。複製功能在許多方面都非常實用,包括應用程式開發、測試、資料庫更新和執行分析查詢。資料的即時可用性可大幅加速軟體開發和升級專案,並使分析更加準確。
複製 Amazon Aurora 資料庫只需要按幾下,而且除非您使用額外空間來儲存資料變更,否則不會發生任何儲存費用。
資料庫啟動/停止
只要點按幾下,您可以手動停止與啟動 Amazon Aurora 資料庫。資料庫用於開發和測試時並不需要隨時保持執行狀態,這個功能可讓使用 Aurora 進行開發和測試變得更加簡單且經濟實惠。停止您的資料庫不會刪除您的資料。請參閱啟動/停止文件以取得詳細資訊。
遷移支援
MySQL 資料庫遷移
標準的 MySQL 匯入和匯出工具可與 Amazon Aurora 搭配使用。您還可以從 Amazon RDS for MySQL 資料庫快照中輕鬆建立新的 Amazon Aurora 資料庫。以資料庫快照為基礎的遷移操作一般在一個小時內就能完成,但將依據所遷移資料的數量和格式而有所不同。
您也可以在 Aurora MySQL 相容版本資料庫與在 AWS 內部或外部執行之外部 MySQL 資料庫之間,設定以 binlog 為基礎的複寫。
PostgreSQL 資料庫遷移
標準 PostgreSQL 匯入和匯出工具與 Amazon Aurora 相容,包括 pg_dump 和 pg_restore。Amazon Aurora 還支援從 Amazon RDS for PostgreSQL 匯入快照,以及使用 AWS Database Migration Service (AWS DMS) 執行複寫。
商業資料庫遷移
Amazon Aurora 提供理想的環境,可移除商業資料庫的資料庫工作負載。Aurora 具有與商業資料庫引擎相當的功能,並提供了大多數企業資料庫工作負載所需的企業級效能、耐久性和高可用性。AWS Database Migration Service (AWS DMS) 可協助加快將資料庫遷移到 Amazon Aurora。
Babelfish for Aurora PostgreSQL
Babelfish for Aurora PostgreSQL 是 Amazon Aurora PostgreSQL 相容版本的新功能,可讓 Aurora 理解來自為 Microsoft SQL Server 編寫的應用程式命令。藉助 Babelfish,Aurora PostgreSQL 現在可以理解 Microsoft SQL Server 專有的 SQL 語言 T-SQL,並支援相同的通訊協定,因此您最初為 SQL Server 編寫的應用程式現在可以與 Aurora 一起使用,並且所需進行的程式碼變更更少。因此,修改 SQL Server 2005 或更高版本上執行的應用程式和將其到 Aurora 所需的工作減少了,從而可實現更快、風險更低且更經濟實惠的遷移。Babelfish 是 Amazon Aurora 的內建功能,無需額外費用。只需在 RDS 管理主控台中按幾下,您就可以在 Amazon Aurora 叢集上啟用 Babelfish。
成本效益
只需按實際用量付費
Amazon Aurora 沒有預先消費承諾;僅需為您啟動的每個執行個體支付小時費用。而且,當您完成一項 Amazon Aurora 資料庫執行個體時,可以輕鬆刪除該執行個體。您無須過量佈建儲存空間作為安全界線,而且只需按實際消耗的儲存量付費。要查看詳細資訊,請參閱 Amazon Aurora 定價頁面。
優化 I/O 成本
對於有大量分析工作負載的應用程式,I/O 成本通常是最大的資料庫成本因素。I/O 是 Aurora 資料庫引擎在其 SSD 虛擬儲存層中執行的輸入/輸出操作。每個資料庫頁面讀取操作視為一個 I/O。Aurora 資料庫引擎發出讀取儲存層請求,以擷取不在緩衝區快取中的資料庫頁面。 每個資料庫頁面在與 PostgreSQL 相容的 Aurora 中為 8 KB,在與 MySQL 相容的 Aurora 中為 16 KB。Aurora 的設計目的是為了免除不必要的 I/O 操作,以降低成本及確保有足夠的資源可供讀取/寫入流量使用。寫入 I/O 只會在將交易日誌記錄推送至儲存層時才會耗用,以確保寫入的持久性。寫入 I/O 以 4 KB 為單位來計算。例如,1024 位元組的交易日誌記錄當作一個 I/O 操作計算。不過,交易日誌小於 4 KB 的並行寫入操作可透過 Aurora 資料庫引擎併在一起,以優化 I/O 耗用量。Amazon Aurora 與傳統資料庫引擎不同的是,不會將修改的資料庫頁面推送至儲存層,可進一步節省 I/O 耗用量。
您可以在 AWS Console 查看 Aurora 執行個體耗用的 I/O 數。要了解 I/O 的耗用量,前往主控台的 RDS 區段,查看執行個體清單,選取 Aurora 執行個體,然後在監控區段尋找 "Billed read operations" (計費讀取操作) 和 "Billed write operations" (計費寫入操作) 指標。要查看詳細資訊,請參閱 Amazon Aurora 定價頁面。
開發人員生產力
Trusted Language Extensions for PostgreSQL
Trusted Language Extensions (TLE) for PostgreSQL 是一個開發套件和開放原始碼專案,可讓您快速建置高效能擴展,並在 Amazon Aurora 上安全執行該專案,無需要 AWS 對程式碼進行驗證。開發人員可使用常用的受信任語言 (如 JavaScript、PL/pgSQL、Perl 和 SQL) 來安全地編寫擴展。TLE 旨在防止存取不安全的資源,並將擴展缺陷限制在單一資料庫連線中。DBA 可針對能安裝擴展的使用者進行精細線上控制,並且可建立執行控制的許可模型。TLE 可供 Aurora 客戶免費使用。
機器學習
Aurora 直接從資料庫提供機器學習功能,讓您可以透過熟悉的程式設計語言為您的應用程式增加以 ML 為基礎的預測。憑藉 Aurora 和 AWS 機器學習服務之間的簡單、優化的安全整合,您可以存取各種 ML 演算法,而不必建置自訂整合或四處移動資料。進一步了解 Aurora 機器學習。
RDS Proxy 支援
Aurora 與 Amazon RDS Proxy 結合使用,這是一種全受管、高度可用的資料庫代理,讓應用程式更具擴展性、資料庫失敗的恢復能力更強,並且更安全。RDS 代理允許應用程式集區化和共用與資料庫建立的連線,從而提升資料庫效率和應用程式可擴展性。它會透過自動連接到新的資料庫執行個體,同時保留應用程式連線,進而縮短容錯移轉時間。它會透過 AWS IAM 與 AWS Secrets Manager 之間的整合增強安全性。
進一步了解 Amazon Aurora 定價