共享資料庫 快照 - Amazon Relational Database Service

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

共享資料庫 快照

使用 Amazon RDS 時,您可以透過下列方式共用手動資料庫快照:

  • 共用手動資料庫快照 (無論是加密還是未加密) 都可 AWS 帳戶 以授權複製快照。

  • 共用未加密的手動資料庫快照可讓授權直 AWS 帳戶 接從快照還原資料庫執行個體,而不是擷取該執行個體的副本並從中還原。但是,您無法從已共用又加密的資料庫快照來還原資料庫執行個體。不過,您可以複製資料庫快照,再從副本還原資料庫執行個體。

注意

若要共用自動資料庫快照,請複製該自動快照來建立手動資料庫快照,然後共用該複本。此程序也適用於 AWS Backup 產生的資源。

如需有關複製快照的詳細資訊,請參閱複製資料庫快照。如需有關從資料庫快照還原資料庫執行個體的詳細資訊,請參閱 還原至資料庫執行個體

您最多可與 20 個其他人共用手動快照 AWS 帳戶。

與其他人共用手動快照時,適用下列限制 AWS 帳戶:

  • 使用 AWS Command Line Interface (AWS CLI) 或 Amazon RDS API 從共用快照還原資料庫執行個體時,必須將共用快照的 Amazon 資源名稱 (ARN) 指定為快照識別碼。

  • 您無法共用使用具有永久或持久選項的選項群組的資料庫快照,但具有 TimezoneOLS 選項 (或兩者) 的 Oracle 資料庫執行個體除外。

    無法從選項群組中移除永久選項。將具有持續選項的選項群組指派給資料庫執行個體後,就無法從資料庫執行個體中移除此選項群組。

    下表列出永久和持續選項及其相關的資料庫引擎。

    選項名稱 持續 永久 資料庫引擎
    TDE Microsoft SQL Server Enterprise Edition
    TDE Oracle Enterprise Edition
    時區

    Oracle Enterprise Edition

    Oracle Standard Edition

    Oracle Standard Edition One

    甲骨文標準版 2

    針對 Oracle 資料庫執行個體,您可以複製具有 TimezoneOLS 選項 (或兩者) 的共用資料庫快照。作法是在您複製資料庫快照時,指定包含這些選項的目標選項群組。只有對執行 Oracle 12.2 版或更高版本的 Oracle 資料庫執行個體,OLS 才是永久和持續的選項。如需這些選項的詳細資訊,請參閱 Oracle 時區Oracle Label Security

  • 您無法共用異地同步備份資料庫叢集的快照。

共用快照

您可以使用 AWS Management Console、或 RDS API 共用 AWS CLI資料庫快照集。

使用 Amazon RDS 主控台,您最多可以共用 20 個手動資料庫快照 AWS 帳戶。您也可以使用主控台來停止將手動快照共用給一或多個帳戶。

使用 Amazon RDS 主控台來分享手動資料庫 快照
  1. 登入 AWS Management Console 並開啟 Amazon RDS 主控台,網址為 https://console.aws.amazon.com/rds/

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

  3. 選取您要共享的手動快照。

  4. 針對 Actions (動作),選擇 Share snapshot (共用快照)。

  5. DB snapshot visibility (資料庫快照可見度) 中,選擇下列其中一個選項。

    • 如果來源未加密,請選擇用以允許所有 AWS 帳戶從手動資料庫快照還原資料庫執行個體,或選擇「用」,僅 AWS 帳戶 允許您指定從手動資料庫快照還原資料庫執行個體。

      警告

      如果將資料庫快照可見性設定為 Public,則所有人都 AWS 帳戶 可以從手動資料庫快照還原資料庫執行個體,並可存取您的資料。請勿將任何包含私人資訊的手動資料庫快照以 Public (公有) 形式共用。

      如需詳細資訊,請參閱 共用公有快照

    • 如果來源資料庫叢集已加密,DB snapshot visibility (資料庫快照可見度) 會設為 Private (私有),因為加密快照無法以公有形式共用。

      注意

      使用預設值加密的快照 AWS KMS key 無法共用。如需如何解決此問題的相關資訊,請參閱共用加密快照

  6. AWS 帳戶 ID 中,輸入您要允許從手動快照還原資料庫執行個體的帳戶 AWS 帳戶 識別碼,然後選擇 [新增]。重複以上步驟以包含其他 AWS 帳戶 識別碼,最多 20 個 AWS 帳戶。

    如果您在將 AWS 帳戶 識別碼新增至允許的帳戶清單時發生錯誤,可以選擇錯誤 AWS 帳戶 識別碼右側的 [刪除],將其從清單中刪除。

    允 AWS 帳戶 許還原手動資料庫快照
  7. 新增所有要允許還原手動快照的識別碼之後,請選擇 [儲存] 以儲存變更。 AWS 帳戶

