共享資料庫叢集快照 - Amazon Aurora

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

共享資料庫叢集快照

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

  • 共用手動資料庫叢集快照 (無論加密或未加密) 可讓授權的 AWS 帳戶複製快照。

  • 分享手動資料庫叢集快照 (無論加密或未加密) 可讓授權的 AWS 帳戶直接從快照還原資料庫叢集,而不需要先複製再還原。

注意

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

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

如需有關從資料庫叢集快照還原資料庫叢集的詳細資訊,請參閱備份與還原 Aurora 資料庫叢集的概觀

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

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

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

共用快照

您可以使用 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-cluster-snapshot-attribute 命令。使用--values-to-add參數可新增授權可還原手動快照的 ID 清單。 AWS 帳戶

範例 與單一帳戶共用快照

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

對於LinuxmacOS、或Unix:

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

在 Windows 中:

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

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

對於LinuxmacOS、或Unix:

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

在 Windows 中:

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

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

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

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

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

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

共用公有快照

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

當快照集公開共用時,它會 AWS 帳戶 授予所有複製快照集和從中建立資料庫叢集的權限。

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

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

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

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

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

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

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

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

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

    注意

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

檢視您自己的公有快照

您可以使用以下 AWS CLI 命令(僅適用 AWS 帳戶 於 Unix)來查看特定內容所擁有的公共快照 AWS 區域。

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

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

"DBClusterSnapshotArn": "arn:aws:rds:us-west-2:123456789012:cluster-snapshot:myclustersnapshot1", "DBClusterSnapshotArn": "arn:aws:rds:us-west-2:123456789012:cluster-snapshot:myclustersnapshot2",

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

不支援從已取代的資料庫引擎版本還原或複製公用快照集。若要讓現有不受支援的公用快照集可用於還原或複製,請執行下列步驟:

  1. 將快照標記為私人。

  2. 還原快照。

  3. 將還原的資料庫叢集升級至支援的引擎版本。

  4. 建立新快照。

  5. 公開重新共用快照。

共用加密快照

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

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

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

  • 您無法共用已使用共用快照的預設 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. New DB Snapshot Identifier (新的資料庫快照識別符) 中輸入資料庫叢集快照副本的名稱。

    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-cluster-snapshot-attribute \ --db-cluster-snapshot-identifier manual-cluster-snapshot1 \ --attribute-name restore \ --values-to-remove 444455556666

在 Windows 中:

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

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