問:什麼是 Amazon Aurora?

Amazon Aurora 是一種關聯式資料庫引擎,結合了高階商業資料庫的速度和可靠性,以及開放原始碼資料庫簡單和經濟實惠的優點。Amazon Aurora MySQL 可提供比 MySQL 高五倍的效能,大多數 MySQL 應用程式都無須任何變更;同樣地,Amazon Aurora PostgreSQL 可提供比 PostgreSQL 高三倍的效能。Amazon RDS 可管理您的 Amazon Aurora 資料庫,處理各種耗時的任務,如佈建、修補、備份、恢復、故障偵測和修復。您只需每月針對所使用的每個 Amazon Aurora 資料庫執行個體支付費用。不需要預先支付費用或簽訂長期合約。

問:「MySQL 相容」是什麼意思?

它表示您在 MySQL 資料庫使用的大部分程式碼、應用程式、驅動程式和工具只需進行少量變更或不需變更,即可與 Aurora 搭配使用。Amazon Aurora 資料庫引擎的設計可與使用 InnoDB 儲存引擎的 MySQL 5.6 連接相容。Amazon Aurora 不提供某些 MySQL 功能,例如 MyISAM 儲存引擎。

問:「PostgreSQL 相容」是什麼意思?

它表示您目前在 PostgreSQL 資料庫使用的大部分程式碼、應用程式、驅動程式和工具只需進行少量變更或不需變更,即可與 Aurora 搭配使用。Amazon Aurora 資料庫引擎設計成可與 PostgreSQL 9.6 連接相容,且支援 RDS for PostgreSQL 9.6 支援的同一組 PostgreSQL 延伸模組,因此可在兩個引擎之間輕鬆移動應用程式。 

問:如何試用 Amazon Aurora?

若要試用 Amazon Aurora,請登入 AWS 主控台,選取資料庫類別下的 RDS,然後選擇 Amazon Aurora 作為您的資料庫引擎。

問:Amazon Aurora 的費用為何?

請參閱定價頁面了解最新的定價資訊。

問:Amazon Aurora 在三個可用區域間以六種方法複製資料庫磁碟區的每個區塊。這是否表示我的有效儲存價格將是定價頁面上所顯示價格的三或六倍?

否。Amazon Aurora 複寫的價格已捆綁在定價中。我們將根據資料庫在資料庫層消耗的儲存量向您收費,而非根據在 Amazon Aurora 虛擬儲存層消耗的儲存量收費。

問:Amazon Aurora 可在哪些 AWS 區域使用?

如需區域和定價的最新資訊,請參閱我們的定價頁面

問:如何從 MySQL 遷移到 Amazon Aurora?又如何從 Amazon Aurora 遷移到 MySQL?

您有多種選擇。您可以使用標準的 mysqldump 公用程式將資料從 MySQL 中匯出,並用 mysqlimport 公用程式將資料匯入 Amazon Aurora,反之亦然。您還可以使用 Amazon RDS 的資料庫快照遷移功能,透過 AWS 管理主控台將 RDS MySQL 資料庫快照遷移到 Amazon Aurora。雖然持續時間取決於格式和資料集大小,但大多數客戶可以在一小時內完成遷移。如需詳細資訊,請參閱將 MySQL 資料庫遷移到 Amazon Aurora 的最佳實務

問:如何從 PostgreSQL 遷移到 Amazon Aurora?又如何反向進行?

您有多種選擇。您可以使用標準 pg_dump 公用程式將資料從 PostgreSQL 匯出,以及使用 pg_restore 公用程式將資料匯入 Amazon Aurora,反之亦然。您還可以使用 Amazon RDS 的資料庫快照遷移功能,透過 AWS 管理主控台將 RDS PostgreSQL 9.6 資料庫快照遷移到 Amazon Aurora。雖然持續時間取決於格式和資料集大小,但大多數客戶可以在一小時內完成遷移。

問:Amazon Aurora 是否包含在 AWS 免費方案內?

目前不可以。Amazon RDS 的 AWS 免費方案為微型資料庫執行個體提供多種益處;Amazon Aurora 目前不提供微型資料庫執行個體支援。請參閱定價頁面了解最新的定價資訊。

問:Amazon Aurora 的 IO 是什麼,如何計算?

IO 是 Aurora 資料庫引擎在其 SSD 虛擬儲存層中執行的輸入/輸出操作。每個資料庫頁面讀取操作視為一個 IO。Aurora 資料庫引擎發出讀取儲存層請求,以擷取不在緩衝區快取中的資料庫頁面。每個資料庫頁面在 Aurora MySQL 為 16 KB,在 Aurora PostgreSQL 為 8 KB。

