複製 Amazon 的資料庫快照 RDS - Amazon Relational Database Service

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

複製 Amazon 的資料庫快照 RDS

透過 Amazon RDS,您可以複製自動備份或手動資料庫快照。複製快照之後,副本即為手動快照。您可以製作自動備份或手動快照的多個複本,但每個複本都必須具有唯一的識別符。

您可以在相同的 中複製快照 AWS 區域,您可以在 中複製快照 AWS 區域,也可以複製共用快照。

複製資料庫快照

對於每個 AWS 帳戶,您一次最多可 AWS 區域 將 20 個資料庫快照從一個 複製到另一個 。如果您將資料庫快照複製到另一個 AWS 區域,則會建立保留在該 中的手動資料庫快照 AWS 區域。從來源複製資料庫快照 AWS 區域 會產生 Amazon RDS資料傳輸費用。

如需資料傳輸定價的詳細資訊,請參閱 Amazon RDS定價

在新 中建立資料庫快照複本之後 AWS 區域,資料庫快照複本的行為與該 中的所有其他資料庫快照相同 AWS 區域。

您可以使用 AWS Management Console、 AWS CLI或 複製資料庫快照RDSAPI。

下列程序會使用 ,在相同 AWS 區域 或跨 區域複製加密或未加密的資料庫快照 AWS Management Console。

複製資料庫快照
  1. 登入 AWS Management Console 並在 開啟 Amazon RDS主控台https://console.aws.amazon.com/rds/

  2. 在導覽窗格中,選擇 Snapshots (快照)。

  3. 選取您要複製的資料庫快照。

  4. 針對 Actions (動作) 選擇 Copy snapshot (複製快照)。

    Copy snapshot (複製快照) 頁面隨即出現。

    複製資料庫快照
  5. 針對 Target option group (optional) (目標選項群組(選用)),選擇新的選項群組 (如果需要的話)。

    如果您要從一個快照複製到 AWS 區域 另一個快照,且資料庫執行個體使用非預設選項群組,請指定此選項。

    如果您的來源資料庫執行個體使用 Oracle 或 Microsoft SQL Server 的透明資料加密,您必須在跨區域複製時指定此選項。如需詳細資訊,請參閱選項群組的考量

  6. (選用) 若要將資料庫快照複製到不同的 AWS 區域,請在目的地區域 中選擇新的 AWS 區域。

    注意

    目的地 AWS 區域 必須具有與來源 相同的資料庫引擎版本 AWS 區域。

  7. 針對 New DB snapshot identifier (新的資料庫快照識別符),輸入資料庫快照複本的名稱。

    您可以製作自動備份或手動快照的多個複本,但每個複本都必須具有唯一的識別符。

  8. (選用) 選取 Copy Tags (複製標籤),將快照中的標籤和值複製到快照的副本。

  9. (選用) 針對 Encryption (加密),執行下列動作:

    1. 如果資料庫快照未加密,但您想要將複本加密,請選擇 啟用加密

      注意

      如果資料庫快照已加密,您必須加密複本,才能勾選取核取方塊。

    2. 針對 AWS KMS key,指定用來加密資料庫快照複本的KMS金鑰識別符。

  10. 選擇 Copy Snapshot (複製快照)

您可以使用命令 複製資料庫快照 AWS CLI copy-db-snapshot。如果您要將快照複製到新的 AWS 區域,請在新的 中執行 命令 AWS 區域。

