複製 Amazon RDS Custom for SQL Server 資料庫快照 - Amazon Relational Database Service

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

複製 Amazon RDS Custom for SQL Server 資料庫快照

使用 RDS Custom for SQL Server,您可以複製自動備份和手動資料庫快照。複製快照後,您建立的複本是手動快照。您可以製作自動備份或手動快照的多個複本,但每個複本都必須有唯一的識別符。

您只能在可使用 RDS Custom for SQL Server 的不同 AWS AWS 區域 帳戶中複製快照。目前不支援下列操作:

  • 在相同 內複製資料庫快照 AWS 區域。

  • 跨帳戶複製資料庫快照 AWS 。

RDS Custom for SQL Server 支援增量快照複製。如需詳細資訊,請參閱增量快照複製的考量事項

限制

下列限制適用於複製 RDS Custom for SQL Server 的資料庫快照:

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

  • 您無法在資料庫快照複製請求中指定選項群組名稱或複製選項群組。

  • 如果您在複製程序之前或期間刪除來源資料庫快照的任何相依 AWS 資源,您的複製快照請求可能會以非同步方式失敗。

  • AWS 區域 目前不支援在相同 內複製資料庫快照。

  • 目前不支援跨 AWS 帳戶複製資料庫快照。

複製 Amazon RDS 資料庫快照的限制也適用於 RDS Custom for SQL Server。如需詳細資訊,請參閱限制

處理加密

所有 RDS Custom for SQL Server 資料庫執行個體和資料庫快照都會使用 KMS 金鑰加密。您只能將加密的快照複製到加密的快照,因此您必須 AWS 區域 為資料庫快照複製請求指定目的地中有效的 KMS 金鑰。

在整個複製過程中來源快照仍會保持加密狀態。Amazon RDS 使用信封加密,在具有指定目的地 AWS 區域 KMS 金鑰的複製操作期間保護資料。如需詳細資訊,請參閱《AWS Key Management Service 開發人員指南》中的封套加密

跨區域複製

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

授權 RDS 跨 進行通訊 AWS 區域 以進行快照複製

成功處理跨區域資料庫快照複製請求後,RDS 會開始複製。建立 RDS 存取來源快照的授權請求。此授權請求會將來源資料庫快照連結至目標資料庫快照。這可讓 RDS 僅複製到指定的目標快照。

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

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

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

如需詳細資訊,請參閱AWS Identity and Access Management 《 使用者指南》中的使用服務連結角色

使用 AWS Security Token Service 憑證

來自 global AWS Security Token Service (AWS STS) 端點的工作階段字符僅在預設啟用 AWS 區域 的 中有效 (商業區域)。如果您在 中使用來自 assumeRole API 操作的登入資料 AWS STS,如果來源區域是選擇加入區域,請使用區域端點。否則,請求將失敗。您的登入資料在兩個區域中都必須有效,只有在您使用區域 AWS STS 端點時,才適用於選擇加入區域。

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

如需詳細資訊,請參閱AWS Identity and Access Management 《 使用者指南AWS STS 》中的管理 AWS 區域

使用自訂引擎版本 (CEV) 建立的資料庫執行個體快照

對於使用自訂引擎版本 (CEV) 的資料庫執行個體的資料庫快照,RDS 會將 CEV 與資料庫快照建立關聯。若要跨 複製與 CEV 相關聯的來源資料庫快照 AWS 區域,RDS 會將 CEV 以及來源資料庫快照複製到目的地區域。

如果您要將與相同 CEV 相關聯的多個資料庫快照複製到相同的目的地區域,則第一個複製請求會複製相關聯的 CEV。下列請求的複製程序會尋找最初複製的 CEV,並將其與下列資料庫快照複本建立關聯。現有的 CEV 複本必須處於 AVAILABLE 狀態,才能與資料庫快照複本建立關聯。

