為什麼我的跨帳戶複製在 AWS Backup 中失敗?

2 分的閱讀內容
0

我想要疑難排解跨帳戶複製工作失敗的原因。

簡短描述

若要疑難排解跨帳戶複製失敗,請驗證下列設定:

  • 確認您的來源和目的地帳戶屬於同一個 AWS Organization。
  • 確認資源類型支援指定 AWS 區域中的跨帳戶複製。
  • 驗證來源帳戶備份的加密準則。
  • 確認來源 AWS Key Management Service (AWS KMS) 金鑰政策允許目的地帳戶。
  • 確認目的地保管庫存取策略允許來源帳戶。
  • 驗證 AWS Organization 標籤政策組態。

解決方法

來源和目的地帳戶必須屬於相同 AWS Organization

如果您的來源和目的地帳戶不在同一個 AWS Organization 中,您可能會看到下列錯誤:

「複製工作失敗。來源與目的地帳戶都必須是相同組織的成員。」

跨帳戶複製支援的資源類型和 AWS 區域

確認跨帳戶備份支援您的資源,以及您選擇的 AWS 區域是否提供跨帳戶備份功能:

如果您的資源不支援同時執行跨區域和跨帳戶備份的單一複製動作,則您可能會看到下列錯誤:

「無法針對 RDS 資源起始將工作從 us-west-2 複製到 us-east-1。提供的資源類型不支援功能。」

下列服務不支援同時執行跨區域和跨帳戶備份的單一複製動作。您可以選擇跨區域或跨帳戶備份:

  • Amazon Relational Database Service (Amazon RDS)
  • Amazon Aurora
  • Amazon DocumentDB (with MongoDB compatibility)
  • Amazon Neptune

對於 Amazon DynamoDB,您必須開啟具有 AWS Backup 進階功能的 DynamoDB,才能執行跨帳戶備份。

來源 AWS 備份加密

對於非由 AWS Backup 完全管理的資源,備份會使用與來源資源相同的 KMS 金鑰。

對於由 AWS Backup 完全管理的資源,備份會使用備份保存庫的加密金鑰加密。

如需其他詳細資訊,請參閱 AWS Backup 中備份的加密

對於非 AWS 備份完全管理的資源,不支援使用 AWS 受管 KMS 金鑰進行跨帳戶複製。如需 AWS Backup 未完全管理的資源清單,請參閱按資源分類的功能可用性

如果您的跨帳戶備份任務因為使用 AWS 受管 KMS 金鑰而失敗,您可能會看到類似下列內容的錯誤訊息:

「複製工作失敗,因為目的地備份保管庫使用默認的備份服務託管密鑰進行加密。無法複製此保管庫的內容。只能複製由客戶主金鑰 (CMK) 加密的備份保管庫的內容。」

-或-

「使用 AWS 受管 CMK 加密的快照無法共用。指定另一個快照。(服務: AmazonEC2; 狀態碼: 400;錯誤代碼: 無效參數;請求 ID:; Proxy: null)」

您無法變更資源的加密金鑰。您必須使用其中一個備份重新建立資源。然後,在還原過程中,您可以將資源的加密金鑰變更為 AWS KMS 客戶受管金鑰。變更加密金鑰後,您可以執行資源的備份和跨帳戶複製。

來源 KMS 金鑰政策

若要在跨帳戶複製期間執行必要的密碼編譯作業,來源帳戶 KMS 金鑰政策必須允許 KMS 金鑰政策上的目的地帳戶。對於非由 AWS 備份完全管理的資源,來源 KMS 金鑰就是資源 KMS 金鑰。對於由 AWS Backup 完全管理的資源,來源 KMS 金鑰是備份保管庫金鑰。

如果來源帳戶 KMS 金鑰政策不允許目的地帳戶,則您會看到類似下列內容的錯誤:

「來源快照 KMS 密鑰不存在,未啟用或您沒有訪問它的權限」

-或-

「AMI 快照複製失敗,出現錯誤: 給定的密鑰 ID 無法訪問。您必須擁有預設 CMK 的 DescribeKey 權限。」

若要解決上述錯誤,您必須在來源 KMS 金鑰政策上允許目的地帳戶。這可讓目的地帳戶從來源帳戶提取備份。

若要允許 KMS 金鑰政策上的目的地帳戶,請使用類似下列範例的金鑰政策:

注意:若要使用此政策,請將來源帳戶 ID 取代為您的來源帳戶 AWS 帳戶 ID。此外,請將目的地帳戶 ID 取代為您的目的地帳戶 AWS 帳戶 ID。

{
  "Version": "2012-10-17",
  "Id": "cab-kms-key",
  "Statement": [
    {
      "Sid": "Enable IAM User Permissions",
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::SourceAccountID :root"
      },
      "Action": "kms:*",
      "Resource": "*"
    },
    {
      "Sid": "Allow use of the key",
      "Effect": "Allow",
      "Principal": {
        "AWS": [
          "arn:aws:iam::SourceAccountID :root",
          "arn:aws:iam::DestinationAccountID:root"
        ]
      },
      "Action": [
        "kms:DescribeKey",
        "kms:Encrypt",
        "kms:Decrypt",
        "kms:ReEncrypt*",
        "kms:GenerateDataKey",
        "kms:GenerateDataKeyWithoutPlaintext"
      ],
      "Resource": "*"
    },
    {
      "Sid": "Allow attachment of persistent resources",
      "Effect": "Allow",
      "Principal": {
        "AWS": [
          "arn:aws:iam::SourceAccountID:root",
          "arn:aws:iam::DestinationAccountID:root"
        ]
      },
      "Action": [
        "kms:CreateGrant",
        "kms:ListGrants",
        "kms:RevokeGrant"
      ],
      "Resource": "*",
      "Condition": {
        "Bool": {
          "kms:GrantIsForAWSResource": "true"
        }
      }
    }
  ]
}

目的地保管庫存取政策

如果目的地 AWS Backup 保管庫未與來源帳戶共用,則您可能會看到下列錯誤:

「拒絕存取嘗試呼叫 AWS Backup 服務」

若要解決此錯誤,請在目的地保管庫存取政策上允許您的來源帳戶。下列範例政策允許您的來源帳戶遵循目的地保管庫存取政策:

注意:若要使用此政策,請將來源帳戶 ID 取代為您的來源 AWS 帳戶 ID。

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::SourceAccountID:root"
      },
      "Action": "backup:CopyIntoBackupVault",
      "Resource": "*"
    }
  ]
}

AWS Organization 標籤政策

一般而言,AWS Backup 會將標籤從資源複製到您的復原點。例如,當您備份 Amazon Elastic Block Store (Amazon EBS) 磁碟區時,AWS 備份會將標籤複製到產生的快照。如需詳細資訊,請參閱將標籤複製到備份。

如果您的跨帳戶備份工作因為金鑰政策而失敗,您可能會看到類似下列的錯誤:

「由於內部故障,我們無法將資源標籤複製到您的備份」

-或-

「標籤政策不允許以下標籤鍵的指定值:'xyz'」

這些錯誤可能與 AWS Organization 的標籤政策有關,在該組織中將來源和目的地 AWS 帳戶新增為成員帳戶。如果您使用的是標籤政策,請驗證下列事項,以瞭解可能無法跨帳戶備份的問題:

AWS 官方
AWS 官方已更新 8 個月前