Aurora 的設計目的是為了免除不必要的 IO 操作,以降低成本及確保有足夠的資源可供讀取/寫入流量使用。寫入 IO 只會在將交易日誌記錄推送至儲存層時才會耗用,以確保寫入的持久性。寫入 IO 以 4 KB 為單位來計算。例如,1024 位元組的交易日誌記錄當作一個 IO 操作計算。不過,交易日誌小於 4 KB 的並行寫入操作可透過 Aurora 資料庫引擎併在一起,以優化 I/O 耗用量。Amazon Aurora 與傳統資料庫引擎不同的是,不會將修改的資料庫頁面推送至儲存層,可進一步節省 IO 耗用量。

您可以在 AWS 主控台查看 Aurora 執行個體耗用的 IO 數。要了解 IO 的耗用量,前往主控台的 RDS 區段,查看執行個體清單,選取 Aurora 執行個體,然後在監控區段尋找 "Billed read operations" 和 "Billed write operations" 指標。

問:是否需要變更用戶端驅動程式以使用 Amazon Aurora PostgreSQL?

否,Amazon Aurora 可與標準的 PostgreSQL 資料庫驅動程式搭配使用。

問:什麼是 Amazon Aurora Serverless?

我們在 re:Invent 2017 宣布了 Amazon Aurora Serverless 的預覽版,這是 MySQL 相容版本的新組態,可根據應用程式需求自動擴展和縮減資料庫容量,藉此節省您的寶貴時間、精力和費用。

問:如何開始使用 Amazon Aurora Serverless?

Amazon Aurora Serverless 現在提供 Amazon Aurora MySQL 相容版本的預覽版。您可以註冊申請參與。我們未來會宣布正式上市的時間。

問:「MySQL 的五倍效能」是什麼意思?

Amazon Aurora 透過將資料庫引擎與為資料庫工作負載建構的 SSD 虛擬化儲存層緊密整合、減少儲存系統的寫入操作、大幅降低鎖定爭用並消除資料庫處理執行緒所產生的延遲,使效能大幅超越 MySQL。我們使用 SysBench 測試 r3.8xlarge 執行個體的結果顯示,Amazon Aurora 每秒傳送超過 500,000 個 SELECT 和 100,000 個 UPDATE,比在同一硬體上執行同一基準的 MySQL 高出五倍。如需此基準及如何自行複製此基準的詳細說明,請參閱 Amazon Aurora MySQL 效能基準指南

問:「PostgreSQL 的三倍效能」是什麼意思?

Amazon Aurora 透過將資料庫引擎與為資料庫工作負載建立的 SSD 虛擬化儲存層緊密整合、減少儲存系統的寫入操作、大幅降低鎖定爭用並消除資料庫處理執行緒所產生的延遲,使效能大幅超越 PostgreSQL。我們使用 SysBench 測試 r4.16xlarge 執行個體的結果顯示,Amazon Aurora 每秒傳送的 SELECT 和 UPDATE 比在同一硬體上執行同一基準的 PostgreSQL 高出三倍。如需此基準及如何自行複寫此基準的詳細說明,請參閱 Amazon Aurora PostgreSQL 效能基準測試指南

問:如何優化我的 Amazon Aurora MySQL 資料庫工作負載?

Amazon Aurora 的設計與 MySQL 5.6 相容,因此現有 MySQL 應用程式和工具無須修改即可執行。不過,Amazon Aurora 針對 MySQL 加強了一個區域,那就是高度並行工作負載。若要最大化 Amazon Aurora 上的工作負載輸送量,建議您將應用程式建置為可驅動大量並行查詢和交易。

問:如何優化我的 Amazon Aurora PostgreSQL 資料庫工作負載?

Amazon Aurora 的設計與 PostgreSQL 9.6 相容,因此現有的 PostgreSQL 應用程式和工具無須修改即可執行。不過,Amazon Aurora 針對 PostgreSQL 加強了一個區域,那就是高度並行工作負載。若要最大化 Amazon Aurora 上的工作負載輸送量,建議您將應用程式建置為可驅動大量並行查詢和交易。

問:Amazon Aurora 資料庫的最低儲存限制和最高儲存限制分別為何?

最低儲存為 10 GB。根據您的資料庫使用量,您的 Amazon Aurora 儲存將以 10 GB 的增量自動增長到 64 TB,而不會影響資料庫的效能。無須提前佈建儲存。