若要共享資料庫快照,請使用 aws rds modify-db-snapshot-attribute 命令。使用--values-to-add參數可新增授權可還原手動快照的 ID 清單。 AWS 帳戶

範例 與單一帳戶共用快照

下列範例會啟用 AWS 帳戶 識別碼123456789012來還原名為的資料庫快照集db7-snapshot

對於LinuxmacOS、或Unix:

aws rds modify-db-snapshot-attribute \ --db-snapshot-identifier db7-snapshot \ --attribute-name restore \ --values-to-add 123456789012

在 Windows 中:

aws rds modify-db-snapshot-attribute ^ --db-snapshot-identifier db7-snapshot ^ --attribute-name restore ^ --values-to-add 123456789012
範例 與多個帳戶共用快照

下列範例會啟用兩個 AWS 帳戶 識別碼,以111122223333444455556666還原名為的資料庫快照集manual-snapshot1

對於LinuxmacOS、或Unix:

aws rds modify-db-snapshot-attribute \ --db-snapshot-identifier manual-snapshot1 \ --attribute-name restore \ --values-to-add {"111122223333","444455556666"}

在 Windows 中:

aws rds modify-db-snapshot-attribute ^ --db-snapshot-identifier manual-snapshot1 ^ --attribute-name restore ^ --values-to-add "[\"111122223333\",\"444455556666\"]"
注意

