選取您的 Cookie 偏好設定

我們使用提供自身網站和服務所需的基本 Cookie 和類似工具。我們使用效能 Cookie 收集匿名統計資料,以便了解客戶如何使用我們的網站並進行改進。基本 Cookie 無法停用,但可以按一下「自訂」或「拒絕」以拒絕效能 Cookie。

如果您同意,AWS 與經核准的第三方也會使用 Cookie 提供實用的網站功能、記住您的偏好設定,並顯示相關內容,包括相關廣告。若要接受或拒絕所有非必要 Cookie,請按一下「接受」或「拒絕」。若要進行更詳細的選擇,請按一下「自訂」。

複製 Amazon Aurora 資料庫叢集的一個磁碟區 - Amazon Aurora

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

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

複製 Amazon Aurora 資料庫叢集的一個磁碟區

透過使用 Aurora 複製,您可以建立最初與原始叢集共用相同資料頁面,但為個別且獨立磁碟區的新叢集。該程序旨在快速且具有成本效益。與其相關聯的資料磁碟區新叢集稱為複製。與使用不同的技術 (如還原快照) 以物理方式複製資料相比,建立複製更快也更節省空間。

Aurora 複製的概觀

Aurora 使用寫入時複製通訊協定來建立複製。此機制會使用最少的其他空間來建立初始複製。首次建立複製時,Aurora 會保留來源 Aurora 資料庫叢集和新 (複製) Aurora 資料庫叢集所使用的資料單一副本。只有在來源 Aurora 資料庫叢集或 Aurora 資料庫叢集複製 (在 Aurora 儲存磁碟區上) 變更資料時,才會配置其他的儲存體。若要進一步了解寫入時複製通訊協定,請參閱 Aurora 複製的運作方法

Aurora 複製對於使用您的生產資料快速設定測試環境特別有用,且不會造成資料損毀風險。您可以為許多類型的應用程式使用複製,例如以下類型:

  • 潛在變更實驗 (例如結構描述變更和參數群組變更),以評估所有影響。

  • 執行工作負載密集的操作,例如在複製上匯出資料或執行分析查詢。

  • 為了開發、測試或其他用途建立生產資料庫叢集的副本。

您可以從同一個 Aurora 資料庫叢集建立多個複製。您也可以從另一個複製建立多個複製。

在建立 Aurora 複製之後,您可以將 Aurora 資料庫執行個體設定為與來源 Aurora 資料庫叢集不同。例如,您可能不需要出於開發目的的複製,來滿足與來源生產 Aurora資料庫叢集相同的高可用性需求。在此情況下,您可以使用單一 Aurora 資料庫執行個體來設定複製,而不是利用 Aurora 資料庫叢集所用的多個資料庫執行個體來設定。

當您使用與來源不同的部署組態建立複製時,複製會使用來源 Aurora 資料庫引擎的最新次要版本建立。

當您從 Aurora 資料庫叢集建立複製時,複製會在您的帳戶中建立,而 AWS 該帳戶是擁有來源 Aurora 資料庫叢集的相同帳戶。不過,您也可以與其他 AWS 帳戶共用Aurora Serverless v2和佈建 Aurora 資料庫叢集和複製。如需詳細資訊,請參閱使用 AWS RAM 和 Amazon Aurora 進行跨帳戶複製

在您完成使用複製來進行測試、開發或其他用途時,便可將其刪除。

Aurora 複製的限制

Aurora 複製限制如下:

  • 您可以根據需要建立數量不拘的複製項,最多可達到 AWS 區域中允許的資料庫叢集數量上限。

  • 您最多可以使用copy-on-write通訊協定建立 15 個複製。在具有 15 個複製項之後,下一個您建立的複製項為完整複本。完整複製通訊協定的作用類似於時間點復原。

  • 您無法在來源 Aurora 資料庫叢集的不同 AWS 區域中建立複製。

  • 您無法從沒有平行查詢功能的 Aurora 資料庫叢集建立一個複製到使用平行查詢的叢集中。若要將資料引入使用平行查詢的叢集,請建立原始叢集的快照,然後將其還原到使用平行查詢功能的叢集。

  • 您無法從沒有資料庫執行個體的 Aurora 資料庫叢集中建立複製。您僅能複製至少具有一個資料庫執行個體的 Aurora 資料庫叢集。

  • 您可以在與 Aurora 資料庫叢集不同的 Virtual Private Cloud (VPC) 中建立複製。不過,VPC 中的子網路必須映射至相同的可用區域。

  • 您可以從已佈建的 Aurora 資料庫叢集中建立 Aurora 已佈建複製。

  • 具有 Aurora Serverless v2 執行個體的叢集遵循與佈建叢集相同的規則。

  • 在 Aurora Serverless v1 中:

    • 您可以從Aurora Serverless v1資料庫叢集建立佈建複製。

    • 您可以從 Aurora Serverless v1或佈建的資料庫叢集建立Aurora Serverless v1複製。

    • 您無法從未加密的佈建 Aurora 資料庫叢集建立Aurora Serverless v1複製。

    • 跨帳戶複製目前佈支援複製 Aurora Serverless v1 資料庫叢集。如需詳細資訊,請參閱跨帳戶複製的限制

    • 複製的 Aurora Serverless v1 資料庫叢集具有與任何 Aurora Serverless v1 資料庫叢集相同的行為和限制。如需詳細資訊,請參閱使用 Amazon Aurora Serverless v1

    • Aurora Serverless v1 資料庫叢集一律會加密。在您複製 Aurora Serverless v1 資料庫叢集至已佈建的 Aurora 資料庫叢集中時,已佈建的 Aurora 資料庫叢集會加密。您可以選擇加密金鑰,但無法停用加密。若要從佈建的 Aurora 資料庫叢集複製到 Aurora Serverless v1,您必須從加密的佈建 Aurora 資料庫叢集開始。