問:如何擴展與 Amazon Aurora 資料庫執行個體相關的運算資源?

您可以在 AWS 管理主控台選擇所需的資料庫執行個體並按一下 Modify 按鈕,擴展分配給資料庫執行個體的運算資源。記憶體和 CPU 資源可透過變更資料庫執行個體類別進行修改。

修改資料庫執行個體類別時,將會在指定的維護時段套用您請求的變更。或者,您可以使用 "Apply Immediately" 旗標立即套用擴展請求。在執行擴展操作期間,這兩個選項將會對可用性造成幾分鐘的影響。請注意,這也會同時套用任何其他擱置的系統變更。

問:如何啟用資料庫執行個體備份?

Amazon Aurora 資料庫執行個體的自動備份會一直處於啟用的狀態。備份不會影響資料庫效能。

問:我是否能拍攝資料庫快照且不限時間地保留這些快照?

是,拍攝快照並不影響效能。請注意,從資料庫快照中恢復資料需要建立新的資料庫執行個體。

問:如果我的資料庫發生故障,我的恢復路徑為何?

Amazon Aurora 會在 3 個可用區域自動維護 6 個資料副本,並將自動嘗試在執行狀況正常的可用區域內恢復您的資料庫,而不會產生資料損失。在極少數的情況下,無法在 Amazon Aurora 儲存內找到您的資料,您可以從資料庫快照中進行恢復或對新執行個體執行 point-in-time 恢復操作。請注意,point-in-time 恢復操作的最近可還原時間最多可恢復到 5 分鐘之前。

問:如果刪除資料庫執行個體,我的自動備份和資料庫快照會出現什麼情況?

您可以選擇在刪除資料庫執行個體時建立最終的資料庫快照。如果進行此操作,之後便可以使用此資料庫快照恢復已刪除的資料庫執行個體。刪除資料庫執行個體之後,Amazon Aurora 會保留這個使用者建立的最終資料庫快照與所有其他手動建立的資料庫快照。刪除資料庫執行個體後只會保留資料庫快照 (即,不會保留為 point-in-time 恢復建立的自動備份)。

問:是否可和另一個 AWS 帳戶共享快照?

是。Aurora 讓您能夠建立資料庫的快照,稍後您可用它來恢復資料庫。您可以與不同的 AWS 帳戶共享快照,收件人帳戶的擁有者可以使用您的快照來恢復包含您資料的資料庫。您甚至可以選擇讓快照成為公有,也就是說,任何人都可以恢復包含您 (公有) 資料的資料庫。您可以使用此功能在各種環境 (生產、開發/測試、模擬等等) 之間共享資料,這些環境具有不同的 AWS 帳戶,這個功能還能在個別帳戶保護所有資料備份的安全,以因應萬一出現主 AWS 帳戶被盜的情況。

問:共享快照是否會計費?

在帳戶間共享快照不需付費。不過,可能需要支付快照本身的費用,以及從共享快照恢復任何資料庫的費用。進一步了解 Aurora 定價

問:是否可以自動共享快照?

我們不支援共享自動資料庫快照。若要共享自動快照,您必須手動建立快照複本,然後共享複本。

問:可以與幾個帳戶共享快照?

您最多可以與 20 個 AWS 帳戶 ID 共享手動快照。如果想要與 20 個以上帳戶共享快照,可將快照當做公有共享,或聯絡支援以提高您的配額。

問:可以在哪些區域共享 Aurora 快照?

您可以在提供 Aurora 的所有 AWS 區域共享 Aurora 快照。

問:是否可以在不同區域間共享 Aurora 快照?

否。只有與共享快照的帳戶位於同一個區域中的帳戶可以存取共享的 Aurora 快照。

問:是否可以共享加密的 Aurora 快照?

是,您可以共享加密的 Aurora 快照。

問:Amazon Aurora 如何提高資料庫對磁碟故障的容錯能力?

Amazon Aurora 會將您的資料庫磁碟區自動分成 10 GB 的區段並分散在多個磁碟上。資料庫磁碟區的每個 10 GB 區塊都能在三個可用區域間以六種方法進行複寫。Amazon Aurora 的設計可完全透明化的處理最多兩個資料副本的損失,而不會影響資料庫寫入可用性;最多三個資料副本的損失,而不會影響資料庫讀取可用性。Amazon Aurora 儲存還具有自我修復能力,可持續掃描資料區塊和磁碟有無錯誤並自動修復。

問:Aurora 如何改善資料庫損毀後的恢復時間?

