AWS Backup でクロスアカウントコピーが失敗するのはなぜですか?

所要時間3分
0

クロスアカウントコピージョブが失敗する理由をトラブルシューティングしたいと考えています。

簡単な説明

クロスアカウントコピーの失敗をトラブルシューティングするには、次の設定を確認してください。

  • コピー元アカウントとコピー先アカウントが同じ AWS Organization に属していること。
  • リソースタイプが指定した AWS リージョンでのクロスアカウントコピーをサポートしていること。
  • コピー元アカウントのバックアップの暗号化基準。
  • コピー元の AWS Key Management Service (AWS KMS) キーポリシーでコピー先アカウントが許可されていること。
  • コピー先のボールトアクセスポリシーがコピー元アカウントを許可していること。
  • AWS Organization のタグポリシー設定。

解決策

コピー元アカウントとコピー先アカウントが同じ AWS Organization に属している

コピー元アカウントとコピー先アカウントが同じ AWS Organization にない場合、次のエラーが表示されることがあります。

「Copy job failed.Both source and destination account must be a member of the same organization.」

クロスアカウントコピーでサポートされているリソースタイプと AWS リージョン

使用しているリソースがクロスアカウントバックアップに対応していること、および選択した AWS リージョンでクロスアカウントバックアップ機能が利用できることを確認します。

リソースが、クロスリージョンバックアップとクロスアカウントバックアップの両方を実行する単一のコピーアクションをサポートしていない場合、次のエラーが表示されることがあります。

「Copy job from us-west-2 to us-east-1 cannot be initiated for RDS resources.Feature is not supported for provided resource type.」

以下のサービスは、クロスリージョンバックアップとクロスアカウントバックアップの両方を実行する単一のコピーアクションをサポートしていません。クロスリージョンバックアップまたはクロスアカウントバックアップのいずれかを選択できます。

  • Amazon Relational Database Service (Amazon RDS)
  • Amazon Aurora
  • Amazon DocumentDB (MongoDB 互換)
  • Amazon Neptune

Amazon DynamoDB の場合、クロスアカウントバックアップを実行するには、AWS バックアップの高度な機能を備えた DynamoDB を有効にする必要があります。

コピー元の AWS Backup の暗号化

AWS Backup によるフルマネージドではないリソースの場合、バックアップはコピー元のリソースと同じ KMS キーを使用します。

AWS Backup によるフルマネージドのリソースの場合、バックアップはバックアップボールトの暗号化キーで暗号化されます。

詳細については、「AWS Backup のバックアップの暗号化」を参照してください。

AWS マネージド KMS キーによるクロスアカウントコピーは、AWS Backup によるフルマネージドではないリソースではサポートされていません。AWS Backup によるフルマネージドではないリソースのリストについては、「リソース別の機能の可用性」を参照してください。

AWS マネージド KMS キーを使用したためにクロスアカウントバックアップジョブが失敗した場合、次のようなエラーが表示されることがあります。

「Copy job failed because the destination Backup vault is encrypted with the default Backup service managed key.The contents of this vault cannot be copied.Only the contents of a Backup vault encrypted by a customer master key (CMK) may be copied.」

-または-

「Snapshots encrypted with the AWS Managed CMK can't be shared.Specify another snapshot.(Service: AmazonEC2; Status Code: 400; Error Code: InvalidParameter; Request ID: ; Proxy: null)」

リソースの暗号化キーは変更できません。バックアップのいずれかを使用してリソースを再作成する必要があります。その後、復元プロセス中に、リソースの暗号化キーを AWS KMS カスタマーマネージドキーに変更できます。暗号化キーを変更したら、リソースのバックアップとクロスアカウントコピーを実行できます。

コピー元の KMS キーポリシー

クロスアカウントコピー中に必要な暗号化操作を実行するには、コピー元アカウントの KMS キーポリシーで、コピー先アカウントを許可する必要があります。AWS Backup によるフルマネージドではないリソースの場合、コピー元の KMS キーはリソース KMS キーです。AWS Backup によるフルマネージドリソースの場合、コピー元の KMS キーはバックアップボールトキーです。

コピー元のソースアカウントの KMS キーポリシーでコピー先アカウントが許可されていない場合、次のようなエラーが表示されます。

「The source snapshot KMS key does not exist, is not enabled or you do not have permissions to access it」

-または-

「AMI snapshot copy failed with error: Given key ID is not accessible.You must have DescribeKey permissions on the default CMK.」

上記のエラーを解決するには、コピー元の KMS キーポリシーでコピー先アカウントを許可する必要があります。これにより、コピー先アカウントはコピー元アカウントからバックアップを取得できます。

KMS キーポリシーでコピー先アカウントを許可するには、次の例のようなキーポリシーを使用します。

メモ: このポリシーを使用するには、SourceAccountID をコピー元アカウントの AWS アカウント ID に置き換えてください。また、DestinationAccountID をコピー先アカウントの 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 サービスを呼び出そうとしてアクセスが拒否されました」

このエラーを解決するには、コピー先のボールトアクセスポリシーでコピー元アカウントを許可してください。次のポリシー例では、コピー先のボールトアクセスポリシーでコピー元アカウントを許可します。

メモ: このポリシーを使用するには、SourceAccountID をコピー元の 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 Backup は生成されるスナップショットにタグをコピーします。詳細については、「バックアップへのタグのコピー」を参照してください。

キーポリシーが原因でクロスアカウントバックアップジョブが失敗した場合、次のようなエラーが表示されることがあります。

「We are unable to copy resource tags to your backup because of the Internal Failure"

-または-

「The tag policy does not allow the specified value for the following tag key: 'xyz'」

これらのエラーは、コピー元とコピー先の AWS アカウントがメンバーアカウントとして追加されている AWS 組織のタグポリシーに関連している可能性があります。タグポリシーを使用している場合は、クロスアカウントバックアップを妨げる可能性のある問題がないか、次の点を確認してください。

AWS公式
AWS公式更新しました 10ヶ月前