Aurora 複製的運作方法

Aurora 複製會在 Aurora 資料庫叢集的儲存層運作。其會使用寫入時複製通訊協定,在支援 Aurora 儲存磁碟區的基礎耐用媒體方面,既快速又節省空間。您可以在 Amazon Aurora 儲存體的概觀 中進一步了解 Aurora 叢集磁碟區。

了解寫入時複製通訊協定

Aurora 資料庫叢集會將資料儲存在基礎 Aurora 儲存磁碟區的頁面中。

例如,在以下圖表中,您可以找到具有 4 個資料頁面 (1、2、3 和 4) 的 Aurora資料庫叢集 (A)。想像一下,複製 B 是從 Aurora資料庫叢集建立。建立複製時,不會複製任何資料。相反地,複製會指向與來源 Aurora 資料庫叢集相同的一組頁面。

Amazon Aurora 叢集磁碟區具有 4 個頁面的來源叢集 (A) 和複製 (B)

在建立複製時,通常不需要其他的儲存空間。寫入時複製通訊協定會使用與實體儲存媒體上相同的區段,作為來源區段。只有在來源區段的容量不足以容納整個複製區段時,才需要其他的儲存空間。如果是這種情況,來源區段會複製到另一個實體裝置上。

在下圖中,您可以找到使用相同叢集 A 及其複製 B 之動作的寫入時複製通訊協定範例,如上所示。假設您變更 Aurora 資料庫叢集 (A),導致第 1 頁保留的資料變更。Aurora 不會寫入至原始第 1 頁,而是建立新的第 1 頁 [A]。叢集 (A) 的 Aurora 資料庫叢集磁碟區現在會指向第 1 頁 [A]、2、3 和 4 頁,而複製 (B) 仍會參考原始頁面。

Amazon Aurora 來源資料庫叢集磁碟區及其複製,皆有變更。

至於複製上,已對儲存磁碟區上的第 4 頁進行變更。Aurora 不會寫入至原始第 4 頁,而是建立新的第 4 頁 [B]。複製現在會指向第 1、2、3 和 4 頁 [B],而叢集 (A) 會繼續指向 1 [A]、2、3 和 4。

Amazon Aurora 來源資料庫叢集磁碟區及其複製,皆有變更。

隨著來源 Aurora 資料庫叢集磁碟區和複製在一段時間後發生更多變更,您需要不斷增加更多的儲存空間來擷取並存放變更。

刪除來源叢集磁碟區

最初,複製磁碟區會共用與建立複製的原始磁碟區相同的資料頁面。只要原始磁碟區存在,複製磁碟區只會被視為複製建立或修改之頁面的擁有者。因此,複製磁碟區的VolumeBytesUsed指標一開始很小,只會隨著原始叢集和複製之間的資料差異而增加。對於來源磁碟區和複製之間的頁面,儲存費用僅適用於原始叢集。如需關於 VolumeBytesUsed 指標的詳細資訊,請參閱Amazon Aurora 的叢集層級指標

當您刪除具有一或多個與其相關聯的複製的來源叢集磁碟區時,不會變更複製叢集磁碟區中的資料。Aurora 會保留來源叢集磁碟區先前擁有的頁面。Aurora 會重新分配已刪除叢集所擁有之頁面的儲存體帳單。例如,假設原始叢集有兩個複製,然後刪除原始叢集。原始叢集擁有的一半資料頁面現在將由一個複製擁有。另一半的頁面將由另一個複製擁有。

如果您刪除原始叢集,則在建立或刪除更多複製時,Aurora 會繼續在共用相同頁面的所有複製之間重新分配資料頁面的所有權。因此,您可能會發現複製叢集磁碟區的VolumeBytesUsed指標值變更。隨著建立更多複製,且頁面擁有權分散到更多叢集,指標值可能會減少。刪除複製並將頁面擁有權指派給較少數量的叢集時,指標值也會增加。如需有關寫入操作如何影響複製磁碟區資料頁面的資訊,請參閱 了解寫入時複製通訊協定

當原始叢集和複製由相同 AWS 帳戶擁有時,這些叢集的所有儲存費用都會套用至該相同 AWS 帳戶。如果某些叢集是跨帳戶複製,刪除原始叢集可能會對擁有跨帳戶複製 AWS 的帳戶產生額外的儲存費用。

