複製 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 即可與來源區域通訊並完成複本作業。

對於之前未透過 CopyDBSnapshot 請求授權的資料庫快照,RDS 將無法存取。複製完成後,即會撤銷授權。

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 區域中的 AWS STS

使用自訂引擎版本 (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": "*" } ] }
注意

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

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

複製資料庫快照

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

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

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

Console

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

  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 (N. Virginia) 區域中,從美國西部 (奧勒岡) 區域複製到已加密的資料庫快照。在目的地 (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