與其他資料庫不同的是,Amazon Aurora 在資料庫損毀之後不需重新執行最後一個資料庫檢查點 (通常為 5 分鐘) 的重做日誌,且不需要在資料庫運作之前確認已套用所有變更。在大多數情況下,這可將資料庫的重新啟動時間降低到 60 秒以下。Amazon Aurora 將緩衝區快取從資料庫處理程序中移出,以便在重新啟動時立即使用。如此一來,您就不需要在重新匯入快取時限制存取,以避免發生暫時低壓。

問:Aurora 支援哪些類型的複本?

Amazon Aurora MySQL 和 Amazon Aurora PostgreSQL 都支援 Amazon Aurora 複本,該複本與主執行個體共享同一個基礎磁碟區。所有 Amazon Aurora 複本都可看見主執行個體作出的更新。透過 Amazon Aurora MySQL,您還可以根據 MySQL 的 binlog 複寫引擎建立 MySQL 僅供讀取複本。在 MySQL 僅供讀取複本中,主執行個體的資料會作為交易在您的複本上重新執行。對於大多數使用案例,包括讀取擴展和高可用性,我們建議使用 Amazon Aurora 複本。

您可以根據應用程式需求靈活搭配這兩種複本類型:

功能 Amazon Aurora 複本 MySQL 複本
複本數量 最多 15 個 最多 5 個
複寫類型 非同步 (毫秒) 非同步 (秒)
對主執行個體的效能影響
作為容錯移轉目標 是 (無資料損失) 是 (可能有幾分鐘的資料損失)
自動容錯移轉
支援使用者定義的複寫延遲
支援與主執行個體不同的資料或結構描述

問:Amazon Aurora 是否提供跨區域複本?

是,透過 Aurora MySQL,您可以從 RDS 主控台設定跨區域 Aurora 複本。跨區域複本以單一緒行緒的 MySQL binlog 複寫為基礎,而且複寫延遲會受到特定所選區域之間網路通訊中的變更/套用速率和延遲的影響。Aurora PostgreSQL 目前不支援跨區域複本。

問:是否可以在跨區域複本叢集上建立 Aurora 僅供讀取複本?
是,您可以在與跨區域複本共享相同基礎儲存的叢集上新增 Aurora 複本。跨區域複本做為叢集上的主複本,而叢集上的 Aurora 複本一般會比主複本延遲 10 毫秒。

問:是否可將應用程式從目前的主複本容錯移轉到跨區域複本?
是,您可以從 RDS 主控台將跨區域複本提升成新的主複本。提升程序一般需要幾分鐘,取決於您的工作負載。一旦啟動提升程序,跨區域複寫將會停止。

問:是否可以選擇特定複本而不是其他複本來做為優先容錯移轉目標?

答:是。您可以在叢集中對每個執行個體指派提升優先順序方案。在主執行個體失敗時,Amazon RDS 會將具有最高優先順序的複本提升成主要執行個體。如果相同優先順序方案中兩個或多個複本之間出現爭用情形,則 Amazon RDS 會提升與主執行個體大小相同的複本。如需容錯移轉邏輯的詳細資訊,請閱讀 Amazon Aurora User Guide。

問:執行個體的優先順序方案建立之後是否可以修改?

答:您可以隨時修改執行個體的優先順序方案。只是修改優先順序方案不會觸發容錯移轉。

問:是否可以避免特定複本提升成主執行個體?

答:您可以指派較低優先順序的方案給不想提升成主執行個體的複本。然而,如果叢集上較高優先順序複本出於某些原因而運作狀況不佳或無法使用,則 Amazon RDS 會提升較低優先順序的複本。

問:如何提升單一 Amazon Aurora 資料庫的可用性?

您可以新增 Amazon Aurora 複本。Amazon Aurora 複本與主執行個體共用同一個基礎儲存。任何 Amazon Aurora 複本都可在不損失任何資料的情況下提升為主執行個體,因此,它可用於在主要資料庫執行個體發生故障時提高容錯能力。若要提高資料庫可用性,只需在 3 個可用區域中的任何一個建立 1 到 15 個複本,Amazon RDS 將在發生資料庫執行中斷時將其納入容錯移轉主選擇中。

問:容錯移轉時會出現什麼情況?這種情況會持續多久?