例如,假設叢集磁碟區在建立任何複製之前有 1000 個使用過的資料頁面。當您複製該叢集時,複製磁碟區一開始使用的頁面為零。如果複製對 100 個資料頁面進行修改,則複製磁碟區上只會儲存這 100 個頁面,並標記為已使用。來自父磁碟區的其他 900 個未變更頁面會由兩個叢集共用。在這種情況下,父叢集有 1000 頁的儲存費用,以及 100 頁的複製磁碟區費用。

如果您刪除來源磁碟區,複製的儲存費用會包含其變更的 100 頁,以及原始磁碟區中的 900 個共用頁面,總共 1000 頁。

建立 Amazon Aurora 複製

您可以在與來源 Aurora 資料庫叢集相同的 AWS 帳戶中建立複製。若要這麼做,您可以使用 AWS Management Console 或 AWS CLI 和下列程序。

若要允許另一個 AWS 帳戶建立複製或與其他 AWS 帳戶共用複製,請使用 中的程序使用 AWS RAM 和 Amazon Aurora 進行跨帳戶複製

以下程序說明如何使用 複製 AWS Management Console來複製 Aurora 資料庫叢集。

在具有一個 Aurora 資料庫執行個體的 Aurora 資料庫叢集中,使用 AWS Management Console 結果建立複製。

這些說明適用於建立複製之相同 AWS 帳戶所擁有的資料庫叢集。如果資料庫叢集是由不同的 AWS 帳戶所擁有,請使用 AWS RAM 和 Amazon Aurora 進行跨帳戶複製改為參閱 。

使用 建立 AWS 帳戶擁有的資料庫叢集複製 AWS Management Console
  1. 登入 AWS Management Console ,並在 https://console.aws.amazon.com/rds/:// 開啟 Amazon RDS 主控台。

  2. 在導覽窗格中,選擇 Databases (資料庫)

  3. 從清單中選擇您的 Aurora 資料庫叢集,並為 Actions (動作),選擇 Create clone (建立複製)。

    建立複製會先從選取您的 Aurora 資料庫叢集開始。

    「建立複製」頁面即會開啟,您可以在其中設定 Aurora 資料庫叢集複製的設定連線能力和其他選項。

  4. 對於資料庫執行個體識別符,請輸入您要給予所複製 Aurora 資料庫叢集的名稱。

  5. 針對Aurora Serverless v1資料庫叢集,選擇容量類型的佈建無伺服器

    僅在來源 Aurora 資料庫叢集為 Aurora Serverless v1 資料庫叢集,或為已加密之已佈建 Aurora 資料庫叢集時,才可選擇 Serverless (無伺服器)。

  6. 針對 Aurora Serverless v2或 佈建的資料庫叢集,選擇叢集儲存組態Aurora StandardAurora I/O-Optimized或 。

    如需詳細資訊,請參閱Amazon Aurora 資料庫叢集的儲存組態

  7. 選擇資料庫執行個體大小或資料庫叢集容量:

    • 針對佈建複製,選擇資料庫執行個體類別

      若要建立佈建複製,請指定資料庫執行個體大小。

      您可以接受提供的設定,也可以為您的複製使用不同的資料庫執行個體類別。

    • 針對 Aurora Serverless v1或Aurora Serverless v2複製,選擇容量設定

      若要從 Aurora 資料庫叢集建立 Serverless 複製,請指定容量。

      您可以接受提供的設定,也可以為複製變更這些設定。

  8. 視需要為您的複製選擇其他設定。若要進一步了解 Aurora 資料庫叢集和執行個體設定,請參閱 建立 Amazon Aurora 資料庫叢集

  9. 選擇建立複製

在建立複製時,其會與您其他的 Aurora 資料庫叢集一起列於主控台的 Databases (資料庫) 區段中,並顯示其目前狀態。在您複製的狀態為 Available (可用) 時,表示已可使用。

主控台

以下程序說明如何使用 複製 AWS Management Console來複製 Aurora 資料庫叢集。

在具有一個 Aurora 資料庫執行個體的 Aurora 資料庫叢集中,使用 AWS Management Console 結果建立複製。

這些說明適用於建立複製之相同 AWS 帳戶所擁有的資料庫叢集。如果資料庫叢集是由不同的 AWS 帳戶所擁有,請使用 AWS RAM 和 Amazon Aurora 進行跨帳戶複製改為參閱 。