下列選項用來複製資料庫快照。並非所有情況需要使用所有選項。請根據下列描述和範例來決定要使用的選項。

  • --source-db-snapshot-identifier – 來源資料庫快照的識別符。

    • 如果來源快照與 AWS 區域 複本位於相同位置,請指定有效的資料庫快照識別符。例如:rds:mysql-instance1-snapshot-20130805

    • 如果來源快照與複本 AWS 區域 相同,且已與您的 共用 AWS 帳戶,請指定有效的資料庫快照 ARN。例如:arn:aws:rds:us-west-2:123456789012:snapshot:mysql-instance1-snapshot-20130805

    • 如果來源快照位於 AWS 區域 與複本不同的 中,請指定有效的資料庫快照 ARN。例如:arn:aws:rds:us-west-2:123456789012:snapshot:mysql-instance1-snapshot-20130805

    • 如果您從共用手動資料庫快照複製,此參數必須是共用資料庫快照的 Amazon Resource Name (ARN)。

    • 如果您要複製加密的快照,此參數必須是來源 的ARN格式 AWS 區域,而且必須與 PreSignedUrl 參數SourceDBSnapshotIdentifier中的 相符。

  • --target-db-snapshot-identifier – 加密資料庫快照之新副本的識別符。

  • --copy-option-group – 從已與您的 AWS 帳戶共用的快照中複製選項群組。

  • --copy-tags – 包含複製標籤選項,可將快照中的標籤和值複製到快照的副本。

  • --option-group-name – 要與快照的副本相關聯的選項群組。

    如果您要將快照從一個快照複製到 AWS 區域 另一個快照,且資料庫執行個體使用非預設選項群組,請指定此選項。

    如果您的來源資料庫執行個體使用 Oracle 或 Microsoft SQL Server 的透明資料加密,您必須在跨區域複製時指定此選項。如需詳細資訊,請參閱選項群組的考量

  • --kms-key-id – 加密資料庫快照的KMS金鑰識別符。KMS 金鑰識別符是KMS金鑰的 Amazon Resource Name (ARN)、金鑰識別符或金鑰別名。

    • 如果您從 複製加密的資料庫快照 AWS 帳戶,您可以指定此參數的值,以使用新KMS金鑰加密複本。如果您未指定此參數的值,則資料庫快照的複本會使用與來源資料庫快照相同的KMS金鑰加密。

    • 如果您複製從另一個 共用的加密資料庫快照 AWS 帳戶,則必須為此參數指定 值。

    • 如果您在複製未加密快照時指定此參數,則副本會進行加密。

    • 如果您將加密的快照複製到不同的 AWS 區域,則必須為目的地 指定KMS金鑰 AWS 區域。KMS 金鑰專屬於在 中建立 AWS 區域 的 ,您無法在另一個 AWS 區域 中使用來自另一個 的加密金鑰 AWS 區域。

範例 從未加密的快照,到相同區域

下列程式碼會以與 AWS 區域 來源快照mydbsnapshotcopy相同的名稱 建立快照的複本。建立複本時,原始快照上的資料庫選項群組和標籤都會複製到快照複本。

用於 Linux, macOS、 或 Unix:

aws rds copy-db-snapshot \ --source-db-snapshot-identifier arn:aws:rds:us-west-2:123456789012:snapshot:mysql-instance1-snapshot-20130805 \ --target-db-snapshot-identifier mydbsnapshotcopy \ --copy-option-group \ --copy-tags

用於 Windows:

aws rds copy-db-snapshot ^ --source-db-snapshot-identifier arn:aws:rds:us-west-2:123456789012:snapshot:mysql-instance1-snapshot-20130805 ^ --target-db-snapshot-identifier mydbsnapshotcopy ^ --copy-option-group ^ --copy-tags
範例 從未加密的快照,跨區域

下列程式碼會在執行 AWS 區域 命令的 中,建立快照的複本mydbsnapshotcopy,其中包含新名稱 。

用於 Linux, macOS、 或 Unix:

aws rds copy-db-snapshot \ --source-db-snapshot-identifier arn:aws:rds:us-east-1:123456789012:snapshot:mysql-instance1-snapshot-20130805 \ --target-db-snapshot-identifier mydbsnapshotcopy

用於 Windows:

aws rds copy-db-snapshot ^ --source-db-snapshot-identifier arn:aws:rds:us-east-1:123456789012:snapshot:mysql-instance1-snapshot-20130805 ^ --target-db-snapshot-identifier mydbsnapshotcopy
範例 從已加密的快照,跨區域

下列程式碼範例會在 US East (N. Virginia) 區域中,從 美國西部 (奧勒岡) 區域複製已加密的資料庫快照。在目的地 (us-east-1) 區域中執行命令。

用於 Linux, macOS、 或 Unix:

aws rds copy-db-snapshot \ --source-db-snapshot-identifier arn:aws:rds:us-west-2:123456789012:snapshot:mysql-instance1-snapshot-20161115 \ --target-db-snapshot-identifier mydbsnapshotcopy \ --kms-key-id my-us-east-1-key \ --option-group-name custom-option-group-name

