

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# EventBridge Événements Amazon pour Amazon EBS
Amazon EventBridge

Amazon EBS envoie des événements à Amazon EventBridge pour les actions effectuées sur les volumes et les instantanés. Avec EventBridge, vous pouvez établir des règles qui déclenchent des actions programmatiques en réponse à ces événements. Par exemple, vous pouvez créer une règle qui envoie une notification sur votre adresse électronique lorsqu’un instantané est activé pour une restauration rapide des instantanés.

Les événements dans EventBridge sont représentés sous forme d'objets JSON. Les champs spécifiques à l’événement figurent dans la section « détail » de l’objet JSON. Le champ « événement » contient le nom de l’événement. Le champ « résultat » contient l’état terminé de l’action qui déclenche l’événement. Pour plus d'informations, consultez les [modèles EventBridge d'événements Amazon](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-event-patterns.html) dans le *guide de EventBridge l'utilisateur Amazon*.

Pour plus d'informations, consultez [Qu'est-ce qu'Amazon EventBridge ?](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-what-is.html) dans le *guide de EventBridge l'utilisateur Amazon*.

**Topics**
+ [

## Événements de volume EBS
](#volume-events)
+ [

## Événement d'initialisation du volume EBS
](#volume-initialization-events)
+ [

## Événements de modification de volume EBS
](#volume-modification-events)
+ [

## Événements d’instantané EBS
](#snapshot-events)
+ [

## Événements d’archivage d’instantanés EBS
](#snapshot-archive-events)
+ [

## Événements de restauration d’instantané rapide EBS
](#fast-snapshot-restore-events)
+ [

# Utilisation AWS Lambda pour gérer les EventBridge événements
](using_lambda.md)

## Événements de volume EBS


Amazon EBS envoie des événements au EventBridge moment où les événements de volume suivants se produisent.

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

### Créer un volume (createVolume)
createVolume

L'`createVolume`événement est envoyé à votre AWS compte lorsqu'une action de création de volume est terminée. Cependant, il n'est ni enregistré, ni enregistré, ni archivé. Cet événement peut avoir le résultat `available` ou `failed`. La création échouera si une valeur non valide AWS KMS key a été fournie, comme indiqué dans les exemples ci-dessous.

**Données d’événement**  
La liste ci-dessous est l’exemple d’un objet JSON émis par EBS pour un événement `createVolume` réussi. 

```
{
   "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-01234567"
   ],
   "detail": {
      "result": "available",
      "cause": "",
      "event": "createVolume",
      "request-id": "01234567-0123-0123-0123-0123456789ab"
   }
}
```

La liste ci-dessous est l’exemple d’un objet JSON émis par EBS après un événement `createVolume` ayant échoué. La cause de l’échec est attribuée à une clé KMS désactivée.

```
{
  "version": "0",
  "id": "01234567-0123-0123-0123-0123456789ab",
  "detail-type": "EBS Volume Notification",
  "source": "aws.ec2",
  "account": "012345678901",
  "time": "yyyy-mm-ddThh:mm:ssZ",
  "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",
  }
}
```

Voici un exemple d’objet JSON émis par EBS après un événement `createVolume` ayant échoué. La cause de l’échec est attribuée à l’importation en attente d’une clé KMS.

```
{  
  "version": "0",  
  "id": "01234567-0123-0123-0123-0123456789ab",  
  "detail-type": "EBS Volume Notification",  
  "source": "aws.ec2",  
  "account": "012345678901",  
  "time": "yyyy-mm-ddThh:mm:ssZ",  
  "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",  
  }
}
```

### Supprimer le volume (deleteVolume)
deleteVolume

L'`deleteVolume`événement est envoyé à votre AWS compte lorsqu'une action de suppression d'un volume est terminée. Cependant, il n'est ni enregistré, ni enregistré, ni archivé. Le résultat de cet événement est `deleted`. Si la suppression ne se termine pas, l’événement n’est pas envoyé.

**Données d’événement**  
La liste ci-dessous est l’exemple d’un objet JSON émis par EBS pour un événement `deleteVolume` réussi. 

```
{
   "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-01234567"
   ],
   "detail": {
      "result": "deleted",
      "cause": "",
      "event": "deleteVolume",
      "request-id": "01234567-0123-0123-0123-0123456789ab"
   }
}
```

### Attacher ou réattacher le volume (attachVolume, reattachVolume)
attachVolume

L'`reattachVolume`événement `attachVolume` or est envoyé à votre AWS compte lorsqu'un volume est attaché ou rattaché à une instance. Cependant, il n'est ni enregistré, ni enregistré, ni archivé. Si vous utilisez une clé KMS pour chiffrer un volume EBS et que la clé KMS devient non valide, EBS émet un événement si cette clé KMS est utilisée ultérieurement pour l’attachement ou le rattachement d’une instance, comme illustré dans les exemples ci-dessous.

**Données d’événement**  
La liste ci-dessous est l’exemple d’un objet JSON émis par EBS après un événement `attachVolume` ayant échoué. La cause de l’échec est attribuée à la suppression en attente d’une clé KMS.

**Note**  
AWS peut tenter de se reconnecter à un volume après une maintenance de routine du serveur.

```
{
  "version": "0",    
  "id": "01234567-0123-0123-0123-0123456789ab",
  "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: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": ""
  }
}
```

La liste ci-dessous est l’exemple d’un objet JSON émis par EBS après un événement `reattachVolume` ayant échoué. La cause de l’échec est attribuée à la suppression en attente d’une clé KMS.

```
{
  "version": "0",    
  "id": "01234567-0123-0123-0123-0123456789ab",
  "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: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": ""
  }
}
```

### Détacher le volume (DetachVolume)
detachVolume

L'`detachVolume`événement est envoyé à votre AWS compte lorsqu'un volume est détaché d'une instance Amazon EC2.

**Données d’événement**  
Voici un exemple d'`detachVolume`événement réussi.

```
{
  "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"
    }
  }
}
```

## Événement d'initialisation du volume EBS


Lorsque vous créez un volume Amazon EBS à partir d'un instantané et que vous utilisez le taux d'initialisation du volume par défaut ou un taux provisionné Amazon EBS pour l'initialisation du volume, l'`initializeVolume`événement est envoyé à votre AWS compte dans les cinq minutes suivant la fin de l'initialisation du volume. Pour de plus amples informations, veuillez consulter [Utiliser un tarif provisionné par Amazon EBS pour l'initialisation du volume](initalize-volume.md#volume-initialization-rate).

L'événement **n'est pas** envoyé pour les volumes créés à l'aide de Fast Snapshot Restore.

**Important**  
`completionTime`reflète la date à laquelle nous avons généré l'événement. Étant donné que l'événement est généré dans les 5 minutes suivant la fin de l'initialisation, il `completionTime` peut se produire jusqu'à cinq minutes après la fin de l'initialisation.

Voici un exemple d'événement.

```
{
   "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"
   }
}
```

## Événements de modification de volume EBS


Amazon EBS envoie `modifyVolume` des événements EventBridge lorsqu'un volume est modifié. Cependant, il n'est ni enregistré, ni enregistré, ni archivé.

```
{
   "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-03a55cf56513fa1b6"
   ],
   "detail": {
      "result": "optimizing",
      "cause": "",
      "event": "modifyVolume",
      "request-id": "01234567-0123-0123-0123-0123456789ab"
   }
}
```

## Événements d’instantané EBS


Amazon EBS envoie des événements au EventBridge moment où les événements de volume suivants se produisent.

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

### Créer un instantané (createSnapshot)
createSnapshot

L'`createSnapshot`événement est envoyé à votre AWS compte lorsqu'une action visant à créer un instantané est terminée. Cependant, il n'est ni enregistré, ni enregistré, ni archivé. Cet événement peut avoir le résultat `succeeded` ou `failed`.

**Données d’événement**  
La liste ci-dessous est l’exemple d’un objet JSON émis par EBS pour un événement `createSnapshot` réussi. Dans la section `detail`, le champ `source` contient l’ARN du volume source. Les champs `startTime` et `endTime` indiquent le moment où la création de l'instantané a commencé et est terminée.

```
{
  "version": "0",
  "id": "01234567-0123-0123-0123-012345678901",
  "detail-type": "EBS Snapshot Notification",
  "source": "aws.ec2",
  "account": "012345678901",
  "time": "yyyy-mm-ddThh:mm:ssZ",
  "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-ddThh:mm:ssZ",
    "endTime": "yyyy-mm-ddThh:mm:ssZ"  }
}
```

### Créer des instantanés (createSnapshots)
createSnapshots

L'`createSnapshots`événement est envoyé à votre AWS compte lorsqu'une action visant à créer un instantané en plusieurs volumes est terminée. Cet événement peut avoir le résultat `succeeded` ou `failed`.

**Données d’événement**  
La liste ci-dessous est l’exemple d’un objet JSON émis par EBS pour un événement `createSnapshots` réussi. Dans la `detail` section, le `source` champ contient les volumes sources ARNs de l'ensemble de clichés multi-volumes. Les champs `startTime` et `endTime` indiquent le moment où la création de l’instantané a commencé et est terminée.

```
{
  "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": "succeeded",
    "cause": "",
    "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": "completed"
      },
      {
        "snapshot_id": "arn:aws:ec2::us-east-1:snapshot/snap-012345678",
        "source": "arn:aws:ec2::us-east-1:volume/vol-012345678",
        "status": "completed"
      }
    ]
  }
}
```

La liste ci-dessous est l’exemple d’un objet JSON émis par EBS après un événement `createSnapshots` ayant échoué. La cause de l’échec correspondait à un ou plusieurs instantanés de l’ensemble d’instantanés multi-volumes qui n’ont pas pu aboutir. Les valeurs de `snapshot_id` sont celles ARNs des instantanés ayant échoué. `startTime`et indiquent `endTime` le début et la fin de l'action de création d'instantanés.

```
{
  "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"
      }
    ]
  }
}
```

### Copier un instantané (copySnapshot)
copySnapshot

L'`copySnapshot`événement est envoyé à votre AWS compte lorsqu'une action de copie d'un instantané est terminée. Cependant, il n'est ni enregistré, ni enregistré, ni archivé. Cet événement peut avoir le résultat `succeeded` ou `failed`.

Dans `detail` cette section, `source` il y a l'ARN de l'instantané source et `snapshot_id` l'ARN de la copie du cliché. `startTime`et `endTime` indiquez le début et la fin de l'opération de copie. `incremental`indique si la copie d'instantané est un instantané incrémentiel (`true`) ou un instantané complet (`false`). `transferType`indique si l'opération de copie instantanée était une opération de copie standard ou une opération de copie basée sur le temps. Pour de plus amples informations, veuillez consulter [Copies temporelles pour les instantanés Amazon EBS et sauvegardées par EBS AMIs](time-based-copies.md).

Si vous copiez l’instantané d’une région à l’autre, l’événement est émis dans la région de destination.

**Scénario 1 : Fin de l'opération de copie instantanée standard**  
Voici un exemple d'événement envoyé à votre compte lorsqu'une opération de copie instantanée standard se termine avec succès. Notez que `transferType` est `standard`.

```
{
  "version": "0",
  "id": "01234567-0123-0123-0123-012345678901",
  "detail-type": "EBS Snapshot Notification",
  "source": "aws.ec2",
  "account": "123456789012",
  "time": "yyyy-mm-ddThh:mm:ssZ",
  "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-ddThh:mm:ssZ",
    "endTime": "yyyy-mm-ddThh:mm:ssZ",
    "incremental": "true",
    "transferType": "standard"
  }
}
```

**Scénario 2 : L'opération de copie instantanée basée sur le temps s'achève pendant la durée d'achèvement**  
Voici un exemple d'événement envoyé à votre compte lorsqu'une opération de copie instantanée basée sur le temps s'achève dans les délais impartis. Notez que cela `transferType` indique qu'il s'agissait d'une opération de copie instantanée basée sur le temps. `time-based` `completionDurationStartTime`indique à quel moment la durée d'achèvement a commencé.

```
{
  "version": "0",
  "id": "01234567-0123-0123-0123-012345678901",
  "detail-type": "EBS Snapshot Notification",
  "source": "aws.ec2",
  "account": "123456789012",
  "time": "yyyy-mm-ddThh:mm:ssZ",
  "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-ddThh:mm:ssZ",
    "endTime": "yyyy-mm-ddThh:mm:ssZ",
    "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"
  }
}
```

**Scénario 3 : L'opération de copie instantanée basée sur le temps se termine mais n'atteint pas la durée d'achèvement demandée**  
Lorsqu'une opération de copie instantanée basée sur le temps se termine, mais n'atteint pas la durée d'achèvement demandée, deux CloudWatch événements sont envoyés à votre compte. Voici des exemples de ces événements.
+ Le premier événement est envoyé sur votre compte dès que le délai d'exécution est dépassé, même si l'opération de copie est toujours en cours. Cet événement existe et `EBS Copy Snapshot Missed Completion Duration` en `missedCompletionDurationCause` fournit la raison. `detail-type`

  ```
  {
   "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"
     }
  }
  ```
+ Le deuxième événement n'est envoyé à votre compte qu'une fois l'instantané terminé. L'événement inclut`missedCompletionDurationCause`, ce qui en fournit la raison.

  ```
  {
    "version": "0",
    "id": "01234567-0123-0123-0123-012345678901",
    "detail-type": "EBS Snapshot Notification",
    "source": "aws.ec2",
    "account": "123456789012",
    "time": "yyyy-mm-ddThh:mm:ssZ",
    "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-ddThh:mm:ssZ",
      "endTime": "yyyy-mm-ddThh:mm:ssZ",
      "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"
    }
  }
  ```

**Scénario 4 : échec de l'opération de copie instantanée**  
Voici un exemple d'événement envoyé à votre compte en cas d'échec d'une opération de copie instantanée. Notez que `result` cela `failed` indique que l'opération a échoué.

```
{
  "version": "0",
  "id": "01234567-0123-0123-0123-012345678901",
  "detail-type": "EBS Snapshot Notification",
  "source": "aws.ec2",
  "account": "123456789012",
  "time": "yyyy-mm-ddThh:mm:ssZ",
  "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-ddThh:mm:ssZ",
    "endTime": "yyyy-mm-ddThh:mm:ssZ"
  }
}
```

### Partager un instantané (shareSnapshot)
shareSnapshot

L'`shareSnapshot`événement est envoyé à votre AWS compte lorsqu'un autre compte partage un instantané avec celui-ci. Cependant, il n'est ni enregistré, ni enregistré, ni archivé. Le résultat est toujours `succeeded`.

**Données d’événement**  
Ce qui suit est un exemple d’objet JSON émis par EBS après un événement `shareSnapshot` terminé. Dans la `detail` section, la valeur de `source` est le numéro de AWS compte de l'utilisateur qui a partagé l'instantané avec vous. `startTime`et indiquent `endTime` le début et la fin de l'action de partage d'instantanés. L’événement `shareSnapshot` est émis uniquement lorsqu’un instantané privé est partagé avec un autre utilisateur. Le partage d’un instantané public ne déclenche pas l’événement.

```
{
  "version": "0",
  "id": "01234567-01234-0123-0123-012345678901",
  "detail-type": "EBS Snapshot Notification",
  "source": "aws.ec2",
  "account": "012345678901",
  "time": "yyyy-mm-ddThh:mm:ssZ",
  "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-ddThh:mm:ssZ",
    "endTime": "yyyy-mm-ddThh:mm:ssZ"
  }
}
```

## Événements d’archivage d’instantanés EBS


Amazon EBS émet des événements liés aux actions d’archivage des instantanés. Pour plus d’informations, voir [Surveillez l'archivage des instantanés Amazon EBS à l'aide d'Events CloudWatch](monitor-snapshot-archiving.md).

## Événements de restauration d’instantané rapide EBS


Amazon EBS envoie des événements EventBridge lorsque l'état de restauration rapide d'un instantané change. Les événements sont générés dans la mesure du possible.

Voici un exemple de données pour cet événement.

```
{
   "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-ddThh:mm:ssZ",
   "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",
   }
}
```

Les valeurs possibles pour `state` sont `enabling`, `optimizing`, `enabled`, `disabling` et `disabled`.

Les valeurs possibles pour `message` sont les suivantes :

`Client.InvalidSnapshot.InvalidState - The requested snapshot transitioned to an invalid state (Error)`  
Une demande d’activation de la fonction de restauration d’instantané rapide a échoué et l’état est passé à `disabling` ou `disabled`. La fonction de restauration d’instantané rapide ne peut pas être activée pour cet instantané.

`Client.UserInitiated`  
L’état est passé avec succès à `enabling` ou `disabling`.

`Client.UserInitiated - Lifecycle state transition`  
L’état est passé avec succès à `optimizing`, `enabled` ou `disabled`.

`Server.InsufficientCapacity - There was insufficient capacity available to satisfy the request`  
Une demande d’activation de la fonction de restauration d’instantané rapide a échoué en raison d’une capacité insuffisante et l’état est passé à `disabling` ou `disabled`. Attendez, puis recommencez.

`Server.InternalError - An internal error caused the operation to fail`  
Une demande d’activation de la fonction de restauration d’instantané rapide a échoué en raison d’une erreur interne et l’état est passé à `disabling` ou `disabled`. Attendez, puis recommencez.

`Client.InvalidSnapshot.InvalidState - The requested snapshot was deleted or access permissions were revoked`  
L’état de restauration d’instantané rapide est passé à `disabling` ou `disabled` parce que l’instantané a été supprimé ou non partagé par son propriétaire. La restauration d’instantané rapide ne peut pas être activée pour un instantané qui a été supprimé ou qui n’est plus partagé avec vous.

# Utilisation AWS Lambda pour gérer les EventBridge événements


Vous pouvez utiliser Amazon EBS et Amazon EventBridge pour automatiser votre flux de sauvegarde des données. Cela vous oblige à créer une politique IAM, une AWS Lambda fonction pour gérer l'événement et une EventBridge règle qui fait correspondre les événements entrants et les achemine vers la fonction Lambda.

La procédure suivante utilise l’événement `createSnapshot` pour copier automatiquement un instantané terminé vers une autre région pour la reprise après sinistre. 

**Pour copier un instantané terminé vers une autre région**

1. Créez une politique IAM, telle que celle illustrée dans l'exemple suivant, pour autoriser l'utilisation de l'`CopySnapshot`action et l'écriture dans le EventBridge journal. Assignez la politique à l'utilisateur qui gérera l' EventBridge événement.

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Action": [
           "logs:CreateLogGroup",
           "logs:CreateLogStream",
           "logs:PutLogEvents"
         ],
         "Resource": "arn:aws:logs:*:*:*"
       },
       {
         "Effect": "Allow",
         "Action": [
           "ec2:CopySnapshot"
         ],
         "Resource": "*"
       }
     ]
   }
   ```

------

1. Définissez une fonction dans Lambda qui sera disponible depuis la EventBridge console. L'exemple de fonction Lambda ci-dessous, écrit dans Node.js, est invoqué EventBridge lorsqu'un `createSnapshot` événement correspondant est émis par Amazon EBS (indiquant qu'un instantané est terminé). Lorsqu’elle est appelée, la fonction copie l’instantané de `us-east-2` vers `us-east-1`.

   ```
   // Sample Lambda function to copy an EBS snapshot to a different Region
    
   var AWS = require('aws-sdk');
   var ec2 = new AWS.EC2();
    
   // define variables
   var destinationRegion = 'us-east-1';
   var sourceRegion = 'us-east-2';
   console.log ('Loading function');
    
   //main function
   exports.handler = (event, context, callback) => {
    
       // Get the EBS snapshot ID from the event details
       var snapshotArn = event.detail.snapshot_id.split('/');
       const snapshotId = snapshotArn[1];
       const description = `Snapshot copy from ${snapshotId} in ${sourceRegion}.`;
       console.log ("snapshotId:", snapshotId);
   
       // Load EC2 class and update the configuration to use destination Region to initiate the snapshot.
       AWS.config.update({region: destinationRegion});
       var ec2 = new AWS.EC2();
   
       // Prepare variables for ec2.modifySnapshotAttribute call
       const copySnapshotParams = {
           Description: description,
           DestinationRegion: destinationRegion,
           SourceRegion: sourceRegion,
           SourceSnapshotId: snapshotId
       };
    
       // Execute the copy snapshot and log any errors
       ec2.copySnapshot(copySnapshotParams, (err, data) => {
           if (err) {
               const errorMessage = `Error copying snapshot ${snapshotId} to Region ${destinationRegion}.`;
               console.log(errorMessage);
               console.log(err);
               callback(errorMessage);
           } else {
               const successMessage = `Successfully started copy of snapshot ${snapshotId} to Region ${destinationRegion}.`;
               console.log(successMessage);
               console.log(data);
               callback(null, successMessage);
           }
       });
   };
   ```

   Pour vous assurer que votre fonction Lambda est disponible depuis la EventBridge console, créez-la dans la région où l' EventBridge événement se produira. Pour plus d’informations, consultez le [Guide du développeur AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/).

1. Ouvrez la EventBridge console Amazon à l'adresse [https://console.aws.amazon.com/events/](https://console.aws.amazon.com/events/).

1. Dans le volet de navigation, sélectionnez **Rules (Règles)**, puis **Create rule (Créer une règle)**.

1. Pour **Step 1: Define rule detail** (Étape 1 : Définir les détails de la règle), procédez comme suit :

   1. Saisissez un **Name** (Nom) et une **Description** pour la règle.

   1. Pour **Event bus** (Bus d’événements), gardez **default** (par défaut).

   1. Vérifiez que l’option **Enable the rule on the selected event bus** (Activer la règle sur le bus d’événements sélectionné) est activée.

   1. Pour **Event type** (Type d’événement), choisissez **Rule with an event pattern** (Règle avec un modèle d’événement).

   1. Choisissez **Suivant**.

1. Pour **Step 2: Build event pattern** (Étape 2 : Créer un modèle d’événement), procédez comme suit :

   1. Dans **Source de l'événement**, sélectionnez **AWS des événements ou des événements EventBridge partenaires**.

   1. Dans la section **Modèle d’événement**, pour **Origine de l’événement**, assurez-vous que **Service AWS ** est sélectionné, et pour **Service AWS **, sélectionnez **EC2**.

   1. Pour **Event type** (Type d’événement), sélectionnez **EBS Snapshot Notification** (Notification Instantanée EBS), **Specific event(s)** (Événement(s) spécifique), puis choisissez **createSnapshot**.

   1. Sélectionnez **Specific result(s)** (Résultat(s) spécifique(s)), puis choisissez **succeeded**.

   1. Choisissez **Suivant**.

1. Pour **Step 3: Select targets** (Étape 3 : Sélectionner les cibles), procédez comme suit :

   1. Pour **Types de cibles**, choisissez **service AWS **.

   1. Pour **Select target** (Sélectionner la cible), choisissez **Lambda function** (Fonction Lambda), et pour **Fonction**, sélectionnez la fonction que vous avez créée précédemment.

   1. Choisissez **Next** (Suivant)

1. Pour **Step 4: Configure tags** (Étape 4 : Configurer les balises), spécifiez des balises pour la règle si nécessaire, puis choisissez **Next** (Suivant).

1. Pour **Step 5: Review and create** (Étape 5 : Examen et création), passez en revue la règle, puis choisissez **Create rule** (Créer une règle).

Votre règle doit désormais apparaître sur l’onglet **Rules**. Dans l’exemple présenté, l’événement que vous avez configuré doit être émis par EBS la prochaine fois que vous copiez un instantané.