使用 建立 AWS 帳戶擁有的資料庫叢集複製 AWS Management Console
  1. 登入 AWS Management Console ,並在 https://console.aws.amazon.com/rds/:// 開啟 Amazon RDS 主控台。

  2. 在導覽窗格中,選擇 Databases (資料庫)

  3. 從清單中選擇您的 Aurora 資料庫叢集,並為 Actions (動作),選擇 Create clone (建立複製)。

    建立複製會先從選取您的 Aurora 資料庫叢集開始。

    「建立複製」頁面即會開啟,您可以在其中設定 Aurora 資料庫叢集複製的設定連線能力和其他選項。

  4. 對於資料庫執行個體識別符,請輸入您要給予所複製 Aurora 資料庫叢集的名稱。

  5. 針對Aurora Serverless v1資料庫叢集,選擇容量類型的佈建無伺服器

    僅在來源 Aurora 資料庫叢集為 Aurora Serverless v1 資料庫叢集,或為已加密之已佈建 Aurora 資料庫叢集時,才可選擇 Serverless (無伺服器)。

  6. 針對 Aurora Serverless v2或 佈建的資料庫叢集,選擇叢集儲存組態Aurora StandardAurora I/O-Optimized或 。

    如需詳細資訊,請參閱Amazon Aurora 資料庫叢集的儲存組態

  7. 選擇資料庫執行個體大小或資料庫叢集容量:

    • 針對佈建複製,選擇資料庫執行個體類別

      若要建立佈建複製,請指定資料庫執行個體大小。

      您可以接受提供的設定,也可以為您的複製使用不同的資料庫執行個體類別。

    • 針對 Aurora Serverless v1或Aurora Serverless v2複製,選擇容量設定

      若要從 Aurora 資料庫叢集建立 Serverless 複製,請指定容量。

      您可以接受提供的設定,也可以為複製變更這些設定。

  8. 視需要為您的複製選擇其他設定。若要進一步了解 Aurora 資料庫叢集和執行個體設定,請參閱 建立 Amazon Aurora 資料庫叢集

  9. 選擇建立複製

在建立複製時,其會與您其他的 Aurora 資料庫叢集一起列於主控台的 Databases (資料庫) 區段中,並顯示其目前狀態。在您複製的狀態為 Available (可用) 時,表示已可使用。

使用 AWS CLI 複製您的 Aurora 資料庫叢集需要建立複製叢集,並將一或多個資料庫執行個體新增至其中的個別步驟。

您使用的restore-db-cluster-to-point-in-time AWS CLI 命令會產生 Aurora 資料庫叢集,其儲存資料與原始叢集相同,但沒有 Aurora 資料庫執行個體。您可以在複製可用之後分別建立資料庫執行個體。您可以選擇資料庫執行個體及其執行個體類別的數量,以讓複製的運算容量比原始叢集多或少。程序中的步驟如下所示:

  1. 透過使用 restore-db-cluster-to-point-in-time CLI 命令來建立複製。

  2. 使用 create-db-instance CLI 命令建立複製的寫入器資料庫執行個體。

  3. (選用) 執行其他 create-db-instance CLI 命令,將一或多個讀取器執行個體新增至複製叢集。使用讀取器執行個體有助於改善複製的高可用性和讀取可擴展性。如果您只打算使用複製進行開發和測試,可以略過此步驟。

建立複製

使用 restore-db-cluster-to-point-in-time CLI 命令來建立初始複製叢集。

從來源 Aurora 資料庫叢集建立複製
  • 使用 restore-db-cluster-to-point-in-time CLI 命令。為下列參數指定值。在此典型情況下,複製會使用與原始叢集相同的引擎模式,無論是佈建或 Aurora Serverless v1。

    • --db-cluster-identifier – 為您的複製選擇一個有意義的名稱。在您使用 restore-db-cluster-to-point-in-time CLI 命令時,為複製命名。然後,您會在 create-db-instance CLI 命令中傳遞複製的名稱。

    • --restore-type – 使用 copy-on-write 來建立來源資料庫叢集的複製。如果沒有這個參數,restore-db-cluster-to-point-in-time 會還原 Aurora 資料庫叢集,而非建立複製。

    • --source-db-cluster-identifier – 使用您要複製之來源 Aurora 資料庫叢集的名稱。

    • --use-latest-restorable-time – 此值指向來源資料庫叢集的最新可還原磁碟區資料。使用它來建立複製。

下列範例會從名為 my-source-cluster 的叢集建立名為 my-clone 的複製。

對於 Linux、 macOS或 Unix:

aws rds restore-db-cluster-to-point-in-time \ --source-db-cluster-identifier my-source-cluster \ --db-cluster-identifier my-clone \ --restore-type copy-on-write \ --use-latest-restorable-time

在 Windows 中:

aws rds restore-db-cluster-to-point-in-time ^ --source-db-cluster-identifier my-source-cluster ^ --db-cluster-identifier my-clone ^ --restore-type copy-on-write ^ --use-latest-restorable-time

該命令會返回包含複製詳細資訊的 JSON 對象。在嘗試為複製建立資料庫執行個體之前,請檢查以確定您複製的資料庫叢集是否可用。如需詳細資訊,請參閱檢查狀態並取得複製詳細資訊

例如,假設您有一個想要複製的叢集名為 tpch100g。下列 Linux 範例會建立名為 的複製叢集tpch100g-clone、名為 的Aurora Serverless v2寫入器執行個體tpch100g-clone-instance,以及名為 tpch100g-clone-instance-2的佈建讀取器執行個體,以用於新叢集。

您不需要提供部分參數,例如 --master-username--master-user-password。Aurora 會自動從原始叢集中判斷這些參數。您確實需要指定要使用的資料庫引擎。因此,此範例會測試新叢集,以判斷 --engine 參數所要使用的正確值。

此範例也包含建立複製叢集時--serverless-v2-scaling-configuration的選項。如此一來,即使原始叢集未使用 ,您也可以將Aurora Serverless v2執行個體新增至複製Aurora Serverless v2。