用於 Windows:

aws rds copy-db-snapshot ^ --source-db-snapshot-identifier arn:aws:rds:us-west-2:123456789012:snapshot:mysql-instance1-snapshot-20161115 ^ --target-db-snapshot-identifier mydbsnapshotcopy ^ --kms-key-id my-us-east-1-key ^ --option-group-name custom-option-group-name

當您在 AWS GovCloud (美國東部) 和 AWS GovCloud (美國西部) 區域之間複製加密快照時,需要 --source-region 參數。若為 --source-region,請指定來源資料庫執行個體的 AWS 區域 。

若未指定 --source-region,請指定 --pre-signed-url 值。預先簽章URL是 URL,其中包含來源 中呼叫的copy-db-snapshot命令的簽章第 4 版簽章請求 AWS 區域。若要進一步了解 pre-signed-url選項,請參閱 命令參考 copy-db-snapshot 中的 。 AWS CLI

您可以使用 Amazon RDSAPI操作 CopyDBSnapshot 複製資料庫快照。如果您要將快照複製到新的 AWS 區域,請在新的 中執行 動作 AWS 區域。

下列參數用來複製資料庫快照。並非所有情況需要使用所有參數。請根據下列描述和範例來決定要使用的參數。

  • SourceDBSnapshotIdentifier – 來源資料庫快照的識別符。

    • 如果來源快照與 AWS 區域 複本位於相同位置,請指定有效的資料庫快照識別符。例如:rds:mysql-instance1-snapshot-20130805

    • 如果來源快照與複本 AWS 區域 相同,且已與您的 共用 AWS 帳戶,請指定有效的資料庫快照 ARN。例如:arn:aws:rds:us-west-2:123456789012:snapshot:mysql-instance1-snapshot-20130805

    • 如果來源快照位於 AWS 區域 與複本不同的 中,請指定有效的資料庫快照 ARN。例如:arn:aws:rds:us-west-2:123456789012:snapshot:mysql-instance1-snapshot-20130805

    • 如果您從共用手動資料庫快照複製,此參數必須是共用資料庫快照的 Amazon Resource Name (ARN)。

    • 如果您要複製加密的快照,此參數必須是來源 的ARN格式 AWS 區域,而且必須與 PreSignedUrl 參數SourceDBSnapshotIdentifier中的 相符。

  • TargetDBSnapshotIdentifier – 加密資料庫快照之新副本的識別符。

  • CopyOptionGroup – 將此參數設為 true,將共用快照中的選項群組複製到快照的複本。預設值為 false

  • CopyTags – 將此參數設為 true,將快照中的標籤和值複製到快照的副本。預設值為 false

  • OptionGroupName – 要與快照的副本相關聯的選項群組。

    如果您要從一個快照複製到 AWS 區域 另一個快照,且資料庫執行個體使用非預設選項群組,請指定此參數。

    如果您的來源資料庫執行個體使用 Oracle 或 Microsoft SQL Server 的透明資料加密,您必須在跨區域複製時指定此參數。如需詳細資訊,請參閱選項群組的考量

  • KmsKeyId – 加密資料庫快照的KMS金鑰識別碼。KMS 金鑰識別符是KMS金鑰的 Amazon Resource Name (ARN)、金鑰識別符或金鑰別名。

    • 如果您從 複製加密的資料庫快照 AWS 帳戶,您可以指定此參數的值,以使用新KMS金鑰加密複本。如果您未指定此參數的值,則資料庫快照的複本會使用與來源資料庫快照相同的KMS金鑰加密。

    • 如果您複製從另一個 共用的加密資料庫快照 AWS 帳戶,則必須為此參數指定 值。

    • 如果您在複製未加密快照時指定此參數,則副本會進行加密。

    • 如果您將加密的快照複製到不同的 AWS 區域,則必須為目的地 指定KMS金鑰 AWS 區域。KMS 金鑰專屬於在 中建立 AWS 區域 的 ,您無法在另一個 AWS 區域 中使用來自另一個 的加密金鑰 AWS 區域。

  • PreSignedUrl – URL包含簽章第 4 版簽署的請求,用於包含要複製之來源資料庫快照 AWS 區域 的來源中的CopyDBSnapshotAPI操作。

    當您 AWS 區域 使用 Amazon 從另一個資料庫快照複製加密的資料庫快照時,請指定此參數RDSAPI。當您使用 AWS CLI從另一個 AWS 區域 複製加密資料庫快照時,您可以指定來源區域選項,而非此參數。

    預先簽章URL必須是CopyDBSnapshotAPI操作的有效請求,可在 AWS 區域 包含要複製之加密資料庫快照的來源中執行。預先簽章URL的請求必須包含下列參數值:

    • DestinationRegion – 加密的資料庫快照將複製到 AWS 區域 其中。這 AWS 區域 與呼叫包含此預先簽章 CopyDBSnapshot的操作相同URL。

      例如,假設您將加密的資料庫快照從 us-west-2 區域複製到 us-east-1 區域。然後,您呼叫 us-east-1 區域中CopyDBSnapshot的操作,並提供預先簽章URL,其中包含對 us-west-2 區域中CopyDBSnapshot操作的呼叫。在此範例中,預先簽章DestinationRegion中的 URL 必須設定為 us-east-1 區域。

    • KmsKeyId – KMS金鑰的金鑰識別符,用於加密目的地 中的資料庫快照複本 AWS 區域。這與目的地 中呼叫CopyDBSnapshot的操作, AWS 區域以及預先簽章 中包含的操作相同的識別符URL。

    • SourceDBSnapshotIdentifier – 要複製之加密快照的資料庫快照識別符。此識別碼必須是來源 的 Amazon Resource Name (ARN) 格式 AWS 區域。例如,如果您從 us-west-2 區域複製加密的資料庫快照,則您的 SourceDBSnapshotIdentifier看起來如下所示:arn:aws:rds:us-west-2:123456789012:snapshot:mysql-instance1-snapshot-20161115

    如需 Signature 第 4 版所簽署之請求的詳細資訊,請參閱下列資訊:

範例 從未加密的快照,到相同區域

下列程式碼會以與 AWS 區域 來源快照mydbsnapshotcopy相同的名稱 建立快照的複本。建立副本時,原始快照的所有標籤會複製到快照副本。

https://rds.us-west-1.amazonaws.com/ ?Action=CopyDBSnapshot &CopyTags=true &SignatureMethod=HmacSHA256 &SignatureVersion=4 &SourceDBSnapshotIdentifier=mysql-instance1-snapshot-20130805 &TargetDBSnapshotIdentifier=mydbsnapshotcopy &Version=2013-09-09 &X-Amz-Algorithm=AWS4-HMAC-SHA256 &X-Amz-Credential=AKIADQKE4SARGYLE/20140429/us-west-1/rds/aws4_request &X-Amz-Date=20140429T175351Z &X-Amz-SignedHeaders=content-type;host;user-agent;x-amz-content-sha256;x-amz-date &X-Amz-Signature=9164337efa99caf850e874a1cb7ef62f3cea29d0b448b9e0e7c53b288ddffed2
範例 從未加密的快照,跨區域

下列程式碼會在 美國西部 (加州北部) 區域中使用新名稱 mydbsnapshotcopy 來建立快照的複本。

https://rds.us-west-1.amazonaws.com/ ?Action=CopyDBSnapshot &SignatureMethod=HmacSHA256 &SignatureVersion=4 &SourceDBSnapshotIdentifier=arn%3Aaws%3Ards%3Aus-east-1%3A123456789012%3Asnapshot%3Amysql-instance1-snapshot-20130805 &TargetDBSnapshotIdentifier=mydbsnapshotcopy &Version=2013-09-09 &X-Amz-Algorithm=AWS4-HMAC-SHA256 &X-Amz-Credential=AKIADQKE4SARGYLE/20140429/us-west-1/rds/aws4_request &X-Amz-Date=20140429T175351Z &X-Amz-SignedHeaders=content-type;host;user-agent;x-amz-content-sha256;x-amz-date &X-Amz-Signature=9164337efa99caf850e874a1cb7ef62f3cea29d0b448b9e0e7c53b288ddffed2
範例 從已加密的快照,跨區域