使用 Windows 命令提示字元時,您必須在 JSON 程式碼中的雙引號 (") 開頭加上反斜線 (\),以逸出雙引號。

若要列出 AWS 帳戶 已啟用的還原快照,請使用describe-db-snapshot-attributes AWS CLI 指令。

您也可以使用 Amazon RDS API 與其他人共 AWS 帳戶 用手動資料庫快照。若要這樣做,請呼叫 ModifyDBSnapshotAttribute 作業。指定 restore forAttributeName,然後使用ValuesToAdd參數新增授權 AWS 帳戶 可還原手動快照的 ID 清單。

若要讓所有人都可以公開手動快照並可還原 AWS 帳戶,請使用值all。但是,請注意不要all為任何包含您不想提供給所有人使用的私人資訊的手動快照新增值 AWS 帳戶。另外,也不要對加密快照指定 all,因為不支援將這種快照變成公有。

若要列出所有 AWS 帳戶 允許還原快照的項目,請使用 DescribeDBSnapshotAttributesAPI 作業。

共用公有快照

您也可以將未加密的手動快照共用為公開,讓所有 AWS 帳戶人都可以使用快照。確保在公開共用快照時,公用快照中不包含您的任何私人資訊。

當快照集公開共用時,它會授予所有 AWS 帳戶 權限複製快照集以及從中建立資料庫執行個體。

您無需對其他帳戶所擁有的公有快照備份儲存支付費用。您只需為您擁有的快照付費。

若您複製公有快照,則您擁有該副本。您需要為快照副本的備份儲存支付費用。若您從公用快照建立一個資料庫執行個體,則需支付該資料庫執行個體的費用。如需 Amazon RDS 定價資訊,請參閱 Amazon RDS 產品頁面

您僅能刪除您擁有的公用快照。若要刪除共用或公用快照,請務必登入擁有 AWS 帳戶 該快照的快照。

檢視其他人擁有的公開快照 AWS 帳戶

您可以在 Amazon RDS 主控台的 [快照] 頁面的 [用] 索引標籤上,檢視特定 AWS 區域中其他帳戶擁有的公開快照。您的快照 (您帳戶擁有的快照) 不會顯示在此索引標籤上。

如要檢視公有快照
  1. 前往 https://console.aws.amazon.com/rds/,開啟 Amazon RDS 主控台。

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

  3. 選擇 Public (公有) 索引標籤。

    公有快照隨即顯示。您可在 Owner (擁有者) 資料欄中查看哪個帳戶擁有公有快照。

    注意

    您可能需要選取 Public snapshots (公用快照) 清單右上角的齒輪圖示來修改頁面偏好設定,以查看此資料欄。

檢視您自己的公有快照

您可以使用以下 AWS CLI 命令(僅限 Unix)來查看您在特定 AWS 區域 AWS 帳戶 中擁有的公共快照。

aws rds describe-db-snapshots --snapshot-type public --include-public | grep account_number

若您有公有快照,則傳回的輸出類似下列範例。

"DBSnapshotArn": "arn:aws:rds:us-east-1:123456789012:snapshot:mysnapshot1", "DBSnapshotArn": "arn:aws:rds:us-east-1:123456789012:snapshot:mysnapshot2",
注意

您可能會看到 DBSnapshotIdentifierSourceDBSnapshotIdentifier 的重複項目。

從已取代的資料庫引擎版本共用公開快

不支援從已取代的資料庫引擎版本還原或複製公用快照集。

適用於甲骨 PostgreSQL 和 RDS 的資料庫引擎支援直接升級資料庫快照引擎版本。您可以升級快照,然後公開重新共享它們。如需詳細資訊,請參閱下列內容:

對於其他資料庫引擎,請執行下列步驟,讓現有不受支援的公用快照集可用於還原或複製:

  1. 將快照標記為私人。

  2. 還原快照。

  3. 將還原的資料庫執行個體升級至支援的引擎版本。

  4. 建立新快照。

  5. 公開重新共用快照。

共用加密快照

您可共用已使用 AES-256 加密演算法來「靜態」加密的資料庫快照,如 加密 Amazon RDS 資源 所述。

共用加密快照有下列限制:

  • 您無法將加密快照以公有形式共用。

  • 您無法共用使用透明資料加密 (TDE) 所加密的 Oracle 或 Microsoft SQL Server 快照。

  • 您無法共用已使用共用快照的預設 KMS 金鑰加密的快照。 AWS 帳戶

若要解決預設 KMS 金鑰問題,請執行下列工作:

建立客戶管理的金鑰並授予存取權

首先,建立與加密資料庫快照相 AWS 區域 同的自訂 KMS 金鑰。在建立客戶管理的金鑰時,您可以為其他金鑰授予存取權 AWS 帳戶。

建立客戶管理的金鑰並授予其存取權
  1. AWS Management Console 從來源登入 AWS 帳戶。

  2. 請在以下位置開啟 AWS KMS 主控台。 https://console.aws.amazon.com/kms

  3. 若要變更 AWS 區域,請使用頁面右上角的「地區」選取器。

  4. 在導覽窗格中,選擇 Customer managed keys (客戶受管金鑰)。

  5. 選擇建立金鑰

  6. 在「設定」金鑰頁面上:

    1. 選取「稱」做為「金鑰類型」。

    2. 對於金鑰使用,請選取加密並解密

    3. 展開 Advanced options (進階選項)

    4. 對於金鑰材料來源,選取 KMS

    5. 對於「地區性」,選取「單一區域金鑰」。

    6. 選擇下一步

  7. 在「新增標籤」頁面上:

    1. 針對名,例如,輸入 KMS 金鑰的顯示名稱share-snapshot

    2. (選擇性) 輸入 KMS 金鑰的說明。

    3. (選擇性) 將標籤新增至您的 KMS 金鑰。

    4. 選擇下一步

  8. 定義金鑰管理許可頁面上,選擇下一步

  9. 在 [定義金鑰使用權限] 頁面上:

    1. 對於「其他」 AWS 帳戶,選擇「新增其他 AWS 帳戶」

    2. 輸入您要授與存取權的 ID。 AWS 帳戶

      您可以授予多個訪問權限 AWS 帳戶。

    3. 選擇下一步

  10. 檢閱您的 KMS 金鑰,然後選擇 [完成]。

從來源帳戶複製並共用快照

接下來,您可以使用客戶受管金鑰將來源資料庫快照複製到新的快照集。然後,您與目標共享它 AWS 帳戶。

複製和共用快照
  1. AWS Management Console 從來源登入 AWS 帳戶。

  2. 在以下位置打開 Amazon RDS 控制台 https://console.aws.amazon.com/rds/

  3. 在導覽窗格中,選擇快照

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

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

  6. 在 [複製快照] 頁面上:

    1. 在「目的地區域」中,選擇您 AWS 區域 在上一個程序中建立客戶管理金鑰的位置。

    2. 在新資料庫快照識別碼中輸入資料庫快照副本的名稱。

    3. 在中 AWS KMS key,選擇您建立的客戶管理金鑰。

      選擇客戶管理的金鑰。
    4. 選擇 Copy Snapshot (複製快照)

  7. 當快照複本可用時,請選取它。

  8. 針對 Actions (動作),選擇 Share snapshot (共用快照)。

  9. 在 [快照] 權限頁面上:

    1. 輸入您要與其共享快照副本的 AWS 帳戶 ID,然後選擇「新增」。

    2. 選擇儲存

    快照已共用。

複製目標帳戶中的共用快照

現在您可以複製目標中的共用快照 AWS 帳戶。

複製共用快照
  1. AWS Management Console 從目標登入 AWS 帳戶。

  2. 在以下位置打開 Amazon RDS 控制台 https://console.aws.amazon.com/rds/

  3. 在導覽窗格中,選擇快照

  4. 選擇 [與我共享] 索引標籤。

  5. 選取共用快照。

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

  7. 依照先前程序選擇複製快照的設定,但使用屬 AWS KMS key 於目標帳戶的設定。

    選擇 Copy Snapshot (複製快照)

停止快照共用

若要停止共用資料庫快照集,請從目標移除權限 AWS 帳戶。

若要停止與 AWS 帳戶
  1. 登入 AWS Management Console 並開啟 Amazon RDS 主控台,網址為 https://console.aws.amazon.com/rds/

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

  3. 選取您要停止共享的手動快照。

  4. 選擇 Actions (動作),然後選擇 Share snapshot (共用快照)。

  5. 若要移除的權限 AWS 帳戶,請從授權 AWS 帳戶清單中針對該帳戶的帳號識別碼選擇 [除]。

  6. 選擇儲存,以儲存變更。

若要從清單中移除 AWS 帳戶 識別碼,請使用--values-to-remove參數。

範例 停止快照共用

下列範例會防止 AWS 帳戶 識別碼 444455556666 還原快照集。

對於LinuxmacOS、或Unix:

aws rds modify-db-snapshot-attribute \ --db-snapshot-identifier manual-snapshot1 \ --attribute-name restore \ --values-to-remove 444455556666

在 Windows 中:

aws rds modify-db-snapshot-attribute ^ --db-snapshot-identifier manual-snapshot1 ^ --attribute-name restore ^ --values-to-remove 444455556666

若要移除的共用權限 AWS 帳戶,請使用AttributeName設定為restoreValuesToRemove參數的ModifyDBSnapshotAttribute作業。若要將手動快照標示為私有,請從 all 屬性的值清單移除 restore 值。