若要複製與 CEV 相關聯的資料庫快照,請求者的 IAM 政策必須具有同時授權資料庫快照複製和相關聯 CEV 複製的許可。請求者的 IAM 政策需要下列許可,才能允許相關聯的 CEV 複製:

  • rds:CopyCustomDBEngineVersion - 您的申請者 IAM 主體需要具有將來源 CEV 與來源資料庫快照一起複製到目標區域的許可。如果您的請求者 IAM 主體未獲授權複製來源 CEV,則快照複製請求會因為授權錯誤而失敗。

  • ec2:CreateTags - 來源 CEV 的基礎 EC2 AMI 會複製到目標區域,做為 CEV 複本的一部分。RDS Custom 會在複製 AMI 之前嘗試使用 AWSRDSCustom標籤來標記 AMI。請確定您的請求者 IAM 主體具有針對來源區域中來源 CEV 基礎的 AMI 建立標籤的許可。

如需 CEV 複製許可的詳細資訊,請參閱 將所需的許可授予您的 IAM 主體

將所需的許可授予您的 IAM 主體

請確定您有足夠的存取權來複製 RDS Custom for SQL Server 資料庫快照。使用主控台或 CLI 複製資料庫快照的 IAM 角色或使用者 (稱為 IAM 主體) 必須具有下列任一政策,才能成功建立資料庫執行個體:

  • AdministratorAccess 政策或

  • 具有下列額外許可的 AmazonRDSFullAccess 政策:

    s3:CreateBucket s3:GetBucketPolicy s3:PutBucketPolicy kms:CreateGrant kms:DescribeKey ec2:CreateTags

RDS Custom 會在快照複製期間使用這些許可 AWS 區域。這些許可會設定您帳戶中 RDS Custom 操作所需的資源。如需 kms:CreateGrant 許可的詳細資訊,請參閱 AWS KMS key 管理

下列範例 JSON 政策會授予政策以外的必要許可AmazonRDSFullAccess

JSON
{ "Version": "2012-10-17", "Statement": [ { "Sid": "CreateS3BucketAndReadWriteBucketPolicy", "Effect": "Allow", "Action": [ "s3:CreateBucket", "s3:PutBucketPolicy", "s3:GetBucketPolicy" ], "Resource": "arn:aws:s3:::do-not-delete-rds-custom-*" }, { "Sid": "CreateKmsGrant", "Effect": "Allow", "Action": [ "kms:CreateGrant", "kms:DescribeKey" ], "Resource": "*" }, { "Sid": "CreateEc2Tags", "Effect": "Allow", "Action": [ "ec2:CreateTags" ], "Resource": "*" } ] }
注意

請確定列出的許可不受與 IAM 主體相關聯的服務控制政策 (SCPs)、許可界限或工作階段政策的限制。

如果您在請求者的 IAM 政策中使用條件與內容索引鍵,某些條件可能會導致請求失敗。如需 IAM 政策條件引起的常見陷阱的詳細資訊,請參閱 請求跨區域資料庫快照複本

複製資料庫快照

使用下列程序來複製資料庫快照。對於每個 AWS 帳戶,您一次最多可將 20 個資料庫快照從一個 AWS 區域 複製到另一個。如果您將資料庫快照複製到另一個快照 AWS 區域,您可以建立保留在該快照中的手動資料庫快照 AWS 區域。從來源複製資料庫快照 AWS 區域 會產生 Amazon RDS 資料傳輸費用。如需資料傳輸定價的詳細資訊,請參閱 Amazon RDS 定價

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

您可以使用 AWS Management Console AWS CLI或 Amazon RDS API 複製資料庫快照。

Console

下列程序會使用 複製 RDS Custom for SQL Server 資料庫快照 AWS Management Console。

  1. 登入 AWS Management Console ,並在 https://console.aws.amazon.com/rds/:// 開啟 Amazon RDS 主控台。

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

  3. 選取您要複製的 RDS Custom for SQL Server 資料庫快照。

  4. 動作下拉式清單中,選擇複製快照

    Amazon RDS 主控台中的複製快照頁面。設定會載入 頁面。
  5. 若要將資料庫快照複製到不同的 AWS 區域,請將目的地區域設定為所需的值。

    注意

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

  6. 針對新資料庫快照識別符,輸入資料庫快照的唯一名稱。您可以製作自動備份或手動快照的多個複本,但每個複本都必須有唯一的識別符。

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

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

    注意

    RDS Custom for SQL Server 會加密所有資料庫快照。您無法建立未加密的資料庫快照。

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