$ aws rds restore-db-cluster-to-point-in-time \ --source-db-cluster-identifier tpch100g \ --db-cluster-identifier tpch100g-clone \ --serverless-v2-scaling-configuration MinCapacity=0.5,MaxCapacity=16 \ --restore-type copy-on-write \ --use-latest-restorable-time $ aws rds describe-db-clusters \ --db-cluster-identifier tpch100g-clone \ --query '*[].[Engine]' \ --output text aurora-mysql $ aws rds create-db-instance \ --db-instance-identifier tpch100g-clone-instance \ --db-cluster-identifier tpch100g-clone \ --db-instance-class db.serverless \ --engine aurora-mysql $ aws rds create-db-instance \ --db-instance-identifier tpch100g-clone-instance-2 \ --db-cluster-identifier tpch100g-clone \ --db-instance-class db.r6g.2xlarge \ --engine aurora-mysql
使用與來源 Aurora 資料庫叢集不同的引擎模式建立複製
  • 此程序僅適用於支援 的較舊引擎版本Aurora Serverless v1。假設您擁有 Aurora Serverless v1叢集,而且想要建立佈建叢集的複製。在這種情況下,請使用 restore-db-cluster-to-point-in-time CLI 命令,並指定與上一個範例中相似的參數值,加上下列其他參數:

    • --engine-mode – 此參數僅用於建立與來源 Aurora 資料庫叢集不同引擎模式的複製。此參數僅適用於支援 的較舊引擎版本Aurora Serverless v1。選擇要與以下 --engine-mode 一起傳遞的值:

      • 使用 --engine-mode provisioned 從 Aurora Serverless 資料庫叢集建立已佈建的 Aurora 資料庫叢集複製。

        注意

        如果您打算Aurora Serverless v2搭配從 複製的叢集使用 Aurora Serverless v1,您仍然會將複製的引擎模式指定為 provisioned。然後,您會在之後執行額外的升級和遷移步驟。

      • 使用 從佈建的 Aurora 資料庫叢集--engine-mode serverless建立Aurora Serverless v1複製。當您指定serverless引擎模式時,您也可以選擇 --scaling-configuration

    • --scaling-configuration – (選用) 使用 搭配 --engine-mode serverless來設定Aurora Serverless v1複製的最小和最大容量。如果您不使用此參數,Aurora 會使用資料庫引擎的預設Aurora Serverless v1容量值來建立Aurora Serverless v1複製。

下列範例my-clone會從名為 的Aurora Serverless v1資料庫叢集建立名為 的佈建複製my-source-cluster

對於 Linux、 macOS或 Unix:

aws rds restore-db-cluster-to-point-in-time \ --source-db-cluster-identifier my-source-cluster \ --db-cluster-identifier my-clone \ --engine-mode provisioned \ --restore-type copy-on-write \ --use-latest-restorable-time

在 Windows 中:

aws rds restore-db-cluster-to-point-in-time ^ --source-db-cluster-identifier my-source-cluster ^ --db-cluster-identifier my-clone ^ --engine-mode provisioned ^ --restore-type copy-on-write ^ --use-latest-restorable-time

這些命令會返回 JSON 對象,其會包含您需要用來建立資料庫執行個體的複製。在複製的狀態 (空白 Aurora 資料庫叢集) 的狀態為 可用 (Available) 之前,您無法執行該操作。

注意

restore-db-cluster-to-point-in-time AWS CLI 命令只會還原資料庫叢集,而不會還原該資料庫叢集的資料庫執行個體。您可以執行 create-db-instance 命令,為還原的資料庫叢集建立資料庫執行個體。使用該命令,您可以將還原的資料庫叢集的識別符指定為 --db-cluster-identifier 參數。只在 restore-db-cluster-to-point-in-time 命令完成且資料庫叢集可用時,您才能建立資料庫執行個體。

假設您從Aurora Serverless v1叢集開始,並打算將其遷移至Aurora Serverless v2叢集。您可以建立Aurora Serverless v1叢集的佈建複製,做為遷移中的初始步驟。如需完整程序,包括任何必要的版本升級,請參閱 從 升級 Aurora Serverless v1 叢集至 Aurora Serverless v2

檢查狀態並取得複製詳細資訊

您可以使用下列命令來檢查新建立的複製叢集狀態。

$ aws rds describe-db-clusters --db-cluster-identifier my-clone --query '*[].[Status]' --output text

或者,您可以使用下列 AWS CLI 查詢,取得建立複製資料庫執行個體所需的狀態和其他值。

對於 Linux、 macOS或 Unix:

aws rds describe-db-clusters --db-cluster-identifier my-clone \ --query '*[].{Status:Status,Engine:Engine,EngineVersion:EngineVersion,EngineMode:EngineMode}'

在 Windows 中:

aws rds describe-db-clusters --db-cluster-identifier my-clone ^ --query "*[].{Status:Status,Engine:Engine,EngineVersion:EngineVersion,EngineMode:EngineMode}"

此查詢會返回類似以下的內容:

[ { "Status": "available", "Engine": "aurora-mysql", "EngineVersion": "8.0.mysql_aurora.3.04.1", "EngineMode": "provisioned" } ]

建立您複製的 Aurora 資料庫執行個體

