

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

# 使用 的通知選項 AWS Backup
<a name="backup-notifications"></a>

有兩種方式可以接收有關 的通知 AWS Backup：
+ 使用者通知 可以傳送通知，包括 Amazon CloudWatch 警示 AWS 支援和其他服務的通知。
+ Amazon Simple Notification Service 可以通知您 AWS Backup 事件。

## 使用者通知 而且 AWS Backup
<a name="aws-backup-uno"></a>

AWS Backup 支援從 [使用者通知 主控台](https://console.aws.amazon.com//notifications/home?notifications#/notifications)管理您的備份通知。使用 [使用者通知](https://docs.aws.amazon.com/notifications/latest/userguide/getting-started.html)，您可以從使用者通知通知中心檢視備份、複製和還原任務的進度，以及備份政策、文件庫、復原點和設定的變更。

Amazon CloudWatch、Amazon EventBridge 警示和 AWS 支援 案例更新是您可以從主控台管理的其他類型通知。此外，您可以設定數個交付選項，包括電子郵件、聊天應用程式通知中的 Amazon Q Developer，以及 AWS Console Mobile Application 推送通知。

## Amazon SNS 和 AWS Backup 事件
<a name="backup-notifications-section"></a>

AWS Backup 利用 Amazon Simple Notification Service (Amazon SNS) 提供的強大通知。您可以將 Amazon SNS 設定為從 Amazon SNS 主控台通知您 AWS Backup 事件。

**限制**
+ 雖然 Amazon SNS 服務允許跨帳戶通知，但 AWS Backup 目前不支援此功能。您必須指定自己的 AWS 帳戶 ID 和主題的資源 ARN。
+ AWS Backup 支援 SNS 最佳重複資料刪除的標準主題，但目前 AWS Backup 不支援嚴格重複資料刪除的 SNS FIFO 主題。

### 常用案例
<a name="aws-backup-sns-console"></a>
+ 遵循[如何取得失敗任務的通知中的步驟，設定失敗備份 AWS Backup 任務的通知？](https://repost.aws/knowledge-center/aws-backup-failed-job-notification) 來自 AWS Premium Support。
+ 在下列事件資料表範例中，檢閱已完成、已失敗和已過期備份任務的 Amazon SNS 通知 JSON 範例。

如需 Amazon SNS 一般項目的詳細資訊，請參閱《*Amazon Simple Notification Service 開發人員指南*》中的 [Amazon SNS 入門](https://docs.aws.amazon.com/sns/latest/dg/sns-getting-started.html)。

### AWS Backup 通知 APIs
<a name="aws-backup-sns-apis"></a>

使用 Amazon SNS 主控台或 AWS Command Line Interface (AWS CLI) 建立主題後，您可以使用下列 AWS Backup API 操作來管理備份通知。
+ [DeleteBackupVaultNotifications](API_DeleteBackupVaultNotifications.md) — 刪除特定備份保存庫的事件通知。
+ [GetBackupVaultNotifications](API_GetBackupVaultNotifications.md) — 列出特定備份保存庫的所有事件通知。
+ [PutBackupVaultNotifications](API_PutBackupVaultNotifications.md) — 開啟特定主題與事件的通知。

AWS Backup 支援下列事件：


| 任務類型 | 事件 | 
| --- | --- | 
| 備份任務 | BACKUP\$1JOB\$1STARTED \$1 BACKUP\$1JOB\$1COMPLETED \$1 CONTINUOUS\$1BACKUP\$1INTERRUPTED | 
| 複製任務 | COPY\$1JOB\$1STARTED \$1 COPY\$1JOB\$1SUCCESSFUL \$1 COPY\$1JOB\$1FAILED | 
| 還原任務 | RESTORE\$1JOB\$1STARTED \$1 RESTORE\$1JOB\$1COMPLETED | 
| 復原點 | RECOVERY\$1POINT\$1MODIFIED | 
| 復原點索引 | RECOVERY\$1POINT\$1INDEX\$1COMPLETED \$1 RECOVERY\$1POINT\$1INDEX\$1DELETED \$1 RECOVERY\$1POINT\$1INDEXING\$1FAILED | 

AWS Backup for S3 支援兩個額外的事件：
+ 在備份任務期間，`S3_BACKUP_OBJECT_FAILED` 可通知您 AWS Backup 無法備份的任何 S3 物件。
+ 在還原任務期間，`S3_RESTORE_OBJECT_FAILED` 可通知您 AWS Backup 無法還原的任何 S3 物件。

AWS Backup for EKS 支援三個額外的事件：
+ `EKS_BACKUP_OBJECT_FAILED` 會通知您備份任務期間無法備份的任何 EKS 物件 AWS Backup 。
+ `EKS_RESTORE_OBJECT_FAILED` 會在還原任務期間通知您任何無法還原的 EKS 物件 AWS Backup 。
+ `EKS_RESTORE_OBJECT_SKIPPED` 會通知您在還原任務期間略過的任何 EKS 物件 AWS Backup 。

### 事件範例
<a name="sns-completed-backup-events"></a>



**Example 範例：備份任務已完成**  

```
{
    "Records": [{
        "EventSource": "aws:sns",
        "EventVersion": "1.0",
        "EventSubscriptionArn": "arn:aws:sns:...-a3802aa1ed45",
        "Sns": {
            "Type": "Notification",
            "MessageId": "12345678-abcd-123a-def0-abcd1a234567",
            "TopicArn": "arn:aws:sns:us-west-1:123456789012:backup-2sqs-sns-topic",
            "Subject": "Notification from AWS Backup",
            "Message": "An AWS Backup job was completed successfully. Recovery point ARN: arn:aws:ec2:us-west-1:123456789012:volume/vol-012f345df6789012d. Resource ARN : arn:aws:ec2:us-west-1:123456789012:volume/vol-012f345df6789012e. BackupJob ID : 1b2345b2-f22c-4dab-5eb6-bbc7890ed123",
            "Timestamp": "2019-08-02T18:46:02.788Z",
            ...
            "MessageAttributes": {
                "EventType": {"Type":"String","Value":"BACKUP_JOB"},
                "State": {"Type":"String","Value":"COMPLETED"},
                "AccountId": {"Type":"String","Value":"123456789012"},
                "Id": {"Type":"String","Value":"1b2345b2-f22c-4dab-5eb6-bbc7890ed123"},
                "StartTime": {"Type":"String","Value":"2019-09-02T13:48:52.226Z"}
            }
        }
    }]
}
```

**Example 範例：備份任務失敗**  

```
{
    "Records": [{
        "EventSource": "aws:sns",
        "EventVersion": "1.0",
        "EventSubscriptionArn": "arn:aws:sns:...-a3802aa1ed45",
        "Sns": {
            "Type": "Notification",
            "MessageId": "12345678-abcd-123a-def0-abcd1a234567",
            "TopicArn": "arn:aws:sns:us-west-1:123456789012:backup-2sqs-sns-topic",
            "Subject": "Notification from AWS Backup",
            "Message": "An AWS Backup job failed. Resource ARN : arn:aws:ec2:us-west-1:123456789012:volume/vol-012f345df6789012e. BackupJob ID : 1b2345b2-f22c-4dab-5eb6-bbc7890ed123",
            "Timestamp": "2019-08-02T18:46:02.788Z",
            ...
            "MessageAttributes": {
                "EventType": {"Type":"String","Value":"BACKUP_JOB"},
                "State": {"Type":"String","Value":"FAILED"},
                "AccountId": {"Type":"String","Value":"123456789012"},
                "Id": {"Type":"String","Value":"1b2345b2-f22c-4dab-5eb6-bbc7890ed123"},
                "StartTime": {"Type":"String","Value":"2019-09-02T13:48:52.226Z"}
            }
        }
    }]
}
```

**Example 範例：備份任務無法在備份時段完成**  

```
{
    "Records": [{
        "EventSource": "aws:sns",
        "EventVersion": "1.0",
        "EventSubscriptionArn": "arn:aws:sns:...-a3802aa1ed45",
        "Sns": {
            "Type": "Notification",
            "MessageId": "12345678-abcd-123a-def0-abcd1a234567",
            "TopicArn": "arn:aws:sns:us-west-1:123456789012:backup-2sqs-sns-topic",
            "Subject": "Notification from AWS Backup",
            "Message": "An AWS Backup job failed to complete in time. Resource ARN : arn:aws:ec2:us-west-1:123456789012:volume/vol-012f345df6789012e. BackupJob ID : 1b2345b2-f22c-4dab-5eb6-bbc7890ed123",
            "Timestamp": "2019-08-02T18:46:02.788Z",
            ...
            "MessageAttributes" : {
              "EventType" : {"Type":"String","Value":"BACKUP_JOB"},
              "State" : {"Type":"String","Value":"EXPIRED"},
              "AccountId" : {"Type":"String","Value":"123456789012"},
              "Id" : {"Type":"String","Value":"1b2345b2-f22c-4dab-5eb6-bbc7890ed123"},
              "StartTime" : {"Type":"String","Value":"2019-09-02T13:48:52.226Z"}
            }
        }
    }]
}
```

**Example 範例：復原點索引已完成**  

```
{
    "Records": [{
        "EventSource": "aws:sns",
        "EventVersion": "1.0",
        "EventSubscriptionArn": "arn:aws:sns:...-a3802aa1ed45",
        "Sns": {
            "Type": "Notification",
            "MessageId": "12345678-abcd-123a-def0-abcd1a234567",
            "TopicArn": "arn:aws:sns:us-west-1:123456789012:backup-2sqs-sns-topic",
            "Subject": "Notification from AWS Backup",
            "Message": "An AWS Backup backup index job was completed. Indexed recovery point arn: arn:aws:backup:us-west-2:1112233445566:recovery-point:abcd1234-5678-abcd-9012-abcdef123456",
            "Timestamp": "2025-05-25T18:46:02.788Z",
            ...
            "MessageAttributes" : {
              "EventType" : {"Type":"String","Value":"RECOVERY_POINT_INDEXING_COMPLETED"},
              "AccountId" : {"Type":"String","Value":"123456789012"},
              "IndexStatus" : {"Type":"String","Value":"ACTIVE"},
              "IsIndexingContinuous" : {"Type":"String","Value":"false"},
              "RecoveryPointArn" : {"Type":"String","Value":"arn:aws:backup:us-west-2:1112233445566:recovery-point:abcd1234-5678-abcd-9012-abcdef123456"}
            }
        }
    }]
}
```

**Example 範例：EKS 備份物件失敗**  

```
{
    "Records": [{
        "EventSource": "aws:sns",
        "EventVersion": "1.0",
        "EventSubscriptionArn": "arn:aws:sns:...-a3802aa1ed45",
        "Sns": {
            "Type": "Notification",
            "MessageId": "12345678-abcd-123a-def0-abcd1a234567",
            "TopicArn": "arn:aws:sns:us-west-1:123456789012:backup-2sqs-sns-topic",
            "Subject": "Notification from AWS Backup",
            "Message": "A Kubernetes resource failed to backup from your Amazon EKS Backup. Resource: example.resource.io/v1. EKS Cluster Name: eks-cluster-name. BackupJob ID: 1b2345b2-f22c-4dab-5eb6-bbc7890ed123",
            "Timestamp": "2025-05-25T18:46:02.788Z",
            ...
            "MessageAttributes" : {
              "eventType" : {"Type":"String","Value":"EKS_BACKUP_OBJECT_FAILED"},
              "backupJobId" : {"Type":"String","Value":"1b2345b2-f22c-4dab-5eb6-bbc7890ed123"},
              "clusterName" : {"Type":"String","Value":"eks-cluster-name"},
              "reason" : {"Type":"String","Value":"Example failure reason."},
              "resourceName" : {"Type":"String","Value":"example.resource.io/v1"}
            }
        }
    }]
}
```

**Example 範例：EKS 還原物件失敗**  

```
{
    "Records": [{
        "EventSource": "aws:sns",
        "EventVersion": "1.0",
        "EventSubscriptionArn": "arn:aws:sns:...-a3802aa1ed45",
        "Sns": {
            "Type": "Notification",
            "MessageId": "12345678-abcd-123a-def0-abcd1a234567",
            "TopicArn": "arn:aws:sns:us-west-1:123456789012:backup-2sqs-sns-topic",
            "Subject": "Notification from AWS Backup",
            "Message": "A Kubernetes resource failed to restore from your Amazon EKS Backup. Resource: apiextensions.k8s.io/v1/customresourcedefinitions. Resource Name: exampleresource. Destination EKS Cluster Name: eks-restore-target-cluster-name. RestoreJob ID: 1b2345b2-f22c-4dab-5eb6-bbc7890ed123",
            "Timestamp": "2025-05-25T18:46:02.788Z",
            ...
            "MessageAttributes" : {
              "eventType" : {"Type":"String","Value":"EKS_RESTORE_OBJECT_FAILED"},
              "clusterName" : {"Type":"String","Value":"eks-restore-target-cluster-name"},
              "parentRestoreJobId" : {"Type":"String","Value":"12345678-abcd-123a-def0-abcd1a234567"},
              "reason" : {"Type":"String","Value":"Example failure reason."},
              "resourceName" : {"Type":"String","Value":"exampleresourceio"},
              "resourceType" : {"Type":"String","Value":"apiextensions.k8s.io/v1/customresourcedefinitions"},
              "restoreJobId" : {"Type":"String","Value":"1b2345b2-f22c-4dab-5eb6-bbc7890ed123"}
            }
        }
    }]
}
```

**Example 範例：略過 EKS 還原物件**  

```
{
    "Records": [{
        "EventSource": "aws:sns",
        "EventVersion": "1.0",
        "EventSubscriptionArn": "arn:aws:sns:...-a3802aa1ed45",
        "Sns": {
            "Type": "Notification",
            "MessageId": "12345678-abcd-123a-def0-abcd1a234567",
            "TopicArn": "arn:aws:sns:us-west-1:123456789012:backup-2sqs-sns-topic",
            "Subject": "Notification from AWS Backup",
            "Message": "A Kubernetes resource was skipped from restore from your Amazon EKS Backup. This Kubernetes resource already exists in your target EKS cluster. Resource: apiextensions.k8s.io/v1/customresourcedefinitions. Resource Name: exampleresource. Destination EKS Cluster Name: eks-restore-target-cluster-name. RestoreJob ID: 1b2345b2-f22c-4dab-5eb6-bbc7890ed123",
            "Timestamp": "2025-05-25T18:46:02.788Z",
            ...
            "MessageAttributes" : {
              "eventType" : {"Type":"String","Value":"EKS_RESTORE_OBJECT_SKIPPED"},
              "clusterName" : {"Type":"String","Value":"eks-restore-target-cluster-name"},
              "parentRestoreJobId" : {"Type":"String","Value":"12345678-abcd-123a-def0-abcd1a234567"},
              "reason" : {"Type":"String","Value":"Already exists."},
              "resourceName" : {"Type":"String","Value":"exampleresource"},
              "resourceType" : {"Type":"String","Value":"apiextensions.k8s.io/v1/customresourcedefinitions"},
              "restoreJobId" : {"Type":"String","Value":"1b2345b2-f22c-4dab-5eb6-bbc7890ed123"}
            }
        }
    }]
}
```

### AWS Backup 通知命令範例
<a name="sns-cli-commands"></a>

您可以使用 AWS CLI 命令來訂閱、列出和刪除 AWS Backup 事件的 Amazon SNS 通知。

#### 開啟備份保存庫通知的範例
<a name="cli-put-vault-notification"></a>

下列命令能訂閱特定備份保存庫的 Amazon SNS 主題，該保存庫可在還原任務開始或完成，或者復原點有所變動時通知您。

```
aws backup put-backup-vault-notifications 
    --backup-vault-name myBackupVault 
    --sns-topic-arn arn:aws:sns:region:account-id:myBackupTopic
    --backup-vault-events RESTORE_JOB_STARTED RESTORE_JOB_COMPLETED RECOVERY_POINT_MODIFIED
```

#### 取得備份保存庫通知的範例
<a name="w2aac32c15b9c13b7"></a>

下列命令能列出目前訂閱特定備份保存庫 Amazon SNS 主題的所有事件。

```
aws backup get-backup-vault-notifications 
    --backup-vault-name myVault
```

輸出範例如下所示：

```
{
    "SNSTopicArn": "arn:aws:sns:region:account-id:myBackupTopic",
    "BackupVaultEvents": [
        "RESTORE_JOB_STARTED",
        "RESTORE_JOB_COMPLETED",
        "RECOVERY_POINT_MODIFIED"
    ],
    "BackupVaultName": "myVault",
    "BackupVaultArn": "arn:aws:backup:region:account-id:backup-vault:myVault"
}
```

#### 刪除備份保存庫通知的範例
<a name="w2aac32c15b9c13b9"></a>

下列命令能取消訂閱指定備份保存庫的 Amazon SNS 主題。

```
aws backup delete-backup-vault-notifications 
    --backup-vault-name myVault
```

### 將 指定 AWS Backup 為服務主體
<a name="specifying-aws-backup-as-a-service-principal"></a>

**注意**  
若要允許 代表您發佈 SNS 主題，您必須將 AWS Backup 指定 AWS Backup 為服務主體。

在用於追蹤 AWS Backup 事件的 Amazon SNS 主題的存取政策中包含下列 JSON。您必須指定該主題的資源 Amazon Resource Name (ARN)。

```
{
      "Sid": "My-statement-id",
      "Effect": "Allow",
      "Principal": {
        "Service": "backup.amazonaws.com"
      },
      "Action": "SNS:Publish",
      "Resource": "arn:aws:sns:region:account-id:myTopic"
}
```

如需在 Amazon SNS 存取政策中指定服務主體的詳細資訊，請參閱《*Amazon Simple Notification Service 開發人員指南*》中的[允許任何 AWS 資源發佈至主題](https://docs.aws.amazon.com/sns/latest/dg/AccessPolicyLanguage_UseCases_Sns.html#AccessPolicyLanguage_UseCase4_Sns)。

**注意**  
如果您的主題已加密，您必須在政策中包含其他許可， AWS Backup 以允許 發佈至該主題。如需啟用服務以發佈至加密主題的詳細資訊，請參閱《*Amazon Simple Notification Service 開發人員指南*》中的[啟用 AWS 來自服務和加密主題的事件來源之間的相容性](https://docs.aws.amazon.com//sns/latest/dg/sns-key-management.html#sns-what-permissions-for-sse)。