Amazon Aurora 會自動處理容錯移轉,所以您的應用程式可以盡快恢復資料庫操作,而無須人為管理介入。

  • 如果您在同一個或不同可用區域中有一個 Amazon Aurora 複本,當故障發生轉移時,Amazon Aurora 會翻轉您的資料庫執行個體的正式名稱記錄 (CNAME) 以指向執行狀態正常的複本,該複本轉而提升成新的主複本。容錯移轉從開始到結束通常可在 30 秒內完成。
  • 如果您沒有 Amazon Aurora 複本 (即單一執行個體),Aurora 會先嘗試在與原始執行個體相同的可用區域中建立新的資料庫執行個體。如果此操作無法執行,Aurora 將嘗試在不同的可用區域中建立新資料庫執行個體。容錯移轉從開始到結束通常在 15 分鐘內就能完成。

您的應用程式應在連線中斷時重試資料庫連線。

問:如果我的主要資料庫和 Amazon Aurora 複本主動取得讀取流量且發生容錯移轉,會發生什麼事?

Amazon RDS 將自動偵測到您的主執行個體發生問題,並開始將您的讀取/寫入流量路由到 Amazon Aurora 複本。平均來說,此容錯移轉會在 30 秒內完成。此外,Amazon Aurora 複本提供的讀取流量將短暫中斷。

問:我的複本會落後主執行個體多久?

由於 Amazon Aurora 複本與主執行個體共享同一個資料磁碟區,因此幾乎不會有複寫延遲的情況。據我們觀察,延遲時間一般在 10 毫秒內。對於 MySQL 僅供讀取複本,複寫延遲會因變更/應用率以及網路通訊而無限制延長延遲時間。然而,在一般情況下,一分鐘以內的複寫延遲很常見。

問:什麼是 Amazon Aurora Multi-Master?

我們在 re:Invent 2017 宣布 Amazon Aurora Multi-Master 預覽版,這是 Aurora MySQL 相容版本的新功能,加入了跨多個可用區域擴展寫入效能的功能,允許應用程式將讀取/寫入工作負載導向資料庫叢集中的多個執行個體,並以高可用性進行操作。

問:如何開始使用 Amazon Aurora Multi-Master?

Amazon Aurora Multi-Master 現在提供 Amazon Aurora MySQL 相容版本的預覽版。您可以註冊申請參與。我們未來會宣布正式上市的時間。

問:我是否可以在 Amazon Virtual Private Cloud (Amazon VPC) 使用 Amazon Aurora?

是,所有 Amazon Aurora 資料庫執行個體都必須在 VPC 中建立。透過 Amazon VPC,您可以定義一個與自己資料中心內執行的傳統網路非常相似的虛擬網路拓撲。這樣一來,您可以完全控制存取您的 Amazon Aurora 資料庫的人員。

問:Amazon Aurora 是否會加密傳輸中的資料和靜態資料?

是。Amazon Aurora 使用 SSL (AES-256) 保護資料庫執行個體和應用程式之間的連線安全。Amazon Aurora 可讓您使用透過 AWS Key Management Service (KMS) 管理的金鑰加密資料庫。在以 Amazon Aurora 加密執行的資料庫執行個體上,於基礎儲存體中存放的靜態資料,以及其在同一個叢集中的自動備份、快照和複本都會加密。加密和解密的處理完全無縫。如需以 Amazon Aurora 使用 KMS 的詳細資訊,請參閱 Amazon RDS User's Guide

問:是否可以加密現有未加密的資料庫?

目前不支援加密現有未加密的 Aurora 執行個體。若要在現有未加密的資料庫使用 Amazon Aurora 加密,請建立已啟用加密的新資料庫執行個體,再將資料移轉至其中。

問:如何存取我的 Amazon Aurora 資料庫?

您必須透過建立資料庫時輸入的資料庫連接埠存取 Amazon Aurora 資料庫。這樣做的目的是為了提供資料多一層的保護。如需連接到 Amazon Aurora 資料庫的逐步解說,請參閱 Amazon Aurora Connectivity Guide

問:Amazon Aurora 是否可搭配需要 HIPAA 合規的應用程式使用?

答:是,與 MySQL 和 PostgreSQL 相容的 Aurora 版本符合 HIPAA,因此可用於建立 HIPAA 合規應用程式及存放醫療保健相關資訊,包括與 AWS 共同履行的商業夥伴協議 (BAA) 下的受保護醫療資訊 (PHI)。如果您已經有履行的 BAA,則您不需要進行任何動作,就能透過 BAA 涵蓋的帳戶開始使用這些服務。如果您沒有與 AWS 履行的 BAA,或是對 AWS 上的 HIPAA 合規應用程式有任何其他疑問,請聯絡我們