下列程式碼會在 US East (N. Virginia) 區域中使用新名稱 mydbsnapshotcopy 來建立快照的複本。

https://rds.us-east-1.amazonaws.com/ ?Action=CopyDBSnapshot &KmsKeyId=my-us-east-1-key &OptionGroupName=custom-option-group-name &PreSignedUrl=https%253A%252F%252Frds.us-west-2.amazonaws.com%252F %253FAction%253DCopyDBSnapshot %2526DestinationRegion%253Dus-east-1 %2526KmsKeyId%253Dmy-us-east-1-key %2526SourceDBSnapshotIdentifier%253Darn%25253Aaws%25253Ards%25253Aus-west-2%25253A123456789012%25253Asnapshot%25253Amysql-instance1-snapshot-20161115 %2526SignatureMethod%253DHmacSHA256 %2526SignatureVersion%253D4 %2526Version%253D2014-10-31 %2526X-Amz-Algorithm%253DAWS4-HMAC-SHA256 %2526X-Amz-Credential%253DAKIADQKE4SARGYLE%252F20161117%252Fus-west-2%252Frds%252Faws4_request %2526X-Amz-Date%253D20161117T215409Z %2526X-Amz-Expires%253D3600 %2526X-Amz-SignedHeaders%253Dcontent-type%253Bhost%253Buser-agent%253Bx-amz-content-sha256%253Bx-amz-date %2526X-Amz-Signature%253D255a0f17b4e717d3b67fad163c3ec26573b882c03a65523522cf890a67fca613 &SignatureMethod=HmacSHA256 &SignatureVersion=4 &SourceDBSnapshotIdentifier=arn%3Aaws%3Ards%3Aus-west-2%3A123456789012%3Asnapshot%3Amysql-instance1-snapshot-20161115 &TargetDBSnapshotIdentifier=mydbsnapshotcopy &Version=2014-10-31 &X-Amz-Algorithm=AWS4-HMAC-SHA256 &X-Amz-Credential=AKIADQKE4SARGYLE/20161117/us-east-1/rds/aws4_request &X-Amz-Date=20161117T221704Z &X-Amz-SignedHeaders=content-type;host;user-agent;x-amz-content-sha256;x-amz-date &X-Amz-Signature=da4f2da66739d2e722c85fcfd225dc27bba7e2b8dbea8d8612434378e52adccf

限制

以下是複製快照時的一些限制:

  • 您無法在中國 (北京) 或中國 (寧夏) 區域來回複製快照。

  • 您可以在 AWS GovCloud (美國東部) 和 AWS GovCloud (美國西部) 之間複製快照。不過,您無法在這些 GovCloud (美國) 區域與非 GovCloud (美國) 區域的區域之間複製快照。

  • 如果您在目標快照變成可用之前刪除來源快照,則快照副本可能會失敗。刪除來源快照之前,請確認目標快照的狀態為 AVAILABLE

  • 對於單一目的地區域,每一帳戶最多可有 20 個進行中的快照複製請求。

  • 當您為相同來源資料庫執行個體請求多個快照副本時,其將會在內部排隊。稍後請求的副本在先前的快照副本完成前將不會啟動。如需詳細資訊,請參閱 AWS Knowledge Center 中的為什麼我的 EC2AMI或EBS快照建立速度緩慢?

  • 根據 AWS 區域 所涉及的資料量和要複製的資料量,跨區域快照複本可能需要數小時才能完成。有時某個來源區域會出現大量跨區域快照複製請求。在這種情況下,Amazon RDS可能會將來自該來源區域的新跨區域複製請求放入佇列,直到某些進行中複製完成為止。位於佇列中的複製請求不會顯示進度資訊。複製開始時才會顯示進度資訊。

  • 當您啟動另一個複本時,如果某個複本仍處於待定狀態,則第二個複本在第一個複本完成之前不會開始。

  • 您無法複製多可用區域資料庫叢集的快照。

  • 您只能將使用 io2 磁碟區的資料庫執行個體快照複製到可使用 io2 Block Express 磁碟區 AWS 區域 的位置。如需詳細資訊,請參閱Amazon RDS 資料庫執行個體儲存體

考量事項

如需複製資料庫快照時的考量事項,請參閱下列主題。

快照保留