使用 create-db-instance CLI 命令,為您的 Aurora Serverless v2或佈建複製建立資料庫執行個體。您不會為Aurora Serverless v1複製建立資料庫執行個體。

資料庫執行個體會從來源資料庫叢集繼承 --master-username--master-user-password 屬性。

下列範例會建立佈建複製的資料庫執行個體。

對於 Linux、 macOS或 Unix:

aws rds create-db-instance \ --db-instance-identifier my-new-db \ --db-cluster-identifier my-clone \ --db-instance-class db.r6g.2xlarge \ --engine aurora-mysql

在 Windows 中:

aws rds create-db-instance ^ --db-instance-identifier my-new-db ^ --db-cluster-identifier my-clone ^ --db-instance-class db.r6g.2xlarge ^ --engine aurora-mysql

下列範例會為使用支援 Aurora Serverless v2 之引擎版本的複製建立資料庫執行個體Aurora Serverless v2。

對於 Linux、 macOS或 Unix:

aws rds create-db-instance \ --db-instance-identifier my-new-db \ --db-cluster-identifier my-clone \ --db-instance-class db.serverless \ --engine aurora-postgresql

在 Windows 中:

aws rds create-db-instance ^ --db-instance-identifier my-new-db ^ --db-cluster-identifier my-clone ^ --db-instance-class db.serverless ^ --engine aurora-mysql

用於複製的參數

下表摘要說明與 restore-db-cluster-to-point-in-time 搭配使用以複製 Aurora 資料庫叢集的各種參數。

參數 描述

--source-db-cluster-identifier

使用您要複製之來源 Aurora 資料庫叢集的名稱。

--db-cluster-identifier

當您使用 restore-db-cluster-to-point-in-time命令建立複製時,為您的複製選擇有意義的名稱。然後,您將此名稱傳遞給 create-db-instance 命令。

--restore-type

指定 copy-on-write--restore-type,以建立來源資料庫叢集的複製,而非還原來源 Aurora 資料庫叢集。

--use-latest-restorable-time

此值指向來源資料庫叢集的最新可還原磁碟區資料。使用它來建立複製。

--serverless-v2-scaling-configuration

(支援 的較新版本Aurora Serverless v2) 使用此參數來設定Aurora Serverless v2複製的最小和最大容量。如果您未指定此參數,則在修改叢集以新增此屬性之前,您無法在複製叢集中建立任何Aurora Serverless v2執行個體。

--engine-mode

(Aurora Serverless v1僅支援 的舊版本) 使用此參數來建立與來源 Aurora 資料庫叢集不同類型的複製,並具有下列其中一個值:

  • 使用 從Aurora Serverless v1資料庫叢集provisioned建立佈建複製。

  • 使用 從佈建或Aurora Serverless v2資料庫叢集serverless建立Aurora Serverless v1複製。

    當您指定serverless引擎模式時,您也可以選擇 --scaling-configuration

--scaling-configuration

(Aurora Serverless v1僅支援 的舊版本) 使用此參數來設定Aurora Serverless v1複製的最小和最大容量。如果您未指定此參數,Aurora 會使用資料庫引擎的預設容量值來建立複製。

使用 AWS CLI 複製您的 Aurora 資料庫叢集需要建立複製叢集,並將一或多個資料庫執行個體新增至其中的個別步驟。

您使用的restore-db-cluster-to-point-in-time AWS CLI 命令會產生 Aurora 資料庫叢集,其儲存資料與原始叢集相同,但沒有 Aurora 資料庫執行個體。您可以在複製可用之後分別建立資料庫執行個體。您可以選擇資料庫執行個體及其執行個體類別的數量,以讓複製的運算容量比原始叢集多或少。程序中的步驟如下所示:

  1. 透過使用 restore-db-cluster-to-point-in-time CLI 命令來建立複製。

  2. 使用 create-db-instance CLI 命令建立複製的寫入器資料庫執行個體。

  3. (選用) 執行其他 create-db-instance CLI 命令,將一或多個讀取器執行個體新增至複製叢集。使用讀取器執行個體有助於改善複製的高可用性和讀取可擴展性。如果您只打算使用複製進行開發和測試,可以略過此步驟。

建立複製

使用 restore-db-cluster-to-point-in-time CLI 命令來建立初始複製叢集。

從來源 Aurora 資料庫叢集建立複製
  • 使用 restore-db-cluster-to-point-in-time CLI 命令。為下列參數指定值。在此典型情況下,複製會使用與原始叢集相同的引擎模式,無論是佈建或 Aurora Serverless v1。

    • --db-cluster-identifier – 為您的複製選擇一個有意義的名稱。在您使用 restore-db-cluster-to-point-in-time CLI 命令時,為複製命名。然後,您會在 create-db-instance CLI 命令中傳遞複製的名稱。

    • --restore-type – 使用 copy-on-write 來建立來源資料庫叢集的複製。如果沒有這個參數,restore-db-cluster-to-point-in-time 會還原 Aurora 資料庫叢集,而非建立複製。

    • --source-db-cluster-identifier – 使用您要複製之來源 Aurora 資料庫叢集的名稱。

    • --use-latest-restorable-time – 此值指向來源資料庫叢集的最新可還原磁碟區資料。使用它來建立複製。