RDS Custom for SQL Server 會在您選取的 中建立資料庫執行個體 AWS 區域 的資料庫快照複本。

AWS CLI

您可以使用 AWS CLI 命令 複製 RDS Custom for SQL Server 資料庫快照copy-db-snapshot。如果您要將快照複製到新的 AWS 區域,請在新的 中執行 命令 AWS 區域。下列選項用來複製資料庫快照。並非所有情況需要使用所有選項。

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

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

  • --target-db-snapshot-identifier ‐ 資料庫快照新副本的識別符。

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

    • 如果您將加密的快照複製到不同的 AWS 區域,則必須指定目的地 AWS 區域的 KMS 金鑰。KMS 金鑰專屬於在 中建立 AWS 區域 的 ,除非使用多區域金鑰, AWS 區域 否則您無法在另一個 AWS 區域 中使用加密金鑰。如需多區域 KMS 金鑰的詳細資訊,請參閱使用 AWS KMS中的多區域金鑰

  • --copy-tags ‐ 包含來源快照到快照複本的標籤和值。

複製 RDS Custom for SQL Server 資料庫快照時不支援下列選項:

  • --copy-option-group

  • --option-group-name

  • --pre-signed-url

  • --target-custom-availability-zone

下列程式碼範例會將加密的資料庫快照從美國西部 (奧勒岡) 區域複製到美國東部 (維吉尼亞北部) 區域。在目的地 (us-east-1) 區域中執行命令。

針對 Linux、macOS 或 Unix:

aws rds copy-db-snapshot \ --region us-east-1 \ --source-db-snapshot-identifier arn:aws:rds:us-west-2:123456789012:snapshot:instance1-snapshot-12345678 \ --target-db-snapshot-identifier mydbsnapshotcopy \ --kms-key-id a1b2c3d4-1234-5678-wxyz-a1b2c3d4d5e6

針對 Windows:

aws rds copy-db-snapshot ^ --region us-east-1 ^ --source-db-snapshot-identifier arn:aws:rds:us-west-2:123456789012:snapshot:instance1-snapshot-12345678 ^ --target-db-snapshot-identifier mydbsnapshotcopy ^ --kms-key-id a1b2c3d4-1234-5678-wxyz-a1b2c3d4d5e6
RDS API

您可以使用 Amazon RDS API 操作 CopyDBSnapshot 複製 RDS Custom for SQL Server 資料庫快照。如果您要將快照複製到新的 AWS 區域,請在新的 AWS 區域中執行此動作。下列參數用來複製資料庫快照。並非所有參數都是必要的:

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

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

  • TargetDBSnapshotIdentifier ‐ 資料庫快照新副本的識別符。

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

    • 如果您將加密的快照複製到不同的 AWS 區域,則必須指定目的地 AWS 區域的 KMS 金鑰。KMS 金鑰專屬於在 中建立 AWS 區域 的 ,除非使用多區域金鑰, AWS 區域 否則您無法在另一個 AWS 區域 中使用加密金鑰。如需多區域 KMS 金鑰的詳細資訊,請參閱使用 AWS KMS中的多區域金鑰

  • CopyTags ‐ 將此參數設定為 true,將標籤和值從來源快照複製到快照的副本。預設值為 false

不支援下列選項複製 RDS Custom for SQL Server 資料庫快照:

  • CopyOptionGroup

  • OptionGroupName

  • PreSignedUrl

  • TargetCustomAvailabilityZone

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

https://rds.us-east-1.amazonaws.com/ ?Action=CopyDBSnapshot &KmsKeyId=a1b2c3d4-1234-5678-wxyz-a1b2c3d4d5e6 &SourceDBSnapshotIdentifier=arn%3Aaws%3Ards%3Aus-west-2%3A123456789012%3Asnapshot%3Ainstance1-snapshot-12345678 &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