Amazon 會在下列幾種情況下RDS刪除自動備份:

  • 在其保留期結束時。

  • 在您停用資料庫執行個體的自動備份時。

  • 在您刪除資料庫執行個體時。

如果想要讓自動備份保留期間更長,請複製自動備份來建立手動快照,即可保留到您刪除為止。如果手動快照超過您的預設儲存空間,Amazon 儲存RDS成本可能會套用至這些快照。

如需備份儲存成本的詳細資訊,請參閱 Amazon RDS定價

共用快照複製的考量事項

您可以複製其他 共用給您的快照 AWS 帳戶。在某些情況下,您可能會複製已從另一個 共用的加密快照 AWS 帳戶。在這些情況下,您必須能夠存取 AWS KMS key 用來加密快照的 。

注意

Amazon RDS儲存成本適用於您複製的共用快照。Amazon RDS可能會將來源資料庫執行個體ARN的 連接至您複製的快照。

AWS 區域 如果未加密快照,您可以跨 複製共用資料庫快照。不過,如果共用資料庫快照已加密,則您只能在相同的區域中複製快照。

注意

未加密或使用與初始完整快照相同的KMS金鑰加密時, AWS 區域 支援在相同 中複製共用增量快照。如果您在複製後續快照時使用不同的KMS金鑰來加密它們,則這些共用快照是完整的快照。如需詳細資訊,請參閱增量快照複製的考量事項

加密快照複製的考量事項

您可以使用KMS金鑰複製已加密的快照。如果您複製加密快照,則快照的副本也必須加密。如果您在相同的 中複製加密的快照 AWS 區域,則可以使用與原始快照相同的KMS金鑰來加密複本。或者,您可以指定不同的KMS金鑰。

如果您跨區域複製加密快照,則必須在目的地 中指定有效的KMS金鑰 AWS 區域。它可以是區域特定的KMS金鑰,也可以是多區域金鑰。如需多區域KMS金鑰的詳細資訊,請參閱在 中使用多區域金鑰 AWS KMS

在整個複製過程中來源快照仍會保持加密狀態。如需更多詳細資訊,請參閱 Amazon RDS 加密資料庫執行個體的限制

您也可以將未加密快照的副本加密。這樣可以快速將加密新增至先前未加密的資料庫執行個體。若要完成此操作,當您準備好加密資料庫執行個體時,可以建立其快照。然後,您可以建立該快照的副本,並指定要加密該快照副本的KMS金鑰。之後,您可以從加密快照還原加密的資料庫執行個體。

如需 Amazon AWS KMS 金鑰管理的詳細資訊RDS,請參閱 AWS KMS key 管理

增量快照複製的考量事項

增量式快照僅含相同資料庫執行個體最近一次拍攝快照之後所變更的資料。增量式快照複製速度較快,而且儲存成本較完整的快照複製低。

快照複本是否為增量,取決於最近完成的快照複本和來源快照。如果刪除了最近的快照複本,下一個複本則會是完整複本,而不是增量式複本。快照複本將與來源快照的類型相同。如果來源快照是增量快照,則快照複本將是增量快照。

當您跨 複製快照時 AWS 帳戶,只有在符合下列所有條件時,複本才是增量複本:

  • 最新的快照複本屬於相同的來源資料庫執行個體,且仍然存在於目的地帳戶中。

  • 目的地帳戶中快照的所有複本都未加密,或使用相同的KMS金鑰加密。

  • 如果來源資料庫執行個體是多可用區域執行個體,則自上次擷取快照以來,尚未容錯移轉至另一個可用區域。

下列範例說明完整快照和增量快照之間的不同。這些範例同時適用於共用快照和非共用快照。

快照 加密金鑰 完整或增量快照
S1 K1 完整
S2 K1 S1 增量
S3 K1 S2 增量
S4 K1 S3 增量
S1 (S1C) 副本 K2 完整
S2 (S2C) 副本 K3 完整
S3 (S3C) 副本 K3 S2C 增量
S4 (S4C) 副本 K3 S3C 增量
S4 (S4C2) 副本 2 K4 完整
注意

在這些範例中,僅先前的快照仍存在時,快照 S2、S3 和 S4 才是增量快照。