下列範例會從名為 my-source-cluster 的叢集建立名為 my-clone 的複製。

對於 Linux、 macOS或 Unix:

aws rds restore-db-cluster-to-point-in-time \ --source-db-cluster-identifier my-source-cluster \ --db-cluster-identifier my-clone \ --restore-type copy-on-write \ --use-latest-restorable-time

在 Windows 中:

aws rds restore-db-cluster-to-point-in-time ^ --source-db-cluster-identifier my-source-cluster ^ --db-cluster-identifier my-clone ^ --restore-type copy-on-write ^ --use-latest-restorable-time

該命令會返回包含複製詳細資訊的 JSON 對象。在嘗試為複製建立資料庫執行個體之前,請檢查以確定您複製的資料庫叢集是否可用。如需詳細資訊,請參閱檢查狀態並取得複製詳細資訊

例如,假設您有一個想要複製的叢集名為 tpch100g。下列 Linux 範例會建立名為 的複製叢集tpch100g-clone、名為 的Aurora Serverless v2寫入器執行個體tpch100g-clone-instance,以及名為 tpch100g-clone-instance-2的佈建讀取器執行個體,以用於新叢集。

您不需要提供部分參數,例如 --master-username--master-user-password。Aurora 會自動從原始叢集中判斷這些參數。您確實需要指定要使用的資料庫引擎。因此,此範例會測試新叢集,以判斷 --engine 參數所要使用的正確值。

此範例也包含建立複製叢集時--serverless-v2-scaling-configuration的選項。如此一來,即使原始叢集未使用 ,您也可以將Aurora Serverless v2執行個體新增至複製Aurora Serverless v2。

$ aws rds restore-db-cluster-to-point-in-time \ --source-db-cluster-identifier tpch100g \ --db-cluster-identifier tpch100g-clone \ --serverless-v2-scaling-configuration MinCapacity=0.5,MaxCapacity=16 \ --restore-type copy-on-write \ --use-latest-restorable-time $ aws rds describe-db-clusters \ --db-cluster-identifier tpch100g-clone \ --query '*[].[Engine]' \ --output text aurora-mysql $ aws rds create-db-instance \ --db-instance-identifier tpch100g-clone-instance \ --db-cluster-identifier tpch100g-clone \ --db-instance-class db.serverless \ --engine aurora-mysql $ aws rds create-db-instance \ --db-instance-identifier tpch100g-clone-instance-2 \ --db-cluster-identifier tpch100g-clone \ --db-instance-class db.r6g.2xlarge \ --engine aurora-mysql
使用與來源 Aurora 資料庫叢集不同的引擎模式建立複製
  • 此程序僅適用於支援 的較舊引擎版本Aurora Serverless v1。假設您擁有 Aurora Serverless v1叢集,而且想要建立佈建叢集的複製。在這種情況下,請使用 restore-db-cluster-to-point-in-time CLI 命令,並指定與上一個範例中相似的參數值,加上下列其他參數:

    • --engine-mode – 此參數僅用於建立與來源 Aurora 資料庫叢集不同引擎模式的複製。此參數僅適用於支援 的較舊引擎版本Aurora Serverless v1。選擇要與以下 --engine-mode 一起傳遞的值:

      • 使用 --engine-mode provisioned 從 Aurora Serverless 資料庫叢集建立已佈建的 Aurora 資料庫叢集複製。

        注意

        如果您打算Aurora Serverless v2搭配從 複製的叢集使用 Aurora Serverless v1,您仍然會將複製的引擎模式指定為 provisioned。然後,您會在之後執行額外的升級和遷移步驟。

      • 使用 從佈建的 Aurora 資料庫叢集--engine-mode serverless建立Aurora Serverless v1複製。當您指定serverless引擎模式時,您也可以選擇 --scaling-configuration

    • --scaling-configuration – (選用) 使用 搭配 --engine-mode serverless來設定Aurora Serverless v1複製的最小和最大容量。如果您不使用此參數,Aurora 會使用資料庫引擎的預設Aurora Serverless v1容量值來建立Aurora Serverless v1複製。

下列範例my-clone會從名為 的Aurora Serverless v1資料庫叢集建立名為 的佈建複製my-source-cluster

對於 Linux、 macOS或 Unix:

aws rds restore-db-cluster-to-point-in-time \ --source-db-cluster-identifier my-source-cluster \ --db-cluster-identifier my-clone \ --engine-mode provisioned \ --restore-type copy-on-write \ --use-latest-restorable-time

在 Windows 中:

aws rds restore-db-cluster-to-point-in-time ^ --source-db-cluster-identifier my-source-cluster ^ --db-cluster-identifier my-clone ^ --engine-mode provisioned ^ --restore-type copy-on-write ^ --use-latest-restorable-time

這些命令會返回 JSON 對象,其會包含您需要用來建立資料庫執行個體的複製。在複製的狀態 (空白 Aurora 資料庫叢集) 的狀態為 可用 (Available) 之前,您無法執行該操作。

注意

