本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
遷移至 Aurora Serverless v2
將現有的資料庫叢集轉換為使用 Aurora Serverless v2,您可以執行下列動作:
-
從佈建的 Aurora 資料庫叢集升級。
-
從 升級 Aurora Serverless v1 叢集。
-
從內部部署資料庫遷移至 Aurora Serverless v2 叢集。
當您的升級叢集執行如 中列出的適當引擎版本時的要求和限制 Aurora Serverless v2,您可以開始新增 Aurora Serverless v2 資料庫執行個體。您新增至升級叢集的第一個資料庫執行個體必須為佈建的資料庫執行個體。然後,您可以將寫入工作負載、讀取工作負載或兩者的處理切換到 Aurora Serverless v2 資料庫執行個體。
內容
注意
下列主題說明如何轉換現有的資料庫叢集。如需建立新的 Aurora Serverless v2 資料庫叢集,請參閱 建立使用 的資料庫叢集 Aurora Serverless v2。
升級或切換現有叢集以使用 Aurora Serverless v2
如果您的佈建叢集具有支援 的引擎版本 Aurora Serverless v2,切換至 Aurora Serverless v2 不需要升級。在這種情況下,您可以新增 Aurora Serverless v2 資料庫執行個體至您的原始叢集。您可以切換叢集以使用所有 Aurora Serverless v2 資料庫執行個體。您也可以使用 Aurora Serverless v2 和佈建的資料庫執行個體。對於支援 的 Aurora 引擎版本 Aurora Serverless v2,請參閱支援的 區域和 Aurora 資料庫引擎 Aurora Serverless v2。
如果您執行的是不支援的較低引擎版本 Aurora Serverless v2,您會採取這些一般步驟:
-
升級叢集。
-
為升級後的叢集建立佈建的寫入器資料庫執行個體。
-
修改要使用的叢集 Aurora Serverless v2 資料庫執行個體。
重要
當您執行主要版本升級至 Aurora Serverless v2使用快照還原或複製來相容版本,您新增至新叢集的第一個資料庫執行個體必須是佈建的資料庫執行個體。此新增會啟動升級過程的最後階段。
在最終階段發生之前,叢集沒有 所需的基礎設施 Aurora Serverless v2 支援。因此,這些升級後的叢集會一律以佈建的寫入器資料庫執行個體開始。然後,您可以將佈建的資料庫執行個體轉換或失敗至 Aurora Serverless v2 一。
從 升級 Aurora Serverless v1 至 Aurora Serverless v2 涉及建立佈建叢集做為中繼步驟。然後,您會執行與開始佈建叢集時相同的升級步驟。
要使用的 My SQL相容叢集升級路徑 Aurora Serverless v2
如果您的原始叢集正在執行 Aurora MySQL,請根據叢集的引擎版本和引擎模式選擇適當的程序。
如果您的原始 Aurora MySQL 叢集是 | 執行此操作以切換到 Aurora Serverless v2 |
---|---|
執行 Aurora MySQL 第 3 版的佈建叢集,與 MySQL 8.0 相容 |
這是現有 Aurora MySQL 叢集的所有轉換的最後一個階段。 如有必要,請執行次要版本升級至 3.02.0 或更高版本。為寫入器資料庫執行個體使用已佈建資料庫執行個體。新增一個 Aurora Serverless v2 讀取器資料庫執行個體。執行容錯移轉,以建立寫入器資料庫執行個體。 (選用) 將叢集中的其他佈建資料庫執行個體轉換為 Aurora Serverless v2。 或新增 Aurora Serverless v2 資料庫執行個體,並移除佈建的資料庫執行個體。 如需完整的程序和範例,請參閱 從佈建叢集切換至 Aurora Serverless v2。 |
執行 Aurora MySQL 第 2 版的佈建叢集,與 MySQL 5.7 相容 | 執行主要版本升級至 Aurora MySQL 3.02.0 版或更新版本。然後遵循 Aurora MySQL 第 3 版的程序,將叢集切換為使用 Aurora Serverless v2 資料庫執行個體。 |
Aurora Serverless v1 執行 Aurora MySQL 第 2 版的叢集,與 MySQL 5.7 相容 |
協助規劃從 轉換 Aurora Serverless v1,的比較 Aurora Serverless v2 以及 Aurora Serverless v1請先諮詢 。 然後遵循 從 升級 Aurora Serverless v1 叢集至 Aurora Serverless v2 中的程序。 |
要使用的 Postgre SQL相容叢集升級路徑 Aurora Serverless v2
如果您的原始叢集正在執行 Aurora PostgreSQL,請根據叢集的引擎版本和引擎模式選擇適當的程序。
如果您原始 Aurora PostgreSQL 叢集是 | 執行此操作以切換到 Aurora Serverless v2 |
---|---|
執行 Aurora PostgreSQL 第 13 版的佈建叢集 |
這是現有 Aurora PostgreSQL 叢集的所有轉換的最後一個階段。 如有必要,請執行次要版本升級至 13.6 版或更高版本。為寫入器資料庫執行個體新增一個已佈建資料庫執行個體。新增一個 Aurora Serverless v2 讀取器資料庫執行個體。執行容錯移轉以使其成為 Aurora Serverless v2 執行個體 寫入器資料庫執行個體。 (選用) 將叢集中的其他佈建資料庫執行個體轉換為 Aurora Serverless v2。 或新增 Aurora Serverless v2 資料庫執行個體,並移除佈建的資料庫執行個體。 如需完整的程序和範例,請參閱 從佈建叢集切換至 Aurora Serverless v2。 |
執行 Aurora PostgreSQL 版本 11 或 12 的佈建叢集 | 執行主要版本升級至 Aurora PostgreSQL 13.6 版或更新版本。然後遵循 Aurora PostgreSQL 第 13 版的程序,將叢集切換為使用 Aurora Serverless v2 資料庫執行個體。 |
Aurora Serverless v1 執行 Aurora PostgreSQL 第 11 或 13 版的叢集 |
協助規劃從 轉換 Aurora Serverless v1,的比較 Aurora Serverless v2 以及 Aurora Serverless v1請先諮詢 。 然後遵循 從 升級 Aurora Serverless v1 叢集至 Aurora Serverless v2 中的程序。 |
從佈建叢集切換至 Aurora Serverless v2
切換佈建叢集以使用 Aurora Serverless v2,請遵循下列步驟:
-
檢查佈建的叢集是否需要升級以搭配 使用 Aurora Serverless v2 資料庫執行個體。對於與 相容的 Aurora 版本 Aurora Serverless v2,請參閱的要求和限制 Aurora Serverless v2。
如果佈建的叢集正在執行不適用於 的引擎版本 Aurora Serverless v2,升級叢集的引擎版本:
-
設定任何其他叢集屬性以符合 Aurora Serverless v2 的要求的要求和限制 Aurora Serverless v2。
-
設定叢集的擴展組態。請遵循 設定叢集的 Aurora Serverless v2 容量範圍 中的程序。
-
新增一或多個 Aurora Serverless v2 叢集的資料庫執行個體。依循 將 Aurora 複本新增至資料庫叢集 中的一般程序。對於每個新的資料庫執行個體,請在 或 AWS Management Console或
db.serverless
AWS CLI Amazon 中指定特殊資料庫執行個體類別名稱 ServerlessRDSAPI。在某些狀況下,叢集中可能已有一個或多個已佈建的讀取器資料庫執行個體。若是如此,您可以將其中一個讀取器轉換為 Aurora Serverless v2 資料庫執行個體,而不是建立新的資料庫執行個體。若要執行此作業,請依照 將已佈建的寫入器或讀取器轉換為 Aurora Serverless v2 中的程序進行。
-
執行容錯移轉操作以建立其中一個 Aurora Serverless v2 資料庫會執行個體叢集的寫入器資料庫執行個體。
-
(選用) 將任何佈建的資料庫執行個體轉換為 Aurora Serverless v2,或從叢集中移除它們。遵循 將已佈建的寫入器或讀取器轉換為 Aurora Serverless v2 或 從 Aurora 個體資料庫叢集刪除資料庫執行個體 中的一般程序。
提示
移除已佈建的資料庫執行個體並非強制性。您可以設定包含兩者的叢集 Aurora Serverless v2 和佈建的資料庫執行個體。不過,除非您熟悉 的效能和擴展特性 Aurora Serverless v2 資料庫執行個體,建議您使用相同類型的資料庫執行個體來設定叢集。
下列 AWS CLI 範例顯示使用執行 Aurora MySQL 3.02.0 版之佈建叢集的切換程序。叢集已命名為 mysql-80
。叢集以兩個名為 provisioned-instance-1
和 provisioned-instance-2
的已佈建資料庫執行個體開始,一個寫入器和一個讀取器。他們都使用 db.r6g.large
資料庫執行個體類別。
$ aws rds describe-db-clusters --db-cluster-identifier mysql-80 \ --query '*[].[DBClusterIdentifier,DBClusterMembers[*].[DBInstanceIdentifier,IsClusterWriter]]' --output text mysql-80 provisioned-instance-2 False provisioned-instance-1 True $ aws rds describe-db-instances --db-instance-identifier provisioned-instance-1 \ --output text --query '*[].[DBInstanceIdentifier,DBInstanceClass]' provisioned-instance-1 db.r6g.large $ aws rds describe-db-instances --db-instance-identifier provisioned-instance-2 \ --output text --query '*[].[DBInstanceIdentifier,DBInstanceClass]' provisioned-instance-2 db.r6g.large
我們建立一個包含一些資料的表格。這樣,我們就可以確認在切換前後叢集的資料和作業是相同的。
mysql> create database serverless_v2_demo; mysql> create table serverless_v2_demo.demo (s varchar(128)); mysql> insert into serverless_v2_demo.demo values ('This cluster started with a provisioned writer.'); Query OK, 1 row affected (0.02 sec)
首先,我們將容量範圍新增至叢集。否則,我們在新增任何 Aurora Serverless v2 叢集的資料庫執行個體。如果我們將 AWS Management Console 用於此程序,則在新增第一個 時,該步驟會自動執行 Aurora Serverless v2 資料庫執行個體。
$ aws rds create-db-instance --db-instance-identifier serverless-v2-instance-1 \ --db-cluster-identifier mysql-80 --db-instance-class db.serverless --engine aurora-mysql An error occurred (InvalidDBClusterStateFault) when calling the CreateDBInstance operation: Set the Serverless v2 scaling configuration on the parent DB cluster before creating a Serverless v2 DB instance. $ # The blank ServerlessV2ScalingConfiguration attribute confirms that the cluster doesn't have a capacity range set yet. $ aws rds describe-db-clusters --db-cluster-identifier mysql-80 --query 'DBClusters[*].ServerlessV2ScalingConfiguration' [] $ aws rds modify-db-cluster --db-cluster-identifier mysql-80 \ --serverless-v2-scaling-configuration MinCapacity=0.5,MaxCapacity=16 { "DBClusterIdentifier": "mysql-80", "ServerlessV2ScalingConfiguration": { "MinCapacity": 0.5, "MaxCapacity": 16 } }
我們建立兩個 Aurora Serverless v2 讀取器會取代原始資料庫執行個體。做法是為新的資料庫執行個體指定 db.serverless
資料庫執行個體類別。
$ aws rds create-db-instance --db-instance-identifier serverless-v2-instance-1 --db-cluster-identifier mysql-80 --db-instance-class db.serverless --engine aurora-mysql { "DBInstanceIdentifier": "serverless-v2-instance-1", "DBClusterIdentifier": "mysql-80", "DBInstanceClass": "db.serverless", "DBInstanceStatus": "creating" } $ aws rds create-db-instance --db-instance-identifier serverless-v2-instance-2 \ --db-cluster-identifier mysql-80 --db-instance-class db.serverless --engine aurora-mysql { "DBInstanceIdentifier": "serverless-v2-instance-2", "DBClusterIdentifier": "mysql-80", "DBInstanceClass": "db.serverless", "DBInstanceStatus": "creating" } $ # Wait for both DB instances to finish being created before proceeding. $ aws rds wait db-instance-available --db-instance-identifier serverless-v2-instance-1 && \ aws rds wait db-instance-available --db-instance-identifier serverless-v2-instance-2
我們會執行容錯移轉,讓 成為 Aurora Serverless v2 資料庫會執行叢集的新寫入器。
$ aws rds failover-db-cluster --db-cluster-identifier mysql-80 \ --target-db-instance-identifier serverless-v2-instance-1 { "DBClusterIdentifier": "mysql-80", "DBClusterMembers": [ { "DBInstanceIdentifier": "serverless-v2-instance-1", "IsClusterWriter": false, "DBClusterParameterGroupStatus": "in-sync", "PromotionTier": 1 }, { "DBInstanceIdentifier": "serverless-v2-instance-2", "IsClusterWriter": false, "DBClusterParameterGroupStatus": "in-sync", "PromotionTier": 1 }, { "DBInstanceIdentifier": "provisioned-instance-2", "IsClusterWriter": false, "DBClusterParameterGroupStatus": "in-sync", "PromotionTier": 1 }, { "DBInstanceIdentifier": "provisioned-instance-1", "IsClusterWriter": true, "DBClusterParameterGroupStatus": "in-sync", "PromotionTier": 1 } ], "Status": "available" }
變更需要幾秒鐘才會生效。此時,我們有一個 Aurora Serverless v2 寫入器和 Aurora Serverless v2 讀取器。因此,我們不需要任何一個原始已佈建的資料庫執行個體。
$ aws rds describe-db-clusters --db-cluster-identifier mysql-80 \ --query '*[].[DBClusterIdentifier,DBClusterMembers[*].[DBInstanceIdentifier,IsClusterWriter]]' \ --output text mysql-80 serverless-v2-instance-1 True serverless-v2-instance-2 False provisioned-instance-2 False provisioned-instance-1 False
切換過程的最後一步是刪除這兩個已佈建的資料庫執行個體。
$ aws rds delete-db-instance --db-instance-identifier provisioned-instance-2 --skip-final-snapshot { "DBInstanceIdentifier": "provisioned-instance-2", "DBInstanceStatus": "deleting", "Engine": "aurora-mysql", "EngineVersion": "8.0.mysql_aurora.3.02.0", "DBInstanceClass": "db.r6g.large" } $ aws rds delete-db-instance --db-instance-identifier provisioned-instance-1 --skip-final-snapshot { "DBInstanceIdentifier": "provisioned-instance-1", "DBInstanceStatus": "deleting", "Engine": "aurora-mysql", "EngineVersion": "8.0.mysql_aurora.3.02.0", "DBInstanceClass": "db.r6g.large" }
最後檢查,我們會確認原始資料表可從 存取和寫入 Aurora Serverless v2 writer 資料庫執行個體。
mysql> select * from serverless_v2_demo.demo; +---------------------------------------------------+ | s | +---------------------------------------------------+ | This cluster started with a provisioned writer. | +---------------------------------------------------+ 1 row in set (0.00 sec) mysql> insert into serverless_v2_demo.demo values ('And it finished with a Serverless v2 writer.'); Query OK, 1 row affected (0.01 sec) mysql> select * from serverless_v2_demo.demo; +---------------------------------------------------+ | s | +---------------------------------------------------+ | This cluster started with a provisioned writer. | | And it finished with a Serverless v2 writer. | +---------------------------------------------------+ 2 rows in set (0.01 sec)
我們也連線到 Aurora Serverless v2 讀取器資料庫執行個體並確認新寫入的資料也在那裡可用。
mysql> select * from serverless_v2_demo.demo; +---------------------------------------------------+ | s | +---------------------------------------------------+ | This cluster started with a provisioned writer. | | And it finished with a Serverless v2 writer. | +---------------------------------------------------+ 2 rows in set (0.01 sec)
的比較 Aurora Serverless v2 以及 Aurora Serverless v1
如果您已使用 Aurora Serverless v1,您可以了解 Aurora Serverless v1 以及 Aurora Serverless v2。 架構差異,例如對讀取器資料庫執行個體的支援,開啟新的使用案例類型。
您可以使用下表來協助了解 Aurora Serverless v2 以及 Aurora Serverless v1.
主題
的比較 Aurora Serverless v2 以及 Aurora Serverless v1 需求
下表摘要說明使用 執行資料庫的不同需求 Aurora Serverless v2 或 Aurora Serverless v1. Aurora Serverless v2 提供的 Aurora MySQL 和 Aurora PostgreSQL 資料庫引擎版本高於 Aurora Serverless v1 會。
功能 | Aurora Serverless v2 需求 | Aurora Serverless v1 需求 |
---|---|---|
資料庫引擎 | Aurora MySQL、Aurora PostgreSQL | Aurora MySQL、Aurora PostgreSQL |
支援的 Aurora MySQL 版本 | 請參閱 Aurora Serverless v2 使用 Aurora MySQL。 | 請參閱 Aurora Serverless v1 使用 Aurora MySQL。 |
支援的 Aurora PostgreSQL 版本 | 請參閱 Aurora Serverless v2 搭配 Aurora PostgreSQL。 | 請參閱 Aurora Serverless v1 搭配 Aurora PostgreSQL。 |
升級資料庫叢集 |
與佈建的資料庫叢集類似,您可以手動執行升級,無需等待 Aurora 為您升級資料庫叢集。如需詳細資訊,請參閱修改 Amazon Aurora 資料庫叢集。 注意若要對 Aurora Postgre SQL相容資料庫叢集執行主要版本從 13.x 升級至 14.x 或 15.x,叢集的最大容量必須至少為 2ACUs。 |
次要版本升級會在可用時自動套用。如需詳細資訊,請參閱Aurora Serverless v1 和 Aurora 資料庫引擎版本。 您可以手動執行主要版本升級。如需詳細資訊,請參閱修改 Aurora Serverless v1 資料庫叢集。 |
從已佈建資料庫叢集轉換 | 您可以使用下列方式:
|
還原佈建叢集的快照以建立新的 Aurora Serverless v1 叢集。 |
從 轉換 Aurora Serverless v1 叢集 | 請遵循 從 升級 Aurora Serverless v1 叢集至 Aurora Serverless v2 中的程序。 | 不適用 |
可用的資料庫執行個體類別 | 特殊的資料庫執行個體類別 db.serverless 。在 中 AWS Management Console,它會標記為無伺服器。 |
不適用。Aurora Serverless v1 使用serverless 引擎模式。 |
連線埠 | 與 MySQL 或 Postgre 相容的任何連接埠SQL | 僅限預設 MySQL 或 PostgreSQL 連接埠 |
允許使用公有 IP 地址? | 是 | 否 |
需要虛擬私有雲端 (VPC)? | 是 | 是。每個 Aurora Serverless v1 叢集會耗用 2 個介面,而 Gateway Load Balancer 端點會配置給您的 VPC。 |
的比較 Aurora Serverless v2 以及 Aurora Serverless v1 擴展和可用性
下表摘要說明 Aurora Serverless v2 以及 Aurora Serverless v1 以取得可擴展性和可用性。
Aurora Serverless v2 與 中的擴展相比,擴展更靈敏、更精細且更不干擾 Aurora Serverless v1. Aurora Serverless v2 可以透過變更資料庫執行個體的大小,以及將更多資料庫執行個體新增至資料庫叢集來擴展兩者。它也可以透過將其他 中的叢集新增至 Aurora 全域資料庫 AWS 區域 來擴展。相反地,Aurora Serverless v1 只會透過增加或減少寫入器的容量來擴展。的所有運算 Aurora Serverless v1 叢集會在單一可用區域和單一 中執行 AWS 區域。
擴展和高可用性功能 | Aurora Serverless v2 行為 | Aurora Serverless v1 行為 |
---|---|---|
Aurora 容量單位下限 (ACUs) (Aurora MySQL) | 叢集執行時為 0.5,叢集暫停時為 0。 | 叢集執行時為 1,叢集暫停時為 0。 |
最小值 ACUs(Aurora PostgreSQL) | 叢集執行時為 0.5,叢集暫停時為 0。 | 叢集正在執行時為 2,叢集暫停時為 0。 |
最大值 ACUs(Aurora MySQL) | 256 | 256 |
最大值 ACUs(Aurora PostgreSQL) | 256 | 384 |
停止叢集 | 您可以使用與已佈建叢集相同的叢集停止和啟動功能,手動停止和啟動叢集。 | 叢集在逾時後自動暫停。活動恢復時,需要一些時間才可使用。 |
資料庫執行個體的擴展 | 向上和向下擴展,最小增量為 0.5 ACUs。 | 透過加倍或減半 來向上和向下擴展ACUs。 |
資料庫執行個體的數目 | 與已佈建叢集相同:1 個寫入器資料庫執行個體,最多 15 個讀取器資料庫執行個體。 | 1 個同時處理讀取和寫入的資料庫執行個體。 |
當SQL陳述式執行時,擴展可能會發生? | 是。Aurora Serverless v2 不需要等待安靜點。 | 否。例如,擴展等待長時間執行的交易、臨時表和表格鎖的完成。 |
讀取器資料庫執行個體隨寫入器一起擴展 | 選用 | 不適用 |
最大儲存空間 | 128 TiB | 128 TiB |
擴展時保留緩衝區快取 | 是。緩衝區快取是動態調整大小。 | 否。緩衝區快取在擴展後再加溫。 |
容錯移轉 | 是,與已佈建叢集相同。 | 僅盡最大努力,視容量可用性而定。比 慢 Aurora Serverless v2. |
多可用區域功能 | 是,與已佈建的相同。多可用區域叢集需要第二個可用區域 (AZ) 中的讀取器資料庫執行個體。若為多可用區域叢集,Aurora 在可用區域故障時執行多可用區容錯移轉。 | Aurora Serverless v1 叢集會在單一 AZ 中執行其所有運算。可用區域故障時的還原僅是盡最大努力,依容量可用性而定。 |
Aurora 全球資料庫 | 是 | 否 |
根據記憶體壓力進行擴展 | 是 | 否 |
根據CPU負載擴展 | 是 | 是 |
根據網路流量進行擴展 | 是,根據記憶體和網路流量的CPU負荷。max_connections 參數保持不變,以避免在縮減規模時中斷連線。 |
是,根據連線數量。 |
擴展事件的逾時動作 | 否 | 是 |
透過 新增資料庫執行個體至叢集 AWS Auto Scaling | 不適用。您可以建立 Aurora Serverless v2 提升方案 2–15 中的讀取器資料庫執行個體,並將其縮減至低容量。 | 否。讀取器資料庫執行個體不可用。 |
的比較 Aurora Serverless v2 以及 Aurora Serverless v1 功能支援
下表總結了這些:
-
中可用的功能 Aurora Serverless v2 但不是 Aurora Serverless v1
-
在 之間運作方式不同的功能 Aurora Serverless v1 以及 Aurora Serverless v2
-
目前在 中無法使用的功能 Aurora Serverless v2
Aurora Serverless v2 包含來自佈建叢集的許多功能,這些叢集不適用於 Aurora Serverless v1.
功能 | Aurora Serverless v2 支援 | Aurora Serverless v1 支援 |
---|---|---|
叢集拓撲 | Aurora Serverless v2 是個別資料庫執行個體的屬性。叢集可以包含多個 Aurora Serverless v2 資料庫執行個體,或 的組合 Aurora Serverless v2 和佈建的資料庫執行個體。 | Aurora Serverless v1 叢集不使用資料庫執行個體的概念。您無法變更 Aurora Serverless v1 屬性。 |
組態參數 | 幾乎所有相同的參數皆可修改為與已佈建叢集中一樣。如需詳細資訊,請參閱 使用 Aurora Serverless v2 的參數群組。 | 僅參數的子集可以修改。 |
參數群組 | 叢集參數群組和資料庫參數群組。SupportedEngineModes 屬性中具 provisioned 值的參數可用。這比 中的參數更多 Aurora Serverless v1. |
僅限叢集參數群組。SupportedEngineModes 屬性中具 serverless 值的參數可用。 |
叢集磁碟區的加密 | 選用 | 必要。中的限制Amazon Aurora 加密資料庫叢集的限制適用於所有 Aurora Serverless v1 叢集。 |
跨區域快照 | 是 | 快照必須使用您自己的 AWS Key Management Service (AWS KMS) 金鑰加密。 |
資料庫叢集刪除後保留的自動備份 | 是 | 否 |
TLS/SSL | 是。支援與已佈建叢集的支援相同。如需使用方式的資訊,請參閱 搭配 Aurora Serverless v2 使用 TLS/SSL。 | 是。佈建叢集的TLS支援有一些差異。如需使用方式的資訊,請參閱 使用 TLS/SSL 搭配 Aurora Serverless v1。 |
複製 | 僅限與 相容的資料庫引擎版本 Aurora Serverless v2。 您無法使用複製從 進行升級 Aurora Serverless v1 或從已佈建叢集的較早版本取得。 | 僅限與 相容的資料庫引擎版本 Aurora Serverless v1. |
與 Amazon S3 整合 | 是 | 是 |
與 整合 AWS Secrets Manager | 是 | 否 |
將資料庫叢集快照資料匯出至 S3 | 是 | 否 |
關聯IAM角色 | 是 | 否 |
將日誌上傳至 Amazon CloudWatch | 選用。您可以選擇要開啟哪些日誌,以及要上傳哪些日誌 CloudWatch。 | 開啟的所有日誌都會 CloudWatch 自動上傳至 。 |
API 可用的資料 | 是 | 是 |
可用的查詢編輯器 | 是 | 是 |
Performance Insights | 是 | 否 |
Amazon RDS Proxy 可用 | 是 | 否 |
提供 Babelfish for Aurora PostgreSQL | 是。支援與 Babelfish 和 相容的 Aurora PostgreSQL 版本 Aurora Serverless v2. | 否 |
調整 Aurora Serverless v1 使用案例至 Aurora Serverless v2
視您的 使用案例而定 Aurora Serverless v1,您可以調整該方法以利用 Aurora Serverless v2 功能,如下所示。
假設您有 Aurora Serverless v1 叢集,其負載輕且您的優先順序是維持持續可用性,同時將成本降至最低。使用 Aurora Serverless v2,您可以設定較小的最小ACU設定 0.5,相較於 ACU 的最小設定 1 Aurora Serverless v1。 您可以透過建立多可用區域組態來提高可用性,其中讀取器資料庫執行個體也至少要有 0.5 ACUs。
假設您有 Aurora Serverless v1 用於開發和測試案例的 叢集。於此情況下,成本也具高優先順序,但叢集不需要隨時可用。Aurora Serverless v2 可以在執行個體完全閒置時自動暫停每個執行個體。您可以ACUs指定叢集的最小容量為 0,如 中所述使用 ACUs自動暫停和繼續將 擴展至零 Aurora Serverless v2。您也可以在不需要叢集時手動停止叢集,並在下次測試或開發週期時啟動叢集。
假設您有 Aurora Serverless v1 具有繁重工作負載的 叢集。使用 的同等叢集 Aurora Serverless v2 可以更精細地擴展。例如 Aurora Serverless v1 透過將容量加倍來擴展,例如從 64 到 128ACUs。相反地,您的 Aurora Serverless v2 資料庫執行個體可以以 0.5-ACU 增量進行擴展。
假設您的工作負載需要高於 中可用的總容量 Aurora Serverless v1。 您可以使用多個 Aurora Serverless v2 讀取器資料庫執行個體,從寫入器資料庫執行個體卸載工作負載的讀取密集部分。您還可以在多個讀取器資料庫執行個體之間分割讀取密集型工作負載。
對於寫入密集型工作負載,您可以將具有大型已佈建資料庫執行個體的叢集設定為寫入器。您可以與一或多個 一起執行此操作 Aurora Serverless v2 讀取器資料庫執行個體。
從 升級 Aurora Serverless v1 叢集至 Aurora Serverless v2
重要
AWS 已宣布 end-of-life的日期 Aurora Serverless v1:2025 年 3 月 31 日。我們強烈建議您升級任何 Aurora Serverless v1 資料庫叢集至 Aurora Serverless v2 在該日期之前。升級可能涉及資料庫引擎主要版本編號的變更。因此,請務必在日期之前 end-of-life規劃、測試和實作此切換。自 2025 年 1 月 8 日起,客戶將無法再建立新的 Aurora Serverless v1 叢集或具有 AWS Management Console 或 的執行個體CLI。
從 升級資料庫叢集的程序 Aurora Serverless v1 至 Aurora Serverless v2 有多個步驟。這是因為您無法直接從 轉換 Aurora Serverless v1 至 Aurora Serverless v2。 一律有一個中繼步驟涉及轉換 Aurora Serverless v1 資料庫叢集至佈建叢集。
Aurora My SQL相容資料庫叢集
您可以轉換您的 Aurora Serverless v1 資料庫叢集至佈建的資料庫叢集,然後使用藍/綠部署進行升級,並將其轉換為 Aurora Serverless v2 資料庫叢集。我們建議生產環境採用此程序。如需詳細資訊,請參閱使用 Aurora 藍/綠部署進行資料庫更新。
使用藍/綠部署來升級 Aurora Serverless v1 執行 Aurora MySQL 第 2 版的叢集 (與 MySQL 5.7 相容)
-
轉換 Aurora Serverless v1 資料庫叢集至佈建的 Aurora MySQL 第 2 版叢集。請遵循 從 Aurora Serverless v1 轉換為已佈建 中的程序。
-
建立藍/綠部署。請遵循 在 Amazon Aurora 中建立藍/綠部署 中的程序。
-
為與 相容的綠色叢集選擇 Aurora MySQL 版本 Aurora Serverless v2,例如 3.04.1。
如需相容版本,請參閱 Aurora Serverless v2 使用 Aurora MySQL。
-
修改綠色叢集的寫入器資料庫執行個體,以使用 Serverless v2 (db.serverless) 資料庫執行個體類別。
如需詳細資訊,請參閱 將已佈建的寫入器或讀取器轉換為 Aurora Serverless v2。
-
升級時 Aurora Serverless v2 資料庫叢集可用,請從藍色叢集切換到綠色叢集。
Aurora Postgre SQL相容資料庫叢集
您可以轉換您的 Aurora Serverless v1 資料庫叢集至佈建的資料庫叢集,然後使用藍/綠部署進行升級,並將其轉換為 Aurora Serverless v2 資料庫叢集。我們建議生產環境採用此程序。如需詳細資訊,請參閱使用 Aurora 藍/綠部署進行資料庫更新。
使用藍/綠部署來升級 Aurora Serverless v1 執行 Aurora PostgreSQL 第 11 版的叢集
-
轉換 Aurora Serverless v1 資料庫叢集至佈建的 Aurora PostgreSQL 叢集。請遵循 從 Aurora Serverless v1 轉換為已佈建 中的程序。
-
建立藍/綠部署。請遵循 在 Amazon Aurora 中建立藍/綠部署 中的程序。
-
為與 相容的綠色叢集選擇 Aurora PostgreSQL 版本 Aurora Serverless v2,例如 15.3。
如需相容版本,請參閱 Aurora Serverless v2 搭配 Aurora PostgreSQL。
-
修改綠色叢集的寫入器資料庫執行個體,以使用 Serverless v2 (db.serverless) 資料庫執行個體類別。
如需詳細資訊,請參閱 將已佈建的寫入器或讀取器轉換為 Aurora Serverless v2。
-
升級時 Aurora Serverless v2 資料庫叢集可用,請從藍色叢集切換到綠色叢集。
您也可以升級您的 Aurora Serverless v1 資料庫叢集直接從 Aurora PostgreSQL 第 11 版轉換為第 13 版,將其轉換為佈建的資料庫叢集,然後將佈建的叢集轉換為 Aurora Serverless v2 資料庫叢集。
若要升級,請轉換 Aurora Serverless v1 執行 Aurora PostgreSQL 第 11 版的叢集
-
升級 Aurora Serverless v1 叢集至與 相容的 Aurora PostgreSQL 第 13 版 Aurora Serverless v2,例如 13.12。請遵循 升級主要版本 中的程序。
如需相容版本,請參閱 Aurora Serverless v2 搭配 Aurora PostgreSQL。
-
轉換 Aurora Serverless v1 資料庫叢集至佈建的 Aurora PostgreSQL 叢集。請遵循 從 Aurora Serverless v1 轉換為已佈建 中的程序。
-
新增 Aurora Serverless v2 讀取器資料庫執行個體到叢集。如需詳細資訊,請參閱新增 Aurora Serverless v2 讀取器。
-
容錯移轉至 Aurora Serverless v2 資料庫執行個體:
-
選取資料庫叢集的寫入器資料庫執行個體。
-
針對 Actions (動作),選擇 Failover (容錯移轉)。
-
在確認頁面上,選擇容錯移轉。
-
用於 Aurora Serverless v1 執行 Aurora PostgreSQL 第 13 版的資料庫叢集,您可以轉換 Aurora Serverless v1 叢集至佈建的資料庫叢集,然後將佈建的叢集轉換為 Aurora Serverless v2 資料庫叢集。
升級 Aurora Serverless v1 執行 Aurora PostgreSQL 第 13 版的叢集
-
轉換 Aurora Serverless v1 資料庫叢集至佈建的 Aurora PostgreSQL 叢集。請遵循 從 Aurora Serverless v1 轉換為已佈建 中的程序。
-
新增 Aurora Serverless v2 讀取器資料庫執行個體到叢集。如需詳細資訊,請參閱新增 Aurora Serverless v2 讀取器。
-
容錯移轉至 Aurora Serverless v2 資料庫執行個體:
-
選取資料庫叢集的寫入器資料庫執行個體。
-
針對 Actions (動作),選擇 Failover (容錯移轉)。
-
在確認頁面上,選擇容錯移轉。
-
從內部部署資料庫遷移至 Aurora Serverless v2
您可以將內部部署資料庫遷移至 Aurora Serverless v2,如同佈建的 Aurora MySQL 和 Aurora PostgreSQL。
-
對於我的SQL資料庫,您可以使用
mysqldump
命令。如需詳細資訊,請參閱將資料匯入至停機時間縮短的 MySQL 或 MariaDB 資料庫執行個體。 -
對於 PostgreSQL 資料庫,您可以使用
pg_dump
和pg_restore
命令。如需詳細資訊,請參閱部落格文章將 PostgreSQL 資料庫遷移至 Amazon RDS和 Amazon Aurora 的最佳實務。