這也適用於副本。僅先前的副本仍存在時,快照副本 S3C 和 S4C 才是增量快照。

如需跨 複製增量快照的資訊 AWS 區域,請參閱 完整複本和增量複本

跨區域快照複製的考量事項

您可跨 AWS 區域複製資料庫快照。但是,跨區域快照複製具有特定的限制和考量。

請求跨區域資料庫快照複本

若要與來源區域通訊以請求跨區域資料庫快照複本,請求者 (IAM 角色或IAM使用者) 必須具有來源資料庫快照和來源區域的存取權。

請求者IAM政策中的某些條件可能會導致請求失敗。以下範例假設您正在將資料庫快照從 美國東部 (俄亥俄) 複製到 US East (N. Virginia)。這些範例顯示請求者IAM政策中導致請求失敗的條件:

  • 請求者的政策具有 aws:RequestedRegion 的條件。

    ... "Effect": "Allow", "Action": "rds:CopyDBSnapshot", "Resource": "*", "Condition": { "StringEquals": { "aws:RequestedRegion": "us-east-1" } }

    由於政策不允許存取來源區域,請求失敗。若要成功請求,請同時指定來源區域和目的地區域。

    ... "Effect": "Allow", "Action": "rds:CopyDBSnapshot", "Resource": "*", "Condition": { "StringEquals": { "aws:RequestedRegion": [ "us-east-1", "us-east-2" ] } }
  • 請求者的政策不允許存取來源資料庫快照。

    ... "Effect": "Allow", "Action": "rds:CopyDBSnapshot", "Resource": "arn:aws:rds:us-east-1:123456789012:snapshot:target-snapshot" ...

    若要成功要求,請同時指定來源快照和目的地快照。

    ... "Effect": "Allow", "Action": "rds:CopyDBSnapshot", "Resource": [ "arn:aws:rds:us-east-1:123456789012:snapshot:target-snapshot", "arn:aws:rds:us-east-2:123456789012:snapshot:source-snapshot" ] ...
  • 請求者的政策拒絕 aws:ViaAWSService

    ... "Effect": "Allow", "Action": "rds:CopyDBSnapshot", "Resource": "*", "Condition": { "Bool": {"aws:ViaAWSService": "false"} }

    與來源區域的通訊是由 代表RDS請求者進行。對於成功的請求,請勿拒絕 AWS 服務發出的呼叫。

  • 請求者的政策具有 aws:SourceVpcaws:SourceVpce 的條件。

    這些請求可能會失敗,因為當 RDS 呼叫遠端區域時,它不是來自指定的 VPC或 VPC 端點。

如果您需要使用會導致請求失敗的先前條件之一,則可以在政策中包含 aws:CalledVia 的第二個陳述式,以使請求成功。例如,您可以如下所示使用 aws:CalledVia 搭配 aws:SourceVpce

... "Effect": "Allow", "Action": "rds:CopyDBSnapshot", "Resource": "*", "Condition": { "Condition" : { "ForAnyValue:StringEquals" : { "aws:SourceVpce": "vpce-1a2b3c4d" } } }, { "Effect": "Allow", "Action": [ "rds:CopyDBSnapshot" ], "Resource": "*", "Condition": { "ForAnyValue:StringEquals": { "aws:CalledVia": [ "rds.amazonaws.com" ] } } }

如需詳細資訊,請參閱 IAM 使用者指南 中的政策和許可IAM

授權快照複製

跨區域資料庫快照複本請求傳回 後success, 會在背景中RDS啟動複本。已建立 RDS 存取來源快照的授權。此授權會將來源資料庫快照連結至目標資料庫快照,並允許 RDS 僅複製到指定的目標快照。

使用服務連結IAM角色中的RDSrds:CrossRegionCommunication許可來驗證授權。如果複本已授權, 會與來源區域RDS通訊並完成複本。

RDS 無法存取先前未獲CopyDBSnapshot請求授權的資料庫快照。複製完成時,授權即會撤銷。

RDS 使用服務連結角色來驗證來源區域中的授權。如果您在複製程序期間刪除服務連結的角色,複本則會失敗。

如需詳細資訊,請參閱 IAM 使用者指南 中的使用服務連結角色

使用 AWS Security Token Service 憑證