restore-db-cluster-to-point-in-time AWS CLI 命令只會還原資料庫叢集,而不會還原該資料庫叢集的資料庫執行個體。您可以執行 create-db-instance 命令,為還原的資料庫叢集建立資料庫執行個體。使用該命令,您可以將還原的資料庫叢集的識別符指定為 --db-cluster-identifier 參數。只在 restore-db-cluster-to-point-in-time 命令完成且資料庫叢集可用時,您才能建立資料庫執行個體。

假設您從Aurora Serverless v1叢集開始,並打算將其遷移至Aurora Serverless v2叢集。您可以建立Aurora Serverless v1叢集的佈建複製,做為遷移中的初始步驟。如需完整程序,包括任何必要的版本升級,請參閱 從 升級 Aurora Serverless v1 叢集至 Aurora Serverless v2

檢查狀態並取得複製詳細資訊

您可以使用下列命令來檢查新建立的複製叢集狀態。

$ aws rds describe-db-clusters --db-cluster-identifier my-clone --query '*[].[Status]' --output text

或者,您可以使用下列 AWS CLI 查詢,取得建立複製資料庫執行個體所需的狀態和其他值。

對於 Linux、 macOS或 Unix:

aws rds describe-db-clusters --db-cluster-identifier my-clone \ --query '*[].{Status:Status,Engine:Engine,EngineVersion:EngineVersion,EngineMode:EngineMode}'

在 Windows 中:

aws rds describe-db-clusters --db-cluster-identifier my-clone ^ --query "*[].{Status:Status,Engine:Engine,EngineVersion:EngineVersion,EngineMode:EngineMode}"

此查詢會返回類似以下的內容:

[ { "Status": "available", "Engine": "aurora-mysql", "EngineVersion": "8.0.mysql_aurora.3.04.1", "EngineMode": "provisioned" } ]

建立您複製的 Aurora 資料庫執行個體

使用 create-db-instance CLI 命令,為您的 Aurora Serverless v2或佈建複製建立資料庫執行個體。您不會為Aurora Serverless v1複製建立資料庫執行個體。

資料庫執行個體會從來源資料庫叢集繼承 --master-username--master-user-password 屬性。

下列範例會建立佈建複製的資料庫執行個體。

對於 Linux、 macOS或 Unix:

aws rds create-db-instance \ --db-instance-identifier my-new-db \ --db-cluster-identifier my-clone \ --db-instance-class db.r6g.2xlarge \ --engine aurora-mysql

在 Windows 中:

aws rds create-db-instance ^ --db-instance-identifier my-new-db ^ --db-cluster-identifier my-clone ^ --db-instance-class db.r6g.2xlarge ^ --engine aurora-mysql

下列範例會為使用支援 Aurora Serverless v2 之引擎版本的複製建立資料庫執行個體Aurora Serverless v2。

對於 Linux、 macOS或 Unix:

aws rds create-db-instance \ --db-instance-identifier my-new-db \ --db-cluster-identifier my-clone \ --db-instance-class db.serverless \ --engine aurora-postgresql

在 Windows 中:

aws rds create-db-instance ^ --db-instance-identifier my-new-db ^ --db-cluster-identifier my-clone ^ --db-instance-class db.serverless ^ --engine aurora-mysql

用於複製的參數

下表摘要說明與 restore-db-cluster-to-point-in-time 搭配使用以複製 Aurora 資料庫叢集的各種參數。

參數 描述

--source-db-cluster-identifier

使用您要複製之來源 Aurora 資料庫叢集的名稱。

--db-cluster-identifier

當您使用 restore-db-cluster-to-point-in-time命令建立複製時,為您的複製選擇有意義的名稱。然後,您將此名稱傳遞給 create-db-instance 命令。

--restore-type

指定 copy-on-write--restore-type,以建立來源資料庫叢集的複製,而非還原來源 Aurora 資料庫叢集。

--use-latest-restorable-time

此值指向來源資料庫叢集的最新可還原磁碟區資料。使用它來建立複製。

--serverless-v2-scaling-configuration

(支援 的較新版本Aurora Serverless v2) 使用此參數來設定Aurora Serverless v2複製的最小和最大容量。如果您未指定此參數,則在修改叢集以新增此屬性之前,您無法在複製叢集中建立任何Aurora Serverless v2執行個體。

--engine-mode

(Aurora Serverless v1僅支援 的舊版本) 使用此參數來建立與來源 Aurora 資料庫叢集不同類型的複製,並具有下列其中一個值:

  • 使用 從Aurora Serverless v1資料庫叢集provisioned建立佈建複製。

  • 使用 從佈建或Aurora Serverless v2資料庫叢集serverless建立Aurora Serverless v1複製。

    當您指定serverless引擎模式時,您也可以選擇 --scaling-configuration

--scaling-configuration

(Aurora Serverless v1僅支援 的舊版本) 使用此參數來設定Aurora Serverless v1複製的最小和最大容量。如果您未指定此參數,Aurora 會使用資料庫引擎的預設容量值來建立複製。

如需有關跨 VPC 和跨帳戶複製的資訊,請參閱下列各節。

隱私權網站條款Cookie 偏好設定
© 2025, Amazon Web Services, Inc.或其附屬公司。保留所有權利。