

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Amazon EBS 用 Amazon EventBridge イベント
<a name="ebs-cloud-watch-events"></a>

Amazon EBS は、ボリュームとスナップショットに対して実行されたアクションのイベントを Amazon EventBridge に送信します。EventBridge を使用することで、これらのイベントに対応するプログラム的なアクションをトリガーするルールを設定できます。例えば、スナップショットの高速復元が有効になったときに電子メールに通知を送信するルールを作成できます。

EventBridge でのイベントは、JSON オブジェクトとして表されます。イベント固有のフィールドは、JSON オブジェクトの「detail (詳細)」セクションに表示されます。「event」 フィールドにはイベント名が入ります。「result」 フィールドには、イベントをトリガーしたアクションの完了したステータスが入ります。詳細については、「*Amazon EventBridge ユーザーガイド*」の「[Amazon EventBridge のイベントパターン](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-event-patterns.html)」を参照してください。

詳細については、*Amazon EventBridge ユーザーガイド*の「[What Is Amazon EventBridge?](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-what-is.html)」を参照してください。

**Topics**
+ [EBS ボリュームイベント](#volume-events)
+ [EBS ボリューム初期化イベント](#volume-initialization-events)
+ [EBS ボリュームの変更イベント](#volume-modification-events)
+ [EBS スナップショットイベント](#snapshot-events)
+ [EBS スナップショットのアーカイブイベント](#snapshot-archive-events)
+ [EBS 高速スナップショット復元イベント](#fast-snapshot-restore-events)
+ [AWS Lambda を使用して EventBridge イベントを処理する](using_lambda.md)

## EBS ボリュームイベント
<a name="volume-events"></a>

Amazon EBS は、次のボリュームイベントが発生したときに、EventBridge にイベントを送信します。

**Topics**
+ [createVolume](#create-volume)
+ [deleteVolume](#delete-volume)
+ [attachVolume](#attach-fail-key)
+ [detachVolume](#detach-volume)

### ボリュームの作成 (createVolume)
<a name="create-volume"></a>

`createVolume` イベントは、ボリュームを作成するアクションが完了すると AWS アカウントに送信されます。ただし、保存、ログ記録、アーカイブはされません。このイベントの結果は、`available` または `failed` のいずれかです。以下の例に示すように、無効な AWS KMS key が指定されている場合、作成は失敗します。

**イベントデータ**  
以下に示すのは、`createVolume` イベントが正常に完了したときに EBS から出力される JSON オブジェクトの例です。

```
{
   "version": "0",
   "id": "{{01234567}}-{{0123}}-{{0123}}-{{0123}}-{{012345678901}}",
   "detail-type": "EBS Volume Notification",
   "source": "aws.ec2",
   "account": "{{012345678901}}",
   "time": "{{yyyy}}-{{mm}}-{{dd}}T{{hh}}:{{mm}}:{{ss}}Z",
   "region": "{{us-east-1}}",
   "resources": [
      "arn:aws:ec2:{{us-east-1}}:{{012345678901}}:volume/vol-{{01234567}}"
   ],
   "detail": {
      "result": "available",
      "cause": "",
      "event": "createVolume",
      "request-id": "{{01234567}}-{{0123}}-{{0123}}-{{0123}}-{{0123456789ab}}"
   }
}
```

以下に示すのは、`createVolume` が失敗したときに EBS から出力される JSON オブジェクトの例です。失敗の原因は無効な KMS キー です。

```
{
  "version": "0",
  "id": "{{01234567}}-{{0123}}-{{0123}}-{{0123}}-{{0123456789ab}}",
  "detail-type": "EBS Volume Notification",
  "source": "aws.ec2",
  "account": "{{012345678901}}",
  "time": "{{yyyy}}-{{mm}}-{{dd}}T{{hh}}:{{mm}}:{{ss}}Z",
  "region": "{{sa-east-1}}",
  "resources": [
    "arn:aws:ec2:{{sa-east-1}}:{{0123456789ab}}:volume/vol-{{01234567}}",
  ],
  "detail": {
    "event": "createVolume",
    "result": "failed",
    "cause": "arn:aws:kms:{{sa-east-1}}:{{0123456789ab}}:key/{{01234567}}-{{0123}}-{{0123}}-{{0123}}-{{0123456789ab}} is disabled.",
    "request-id": "{{01234567}}-{{0123}}-{{0123}}-{{0123}}-{{0123456789ab}}",
  }
}
```

以下に示すのは、`createVolume` イベントが失敗した後で EBS から出力される JSON オブジェクトの例です。失敗の原因は、KMS キー の保留中のインポートです。

```
{  
  "version": "0",  
  "id": "{{01234567}}-{{0123}}-{{0123}}-{{0123}}-{{0123456789ab}}",  
  "detail-type": "EBS Volume Notification",  
  "source": "aws.ec2",  
  "account": "{{012345678901}}",  
  "time": "{{yyyy}}-{{mm}}-{{dd}}T{{hh}}:{{mm}}:{{ss}}Z",  
  "region": "{{sa-east-1}}",  
  "resources": [    
    "arn:aws:ec2:{{sa-east-1}}:{{0123456789ab}}:volume/vol-{{01234567}}",  
  ],  
  "detail": {    
    "event": "createVolume",    
    "result": "failed",    
    "cause": "arn:aws:kms:{{sa-east-1}}:{{0123456789ab}}:key/{{01234567}}-{{0123}}-{{0123}}-{{0123}}-{{0123456789ab}} is pending import.",    
    "request-id": "{{01234567}}-{{0123}}-{{0123}}-{{0123}}-{{0123456789ab}}",  
  }
}
```

### ボリュームの削除 (deleteVolume)
<a name="delete-volume"></a>

`deleteVolume` イベントは、ボリュームを削除するアクションが完了すると AWS アカウントに送信されます。ただし、保存、ログ記録、アーカイブはされません。このイベントの結果は `deleted` です。削除が完了しない場合、イベントは送信されません。

**イベントデータ**  
以下に示すのは、`deleteVolume` イベントが正常に完了したときに EBS から出力される JSON オブジェクトの例です。

```
{
   "version": "0",
   "id": "{{01234567}}-{{0123}}-{{0123}}-{{0123}}-{{012345678901}}",
   "detail-type": "EBS Volume Notification",
   "source": "aws.ec2",
   "account": "{{012345678901}}",
   "time": "{{yyyy}}-{{mm}}-{{dd}}T{{hh}}:{{mm}}:{{ss}}Z",
   "region": "{{us-east-1}}",
   "resources": [
      "arn:aws:ec2:{{us-east-1}}:{{012345678901}}:volume/vol-{{01234567}}"
   ],
   "detail": {
      "result": "deleted",
      "cause": "",
      "event": "deleteVolume",
      "request-id": "{{01234567}}-{{0123}}-{{0123}}-{{0123}}-{{0123456789ab}}"
   }
}
```

### ボリュームのアタッチまたは再アタッチ (attachVolume、reattachVolume)
<a name="attach-fail-key"></a>

インスタンスにボリュームがアタッチまたは再アタッチされたときに、`attachVolume` または `reattachVolume` イベントが AWS アカウントに送信されます。ただし、保存、ログ記録、アーカイブはされません。次の例に示すように、KMS キー を使用して EBS ボリュームを暗号化し、KMS キー が無効になった場合、インスタンスへのアタッチまたは再アタッチにその KMS キー が後で使用されると、EBS はイベントを出力します。

**イベントデータ**  
以下に示すのは、`attachVolume` が失敗したときに EBS から出力される JSON オブジェクトの例です。失敗の原因は、KMS キー の保留中の削除です。

**注記**  
AWS は、定期的なサーバーメンテナンス後にボリュームへの再アタッチを試みることがあります。

```
{
  "version": "0",    
  "id": "{{01234567}}-{{0123}}-{{0123}}-{{0123}}-{{0123456789ab}}",
  "detail-type": "EBS Volume Notification",
  "source": "aws.ec2",
  "account": "{{012345678901}}",
  "time": "{{yyyy}}-{{mm}}-{{dd}}T{{hh}}:{{mm}}:{{ss}}Z",
  "region": "{{us-east-1}}",
  "resources": [
  "arn:aws:ec2:{{us-east-1}}:{{0123456789ab}}:volume/vol-{{01234567}}",
  "arn:aws:kms:{{us-east-1}}:{{0123456789ab}}:key/{{01234567}}-{{0123}}-{{0123}}-{{0123}}-{{0123456789ab}}"
  ],
  "detail": {
    "event": "attachVolume",
    "result": "failed",
    "cause": "arn:aws:kms:{{us-east-1}}:{{0123456789ab}}:key/{{01234567}}-{{0123}}-{{0123}}-{{0123}}-{{0123456789ab}} is pending deletion.",
    "request-id": ""
  }
}
```

以下に示すのは、`reattachVolume` が失敗したときに EBS から出力される JSON オブジェクトの例です。失敗の原因は、KMS キー の保留中の削除です。

```
{
  "version": "0",    
  "id": "{{01234567}}-{{0123}}-{{0123}}-{{0123}}-{{0123456789ab}}",
  "detail-type": "EBS Volume Notification",
  "source": "aws.ec2",
  "account": "{{012345678901}}",
  "time": "{{yyyy}}-{{mm}}-{{dd}}T{{hh}}:{{mm}}:{{ss}}Z",
  "region": "{{us-east-1}}",
  "resources": [
  "arn:aws:ec2:{{us-east-1}}:{{0123456789ab}}:volume/vol-{{01234567}}",
  "arn:aws:kms:{{us-east-1}}:{{0123456789ab}}:key/{{01234567}}-{{0123}}-{{0123}}-{{0123}}-{{0123456789ab}}"
  ],
  "detail": {
    "event": "reattachVolume",
    "result": "failed",
    "cause": "arn:aws:kms:{{us-east-1}}:{{0123456789ab}}:key/{{01234567}}-{{0123}}-{{0123}}-{{0123}}-{{0123456789ab}} is pending deletion.",
    "request-id": ""
  }
}
```

### デタッチボリューム (detachVolume)
<a name="detach-volume"></a>

`detachVolume` イベントは、ボリュームが Amazon EC2 インスタンスからデタッチされると、 AWS アカウントに送信されます。

**イベントデータ**  
以下に、正常な `detachVolume` イベントの例を示します。

```
{
  "version":"0",
  "id":"{{2ec37298-1234-e436-70fc-c96b1example}}",
  "detail-type":"AWS API Call via CloudTrail",
  "source":"aws.ec2",
  "account":"{{123456789012}}",
  "time":"{{2024-03-18T16:35:52Z}}",
  "region":"{{us-east-1}}",
  "resources":[],
  "detail":
  {
    "eventVersion":"1.09",
    "userIdentity":
    {
      "type":"IAMUser",
      "principalId":"{{AIDAJT12345SQ2EXAMPLE}}",
      "arn":"{{arn:aws:iam::123456789012:user/administrator"}},
      "accountId":"{{123456789012"}},
      "accessKeyId":"{{AKIAJ67890A6EXAMPLE"}},
      "userName":"{{administrator}}"
    },
    "eventTime":"{{2024-03-18T16:35:52Z}}",
    "eventSource":"ec2.amazonaws.com",
    "eventName":"DetachVolume",
    "awsRegion":"{{us-east-1}}",
    "sourceIPAddress":"{{12.12.123.12}}",
    "userAgent":"aws-cli/2.7.12 Python/3.9.11 Windows/10 exe/AMD64 prompt/off command/ec2.detach-volume",
    "requestParameters":
    {
      "volumeId":"{{vol-072577c46bexample}}",
      "force":false
    },
    "responseElements":
    {
      "requestId":"{{1234513a-6292-49ea-83f8-85e95example}}",
      "volumeId":"{{vol-072577c46bexample}}",
      "instanceId":"{{i-0217f7eb3dexample}}",
      "device":"{{/dev/sdb}}",
      "status":"detaching",
      "attachTime":{{1710776815000}}
    },
    "requestID":"{{1234513a-6292-49ea-83f8-85e95example}}",
    "eventID":"{{1234551d-a15a-43eb-9e69-c983aexample}}",
    "readOnly":false,
    "eventType":"AwsApiCall",
    "managementEvent":true,
    "recipientAccountId":"{{123456789012}}",
    "eventCategory":"Management",
    "tlsDetails":
    {
      "tlsVersion":"TLSv1.3",
      "cipherSuite":"TLS_AES_128_GCM_SHA256",
      "clientProvidedHostHeader":"{{ec2.us-east-1.amazonaws.com}}"
    }
  }
}
```

## EBS ボリューム初期化イベント
<a name="volume-initialization-events"></a>

スナップショットから Amazon EBS ボリュームを作成し、デフォルトのボリューム初期化レートまたはボリューム初期化の Amazon EBS プロビジョンドレートを使用すると、ボリュームの初期化が完了してから 5 分以内に`initializeVolume`イベントが AWS アカウントに送信されます。詳細については、「[ボリューム初期化に Amazon EBS プロビジョンドレートを使用する](initalize-volume.md#volume-initialization-rate)」を参照してください。

高速スナップショット復元を使用して作成されたボリュームの場合、イベントは送信**されません**。

**重要**  
`completionTime` には、イベントの生成日時が反映されます。イベントは初期化の完了後 5 分以内に生成されるため、`completionTime` は初期化の完了後 5 分以内の日時となります。

以下に示しているのは、イベントの例です。

```
{
   "version": "0",
   "id": "{{01234567-0123-0123-0123-012345678901}}",
   "detail-type": "EBS Volume Notification",
   "source": "aws.ec2",
   "account": "{{012345678901}}",
   "time": "{{yyyy-mm-ddThh:mm:ssZ}}",
   "region": "{{us-east-1}}",
   "resources": [
      "{{arn:aws:ec2:us-east-1:012345678901:volume/vol-01234567890abcdef}}"
   ],
   "detail": {
      "event": " initializeVolume",
      "result": "succeeded",
      "completionTime": "{{yyyy-mm-ddThh:mm:ssZ}}",
      "request-id": "{{01234567-0123-0123-0123-0123456789ab}}"
   }
}
```

## EBS ボリュームの変更イベント
<a name="volume-modification-events"></a>

Amazon EBS は、ボリュームが変更されると、EventBridge に `modifyVolume` イベントを送信します。ただし、保存、ログ記録、アーカイブはされません。

```
{
   "version": "0",
   "id": "{{01234567}}-{{0123}}-{{0123}}-{{0123}}-{{012345678901}}",
   "detail-type": "EBS Volume Notification",
   "source": "aws.ec2",
   "account": "{{012345678901}}",
   "time": "{{yyyy}}-{{mm}}-{{dd}}T{{hh}}:{{mm}}:{{ss}}Z",
   "region": "{{us-east-1}}",
   "resources": [
      "arn:aws:ec2:{{us-east-1}}:{{012345678901}}:volume/vol-{{03a55cf56513fa1b6}}"
   ],
   "detail": {
      "result": "{{optimizing}}",
      "cause": "",
      "event": "modifyVolume",
      "request-id": "{{01234567}}-{{0123}}-{{0123}}-{{0123}}-{{0123456789ab}}"
   }
}
```

## EBS スナップショットイベント
<a name="snapshot-events"></a>

Amazon EBS は、次のボリュームイベントが発生したときに、EventBridge にイベントを送信します。

**Topics**
+ [createSnapshot](#create-snapshot-complete)
+ [createSnapshots](#create-snapshots-complete)
+ [copySnapshot](#copy-snapshot-complete)
+ [shareSnapshot](#snapshot-shared)

### スナップショットの作成 (createSnapshot)
<a name="create-snapshot-complete"></a>

スナップショットを作成するアクションが完了すると、`createSnapshot`イベントが AWS アカウントに送信されます。ただし、保存、ログ記録、アーカイブはされません。このイベントの結果は、`succeeded` または `failed` のいずれかです。

**イベントデータ**  
以下に示すのは、`createSnapshot` イベントが正常に完了したときに EBS から出力される JSON オブジェクトの例です。`detail` セクションで、`source` フィールドにはソースボリュームの ARN が入ります。`startTime` フィールドと `endTime` フィールドは、スナップショット作成の開始時間と終了時間を示します。

```
{
  "version": "0",
  "id": "{{01234567}}-{{0123}}-{{0123}}-{{0123}}-{{012345678901}}",
  "detail-type": "EBS Snapshot Notification",
  "source": "aws.ec2",
  "account": "{{012345678901}}",
  "time": "{{yyyy}}-{{mm}}-{{dd}}T{{hh}}:{{mm}}:{{ss}}Z",
  "region": "{{us-east-1}}",
  "resources": [
     "arn:aws:ec2::{{us-west-2}}:snapshot/snap-{{01234567}}"
  ],
  "detail": {
    "event": "createSnapshot",
    "result": "succeeded",
    "cause": "",
    "request-id": "",
    "snapshot_id": "arn:aws:ec2::{{us-west-2}}:snapshot/snap-{{01234567}}",
    "source": "arn:aws:ec2::{{us-west-2}}:volume/vol-{{01234567}}",
    "startTime": "{{yyyy}}-{{mm}}-{{dd}}T{{hh}}:{{mm}}:{{ss}}Z",
    "endTime": "{{yyyy}}-{{mm}}-{{dd}}T{{hh}}:{{mm}}:{{ss}}Z"  }
}
```

### スナップショットの作成 (createSnapshots)
<a name="create-snapshots-complete"></a>

マルチボリュームスナップショットを作成するアクションが完了すると、`createSnapshots`イベントが AWS アカウントに送信されます。このイベントの結果は、`succeeded` または `failed` のいずれかです。

**イベントデータ**  
以下に示すのは、`createSnapshots` イベントが正常に完了したときに EBS から出力される JSON オブジェクトの例です。`detail` セクションで、`source` フィールドには、マルチボリュームスナップショットセットのソースボリュームの ARN が入ります。`startTime` フィールドと `endTime` フィールドは、スナップショット作成の開始時間と終了時間を示します。

```
{
  "version": "0",
  "id": "{{01234567-0123-0123-0123-012345678901}}",
  "detail-type": "EBS Multi-Volume Snapshots Completion Status",
  "source": "aws.ec2",
  "account": "{{012345678901}}",
  "time": "{{yyyy}}-{{mm}}-{{dd}}T{{hh}}:{{mm}}:{{ss}}Z",
  "region": "{{us-east-1}}",
  "resources": [
    "arn:aws:ec2::{{us-east-1}}:snapshot/snap-{{01234567}}",
    "arn:aws:ec2::{{us-east-1}}:snapshot/snap-{{012345678}}"
  ],
  "detail": {
    "event": "createSnapshots",
    "result": "succeeded",
    "cause": "",
    "request-id": "",
    "startTime": "{{yyyy}}-{{mm}}-{{dd}}T{{hh}}:{{mm}}:{{ss}}Z",
    "endTime": "{{yyyy}}-{{mm}}-{{dd}}T{{hh}}:{{mm}}:{{ss}}Z",
    "snapshots": [
      {
        "snapshot_id": "arn:aws:ec2::{{us-east-1}}:snapshot/snap-{{01234567}}",
        "source": "arn:aws:ec2::{{us-east-1}}:volume/vol-{{01234567}}",
        "status": "completed"
      },
      {
        "snapshot_id": "arn:aws:ec2::{{us-east-1}}:snapshot/snap-{{012345678}}",
        "source": "arn:aws:ec2::{{us-east-1}}:volume/vol-{{012345678}}",
        "status": "completed"
      }
    ]
  }
}
```

以下に示すのは、`createSnapshots` が失敗したときに EBS から出力される JSON オブジェクトの例です。失敗の原因は、マルチボリュームのスナップショットセットの 1 つ以上のスナップショットが完了しなかったことです。`snapshot_id` の値は、失敗したスナップショットの ARN です。`startTime` と `endTime` は、スナップショットを作成するアクションの開始時間と終了時間を表します。

```
{
  "version": "0",
  "id": "{{01234567-0123-0123-0123-012345678901}}",
  "detail-type": "EBS Multi-Volume Snapshots Completion Status",
  "source": "aws.ec2",
  "account": "{{012345678901}}",
  "time": "{{yyyy-mm-ddThh:mm:ssZ}}",
  "region": "{{us-east-1}}",
  "resources": [
    "arn:aws:ec2::{{us-east-1}}:snapshot/{{snap-01234567}}",
    "arn:aws:ec2::{{us-east-1}}:snapshot/{{snap-012345678}}"
  ],
"detail": {
    "event": "createSnapshots",
    "result": "failed",
    "cause": "Snapshot snap-01234567 is in status error",
   "request-id": "",
    "startTime": "{{yyyy-mm-ddThh:mm:ssZ}}",
    "endTime": "{{yyyy-mm-ddThh:mm:ssZ}}",
    "snapshots": [
      {
        "snapshot_id": "arn:aws:ec2::{{us-east-1}}:snapshot/{{snap-01234567}}",
        "source": "arn:aws:ec2::{{us-east-1}}:volume/{{vol-01234567}}",
        "status": "error"
      },
      {
        "snapshot_id": "arn:aws:ec2::{{us-east-1}}:snapshot/{{snap-012345678}}",
        "source": "arn:aws:ec2::{{us-east-1}}:volume/{{vol-012345678}}",
        "status": "error"
      }
    ]
  }
}
```

### スナップショットのコピー (copySnapshot)
<a name="copy-snapshot-complete"></a>

スナップショットをコピーするアクションが完了すると、`copySnapshot`イベントが AWS アカウントに送信されます。ただし、保存、ログ記録、アーカイブはされません。このイベントの結果は、`succeeded` または `failed` のいずれかです。

`detail` セクションでは、`source` はソーススナップショットの ARN であり、`snapshot_id` はスナップショットコピーの ARN です。`startTime` と `endTime` は、コピーオペレーションがいつ開始および終了したかを示します。`incremental` は、スナップショットコピーが増分スナップショット (`true`) であるか、完全なスナップショット (`false`) であるかを示します。`transferType` は、スナップショットコピーオペレーションが標準のコピーオペレーションであるか、時間ベースのコピーオペレーションであるかを示します。詳細については、「[Amazon EBS スナップショットと EBS-backed AMI の時間ベースのコピー](time-based-copies.md)」を参照してください。

スナップショットをリージョン間でコピーしている場合、イベントは送信先のリージョンで発生します。

**シナリオ 1: 標準のスナップショットコピーオペレーションが完了した**  
以下は、標準のスナップショットコピーオペレーションが正常に完了したときにアカウントに送信されるイベントの例です。`transferType` は `standard` に設定されています。

```
{
  "version": "0",
  "id": "{{01234567}}-{{0123}}-{{0123}}-{{0123}}-{{012345678901}}",
  "detail-type": "EBS Snapshot Notification",
  "source": "aws.ec2",
  "account": "{{123456789012}}",
  "time": "{{yyyy}}-{{mm}}-{{dd}}T{{hh}}:{{mm}}:{{ss}}Z",
  "region": "{{us-east-1}}",
  "resources": [
    "arn:aws:ec2::{{us-west-2}}:snapshot/snap-{{01234567}}"
  ],
  "detail": {
    "event": "copySnapshot",
    "result": "succeeded",
    "cause": "",
    "request-id": "",
    "snapshot_id": "arn:aws:ec2::{{us-west-2}}:snapshot/snap-{{01234567}}",
    "source": "arn:aws:ec2::{{eu-west-1}}:snapshot/snap-{{76543210}}",
    "startTime": "{{yyyy}}-{{mm}}-{{dd}}T{{hh}}:{{mm}}:{{ss}}Z",
    "endTime": "{{yyyy}}-{{mm}}-{{dd}}T{{hh}}:{{mm}}:{{ss}}Z",
    "incremental": "true",
    "transferType": "standard"
  }
}
```

**シナリオ 2: 時間ベースのスナップショットコピーオペレーションが完了期間内に完了した**  
以下は、時間ベースのスナップショットコピーオペレーションが完了期間内に完了したときにアカウントに送信されるイベントの例です。`transferType` が `time-based` になっており、これは時間ベースのスナップショットコピーオペレーションであることを示します。`completionDurationStartTime` は完了期間がいつ開始されたかを示します。

```
{
  "version": "0",
  "id": "{{01234567}}-{{0123}}-{{0123}}-{{0123}}-{{012345678901}}",
  "detail-type": "EBS Snapshot Notification",
  "source": "aws.ec2",
  "account": "{{123456789012}}",
  "time": "{{yyyy}}-{{mm}}-{{dd}}T{{hh}}:{{mm}}:{{ss}}Z",
  "region": "{{us-east-1}}",
  "resources": [
    "arn:aws:ec2::{{us-west-2}}:snapshot/snap-{{01234567}}"
  ],
  "detail": {
    "event": "copySnapshot",
    "result": "succeeded",
    "cause": "",
    "request-id": "",
    "startTime": "{{yyyy}}-{{mm}}-{{dd}}T{{hh}}:{{mm}}:{{ss}}Z",
    "endTime": "{{yyyy}}-{{mm}}-{{dd}}T{{hh}}:{{mm}}:{{ss}}Z",
    "snapshot_id": "arn:aws:ec2::{{us-west-2}}:snapshot/snap-{{01234567}}",
    "source": "arn:aws:ec2::{{eu-west-1}}:snapshot/snap-{{76543210}}",
    "incremental": "true", 
    "completionDurationStartTime":"2024-11-16T06:27:33.816Z",
    "transferType": "time-based"
  }
}
```

**シナリオ 3: 時間ベースのスナップショットコピーオペレーションは完了したが、リクエストされた完了期間内に完了しなかった**  
時間ベースのスナップショットコピーオペレーションが完了したが、リクエストされた完了期間内に完了しなかった場合、CloudWatch は 2 つのイベントをアカウントに送信します。以下に、これらのイベントの例を示します。
+ 1 つ目のイベントは、コピーオペレーションがまだ進行中であっても、完了期間が経過するとすぐにアカウントに送信されます。このイベントの場合、`detail-type` は `EBS Copy Snapshot Missed Completion Duration` であり、`missedCompletionDurationCause` はその理由を示します。

  ```
  {
   "version":"0",
   "id":"{{fd90eb95-0938-e02c-cf55-b81363b8ac12}}",
   "detail-type":"EBS Copy Snapshot Missed Completion Duration",
   "source":"aws.ec2",
   "account":"{{123456789012}}",
   "time":"{{2024-11-19T18:17:08Z}}",
   "region":"{{us-east-1}}",
   "resources": ["arn:aws:ec2:{{us-east-1}}:{{123456789012}}:snapshot/{{snap-01234567890abcedf}}"],
   "detail":{
     "event":"copySnapshot",
     "missedCompletionDurationCause":"{{Snapshot copy was not able to meet the specified completion duration because your snapshot copy operation throughput quota was exceeded.}}",
     "snapshot_id":"arn:aws:ec2:{{us-east-1}}:{{123456789012}}:snapshot/{{snap-01234567890abcedf}}",
     "source":"arn:aws:ec2:{{us-east-1}}:{{123456789012}}:snapshot/{{snap-00987654321fedcba}}",
     "startTime": "{{Sun Nov 24 22:32:55 UTC 2024}}",
     "transferType": "time-based"
     }
  }
  ```
+ 2 つ目のイベントは、スナップショットが完了した後にのみアカウントに送信されます。このイベントに含まれる `missedCompletionDurationCause` は理由を示します。

  ```
  {
    "version": "0",
    "id": "{{01234567}}-{{0123}}-{{0123}}-{{0123}}-{{012345678901}}",
    "detail-type": "EBS Snapshot Notification",
    "source": "aws.ec2",
    "account": "{{123456789012}}",
    "time": "{{yyyy}}-{{mm}}-{{dd}}T{{hh}}:{{mm}}:{{ss}}Z",
    "region": "{{us-east-1}}",
    "resources": [
      "arn:aws:ec2::{{us-west-2}}:snapshot/snap-{{01234567}}"
    ],
    "detail": {
      "event": "copySnapshot",
      "result": "succeeded",
      "cause": "",
      "request-id": "",
      "startTime": "{{yyyy}}-{{mm}}-{{dd}}T{{hh}}:{{mm}}:{{ss}}Z",
      "endTime": "{{yyyy}}-{{mm}}-{{dd}}T{{hh}}:{{mm}}:{{ss}}Z",
      "snapshot_id": "arn:aws:ec2::{{us-west-2}}:snapshot/snap-{{01234567}}",
      "source": "arn:aws:ec2::{{eu-west-1}}:snapshot/snap-{{76543210}}",
      "incremental": "true", 
      "completionDurationStartTime":"2024-11-16T06:27:33.816Z",
      "missedCompletionDurationCause":"{{Snapshot copy was not able to meet the specified completion duration because your snapshot copy operation throughput quota was exceeded.}}",
      "transferType": "time-based"
    }
  }
  ```

**シナリオ 4: スナップショットコピーオペレーションが失敗した**  
以下は、スナップショットコピーオペレーションが失敗したときにアカウントに送信されるイベントの例です。`result` が `failed` になっており、これはオペレーションが失敗したことを示します。

```
{
  "version": "0",
  "id": "{{01234567}}-{{0123}}-{{0123}}-{{0123}}-{{012345678901}}",
  "detail-type": "EBS Snapshot Notification",
  "source": "aws.ec2",
  "account": "{{123456789012}}",
  "time": "{{yyyy}}-{{mm}}-{{dd}}T{{hh}}:{{mm}}:{{ss}}Z",
  "region": "{{us-east-1}}",
  "resources": [
    "arn:aws:ec2::{{us-west-2}}:snapshot/snap-{{01234567}}"
  ],
  "detail": {
    "event": "copySnapshot",
    "result": "failed",
    "cause": "Source snapshot ID is not valid",
    "request-id": "",
    "snapshot_id": "arn:aws:ec2::{{us-west-2}}:snapshot/snap-{{01234567}}",
    "source": "arn:aws:ec2::{{eu-west-1}}:snapshot/snap-{{76543210}}",
    "startTime": "{{yyyy}}-{{mm}}-{{dd}}T{{hh}}:{{mm}}:{{ss}}Z",
    "endTime": "{{yyyy}}-{{mm}}-{{dd}}T{{hh}}:{{mm}}:{{ss}}Z"
  }
}
```

### スナップショットを共有 (shareSnapshot)
<a name="snapshot-shared"></a>

別の AWS アカウントがスナップショットを共有すると、`shareSnapshot`イベントがアカウントに送信されます。ただし、保存、ログ記録、アーカイブはされません。結果は常に `succeeded` です。

**イベントデータ**  
`shareSnapshot` イベントが完了したときに EBS から出力される JSON オブジェクトの例を以下に示します。`detail` セクションの の値は、スナップショットを共有したユーザーの AWS アカウント番号`source`です。 `startTime`と は、スナップショット共有アクションが開始および終了した日時`endTime`を表します。`shareSnapshot` イベントは、プライベートスナップショットが別のユーザーと共有された場合にのみ発生します。パブリックスナップショットを共有しても、イベントはトリガーされません。

```
{
  "version": "0",
  "id": "{{01234567}}-{{01234}}-{{0123}}-{{0123}}-{{012345678901}}",
  "detail-type": "EBS Snapshot Notification",
  "source": "aws.ec2",
  "account": "{{012345678901}}",
  "time": "{{yyyy}}-{{mm}}-{{dd}}T{{hh}}:{{mm}}:{{ss}}Z",
  "region": "{{us-east-1}}",
  "resources": [
    "arn:aws:ec2::{{us-west-2}}:snapshot/snap-{{01234567}}"
  ],
  "detail": {
    "event": "shareSnapshot",
    "result": "succeeded",
    "cause": "",
    "request-id": "",
    "snapshot_id": "arn:aws:ec2::{{us-west-2}}:snapshot/snap-{{01234567}}",
    "source": {{012345678901}},
    "startTime": "{{yyyy}}-{{mm}}-{{dd}}T{{hh}}:{{mm}}:{{ss}}Z",
    "endTime": "{{yyyy}}-{{mm}}-{{dd}}T{{hh}}:{{mm}}:{{ss}}Z"
  }
}
```

## EBS スナップショットのアーカイブイベント
<a name="snapshot-archive-events"></a>

Amazon EBS は、スナップショットアーカイブアクションに関連するイベントを発行します。詳細については、「[CloudWatch Events を使用して Amazon EBS スナップショットアーカイブをモニタリング](monitor-snapshot-archiving.md)」を参照してください。

## EBS 高速スナップショット復元イベント
<a name="fast-snapshot-restore-events"></a>

スナップショットの高速スナップショット復元の状態が変わると、Amazon EBS はイベントを EventBridge に送信します。イベントは、ベストエフォートベースで出力されます。

以下はこのイベントのサンプルデータです。

```
{
   "version": "0",
   "id": "{{01234567}}-{{0123}}-{{0123}}-{{0123}}-{{012345678901}}",
   "detail-type": "EBS Fast Snapshot Restore State-change Notification",
   "source": "aws.ec2",
   "account": "{{123456789012}}",
   "time": "{{yyyy}}-{{mm}}-{{dd}}T{{hh}}:{{mm}}:{{ss}}Z",
   "region": "{{us-east-1}}",
   "resources": [
      "arn:aws:ec2:{{us-east-1}}::snapshot/snap-{{03a55cf56513fa1b6}}"
   ],
   "detail": {
      "snapshot-id": "snap-{{1234567890abcdef0}}",
      "state": "{{optimizing}}",
      "zone": "{{us-east-1a}}",
      "message": "{{Client.UserInitiated - Lifecycle state transition}}",
   }
}
```

`state` の想定される値は、`enabling`、`optimizing`、`enabled`、`disabling`、および `disabled` です。

`message` の有効な値は次のとおりです。

`Client.InvalidSnapshot.InvalidState - The requested snapshot transitioned to an invalid state (Error)`  
高速スナップショット復元を有効にするリクエストが失敗し、状態は `disabling` または `disabled` に移行しました。このスナップショットに対しては、高速スナップショット復元を有効にすることができません。

`Client.UserInitiated`  
状態は、正常に `enabling` または `disabling` に移行しました。

`Client.UserInitiated - Lifecycle state transition`  
状態は、正常に `optimizing`、`enabled`、または `disabled` に移行しました。

`Server.InsufficientCapacity - There was insufficient capacity available to satisfy the request`  
高速スナップショット復元を有効にするリクエストが容量不足のために失敗し、状態は `disabling` または `disabled` に移行しました。しばらく待ってから、もう一度試してください。

`Server.InternalError - An internal error caused the operation to fail`  
高速スナップショット復元を有効にするリクエストが内部エラーのために失敗し、状態は `disabling` または `disabled` に移行しました。しばらく待ってから、もう一度試してください。

`Client.InvalidSnapshot.InvalidState - The requested snapshot was deleted or access permissions were revoked`  
スナップショットが削除されたか、スナップショット所有者によって共有解除されたため、スナップショットに対する高速スナップショット復元の状態が `disabling` または `disabled` に移行しました。削除されたか共有しなくなったスナップショットに対して、高速スナップショット復元を有効にすることはできません。