來自全域 AWS Security Token Service (AWS STS) 端點的工作階段權杖僅在預設啟用 AWS 區域 的 (商業區域) 中有效。如果您使用 中assumeRoleAPI操作的憑證 AWS STS,如果來源區域是選擇加入區域,請使用區域端點。否則,請求將失敗。這是因為您的憑證在兩個 區域中都必須有效,只有在使用區域 AWS STS 端點時,選擇加入區域才適用。

若要使用全域端點,請確保操作時在這兩個區域均已將其啟用。在 AWS STS 帳戶設定中將全域端點設定為 Valid in all AWS 區域

相同的規則適用於預先簽章URL參數中的憑證。

如需詳細資訊,請參閱 IAM 使用者指南 中的管理 AWS STS AWS 區域

延遲和多個複製要求

跨區域快照複本可能需要數小時才能完成,具體取決於 AWS 區域 所涉及的資料量和要複製的資料量。

有時某個來源 AWS 區域會出現大量跨區域快照複製請求。在這種情況下,Amazon RDS可能會將來自該來源的新跨區域複本請求 AWS 區域 放入佇列,直到某些進行中複本完成為止。位於佇列中的複製請求不會顯示進度資訊。複製開始時才會顯示進度資訊。

完整複本和增量複本

當您將快照複製到 AWS 區域 與來源快照不同的 時,即使您複製增量快照,第一個複本還是完整的快照複本。完整的快照副本內含所有還原資料庫執行個體所需的資料及中繼資料。在第一個快照複製之後,您可以將相同資料庫執行個體的增量快照複製到相同 內的相同目的地區域 AWS 帳戶。如需增量快照的詳細資訊,請參閱增量快照複製的考量事項

未加密和加密的快照都 AWS 區域 支援跨 增量快照複製。

當您跨 複製快照時 AWS 區域,如果符合下列條件,則複本是增量複本:

  • 之前已將快照複製到目的地區域。

  • 最近的快照副本仍存在於目的地區域中。

  • 目的地區域中快照的所有複本都未加密,或使用相同的KMS金鑰加密。

選項群組的考量

資料庫選項群組專屬於在 中建立 AWS 區域 的 ,您無法在另一個 AWS 區域 中使用來自另一個 的選項群組 AWS 區域。

對於 Oracle 資料庫,您可以使用 AWS CLI 或 從已與 共用的快照RDSAPI複製自訂資料庫選項群組 AWS 帳戶。您只能複製相同 AWS 區域內的選項群組。如果選項群組已複製到目的地帳戶,且自複製之後未對其進行任何變更,則不會複製該選項群組。如果之前已複製來源選項群組,但自複製以來已變更, 會將新版本RDS複製到目的地帳戶。不會複製預設選項群組。

當您跨區域複製快照時,您可以為快照指定新的選項群組。建議在複製快照之前準備新的選項群組。在目的地 中 AWS 區域,建立與原始資料庫執行個體具有相同設定的選項群組。如果新 中已有 AWS 區域,您可以使用該 。

有時您可能會複製快照,而不是為快照指定新的選項群組。此時,在您還原快照時,資料庫執行個體會取得預設選項群組。如要提供原始的相同選項給新的資料庫執行個體,需要執行下列動作:

  1. 在目的地 中 AWS 區域,建立與原始資料庫執行個體具有相同設定的選項群組。如果新 中已有 AWS 區域,您可以使用該 。

  2. 在目的地 中還原快照後 AWS 區域,請修改新的資料庫執行個體,並從上一個步驟新增新的或現有的選項群組。

參數群組的考量事項

當您跨區域複製快照時,副本不包含原始資料庫執行個體所使用的參數群組。當您還原快照以建立新的資料庫執行個體時,該資料庫執行個體會取得 AWS 區域 其所建立之 的預設參數群組。如要提供原始的相同參數給新的資料庫執行個體,需要執行下列動作:

  1. 在目的地 中 AWS 區域,建立與原始資料庫執行個體具有相同設定的資料庫參數群組。如果新 中已有 AWS 區域,您可以使用該 。

  2. 在目的地 中還原快照後 AWS 區域,請修改新的資料庫執行個體,並從上一個步驟新增新的或現有的參數群組。