

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# EventBridge Eventos de Amazon para Amazon EBS
<a name="ebs-cloud-watch-events"></a>

Amazon EBS envía eventos a Amazon EventBridge para las acciones realizadas en volúmenes e instantáneas. Con EventBridge él, puede establecer reglas que activen acciones programáticas en respuesta a estos eventos. Por ejemplo, puede crear una regla que envíe una notificación a su correo electrónico cuando se active una instantánea para la restauración rápida de instantáneas.

Los eventos de EventBridge se representan como objetos JSON. Los campos que son únicos del evento se encuentran en la sección "detail" del objeto JSON. El campo “evento” contiene el nombre del evento. El campo “resultado” contiene el estado completad de la acción que desencadenó el evento. Para obtener más información, consulta los [patrones de EventBridge eventos de Amazon](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-event-patterns.html) en la *Guía del EventBridge usuario de Amazon*.

Para obtener más información, consulta [¿Qué es Amazon EventBridge?](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-what-is.html) en la *Guía del EventBridge usuario de Amazon*.

**Topics**
+ [Eventos de volumen de EBS](#volume-events)
+ [Evento de inicialización de volumen de EBS](#volume-initialization-events)
+ [Eventos de modificación del volumen de EBS](#volume-modification-events)
+ [Eventos de instantánea de EBS](#snapshot-events)
+ [Eventos del archivo de instantáneas de EBS](#snapshot-archive-events)
+ [Eventos de restauración rápida de instantáneas de EBS](#fast-snapshot-restore-events)
+ [Se utiliza AWS Lambda para gestionar eventos EventBridge](using_lambda.md)

## Eventos de volumen de EBS
<a name="volume-events"></a>

Amazon EBS envía los eventos EventBridge cuando se producen los siguientes eventos de volumen.

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

### Crear volumen (CreateVolume)
<a name="create-volume"></a>

El `createVolume` evento se envía a su AWS cuenta cuando se completa una acción para crear un volumen. Sin embargo, no se guarda, registra o archiva. Este evento tiene un resultado de `available` o `failed`. La creación fallará si AWS KMS key se proporciona un mensaje no válido, como se muestra en los ejemplos siguientes.

**Datos de evento**  
La lista siguiente es un ejemplo de un objeto JSON emitido por EBS para un evento `createVolume` correcto. 

```
{
   "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 lista siguiente es un ejemplo de un objeto JSON emitido por EBS después de que un evento `createVolume` diera error. La causa del error fue una Clave de KMS deshabilitada.

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

A continuación se ofrece un ejemplo de un objeto JSON emitido por EBS después de que un evento `createVolume` diera error. La causa del error fue una importación pendiente de una Clave de 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",  
  }
}
```

### Eliminar volumen (deleteVolume)
<a name="delete-volume"></a>

El `deleteVolume` evento se envía a tu AWS cuenta cuando se completa una acción para eliminar un volumen. Sin embargo, no se guarda, registra o archiva. Este evento da como resultado `deleted`. Si la eliminación no se completa, el evento no se enviará nunca.

**Datos de evento**  
La lista siguiente es un ejemplo de un objeto JSON emitido por EBS para un evento `deleteVolume` correcto. 

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

### Asociar o volver a asociar volumen (attachVolume, reattachVolume)
<a name="attach-fail-key"></a>

El evento `attachVolume` o `reattachVolume` se envía a la cuenta de AWS cuando no se adjunta un volumen o se vuelve a asociar a una instancia. Sin embargo, no se guarda, registra o archiva. Si utiliza una Clave de KMS para cifrar un volumen de EBS y la Clave de KMS deja de ser válida, EBS emitirá un evento si esa Clave de KMS se utiliza posteriormente para asociar o volver a asociar a una instancia, como se muestra en los ejemplos a continuación.

**Datos de evento**  
La lista siguiente es un ejemplo de un objeto JSON emitido por EBS después de que un evento `attachVolume` diera error. La causa del error fue una eliminación pendiente de una Clave de KMS.

**nota**  
AWS puede intentar volver a conectarse a un volumen tras un mantenimiento rutinario del servidor.

```
{
  "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 lista siguiente es un ejemplo de un objeto JSON emitido por EBS después de que un evento `reattachVolume` diera error. La causa del error fue una eliminación pendiente de una Clave de 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": ""
  }
}
```

### Separar volumen (detachVolume)
<a name="detach-volume"></a>

El `detachVolume` evento se envía a su AWS cuenta cuando se separa un volumen de una instancia de Amazon EC2.

**Datos de evento**  
A continuación, se muestra un ejemplo de un evento de `detachVolume` correcto.

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

## Evento de inicialización de volumen de EBS
<a name="volume-initialization-events"></a>

Cuando crea un volumen de Amazon EBS a partir de una instantánea y utiliza la tasa de inicialización del volumen predeterminada o una tasa aprovisionada de Amazon EBS para la inicialización del volumen, el `initializeVolume` evento se envía a su AWS cuenta cinco minutos después de que se complete la inicialización del volumen. Para obtener más información, consulte [Uso de una tasa aprovisionada de Amazon EBS para la inicialización del volumen](initalize-volume.md#volume-initialization-rate).

El evento **no** se envía para los volúmenes creados con la restauración rápida de instantáneas.

**importante**  
`completionTime` refleja cuándo generamos el evento. Como el evento se genera 5 minutos después de que se complete la inicialización, el `completionTime` pueden ocurrir hasta cinco minutos después de que se complete la inicialización.

El siguiente es un evento de ejemplo.

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

## Eventos de modificación del volumen de EBS
<a name="volume-modification-events"></a>

Amazon EBS envía `modifyVolume` eventos EventBridge cuando se modifica un volumen. Sin embargo, no se guarda, registra o archiva.

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

## Eventos de instantánea de EBS
<a name="snapshot-events"></a>

Amazon EBS envía los eventos EventBridge cuando se producen los siguientes eventos de volumen.

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

### Crear instantánea (createSnapshot)
<a name="create-snapshot-complete"></a>

El `createSnapshot` evento se envía a su AWS cuenta cuando se completa una acción para crear una instantánea. Sin embargo, no se guarda, registra o archiva. Este evento tiene un resultado de `succeeded` o `failed`.

**Datos de evento**  
La lista siguiente es un ejemplo de un objeto JSON emitido por EBS para un evento `createSnapshot` correcto. En la sección `detail`, el campo `source` contiene el ARN del volumen de origen. Los campos `startTime` y `endTime` indican el inicio y la finalización de la creación de la instantánea.

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

### Crear instantáneas (createSnapshots)
<a name="create-snapshots-complete"></a>

El `createSnapshots` evento se envía a su AWS cuenta cuando se completa una acción para crear una instantánea de varios volúmenes. Este evento tiene un resultado de `succeeded` o `failed`.

**Datos de evento**  
La lista siguiente es un ejemplo de un objeto JSON emitido por EBS para un evento `createSnapshots` correcto. En la `detail` sección, el `source` campo contiene los volúmenes ARNs de origen del conjunto de instantáneas de varios volúmenes. Los campos `startTime` y `endTime` indican el inicio y la finalización de la creación de la instantánea.

```
{
  "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 lista siguiente es un ejemplo de un objeto JSON emitido por EBS después de que un evento `createSnapshots` diera error. La causa del error fue que no se pudieron completar una o varias instantáneas para el conjunto de instantáneas de varios volúmenes. Los valores de `snapshot_id` son los ARNs de las instantáneas fallidas. `startTime`y `endTime` representan cuándo comenzó y finalizó la acción de creación de instantáneas.

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

### Copiar instantánea (copySnapshot)
<a name="copy-snapshot-complete"></a>

El `copySnapshot` evento se envía a tu AWS cuenta cuando se completa una acción para copiar una instantánea. Sin embargo, no se guarda, registra o archiva. Este evento tiene un resultado de `succeeded` o `failed`.

En la sección `detail`, `source` es el ARN de la instantánea de origen y `snapshot_id` es el ARN de la copia de la instantánea. `startTime` e `endTime` indican cuándo se inició y finalizó la operación de copia. `incremental` indica si la copia instantánea es una instantánea incremental (`true`) o una completa (`false`). `transferType` indica si la operación de copia de instantáneas fue una operación de copia estándar o basada en el tiempo. Para obtener más información, consulte [Copias basadas en el tiempo para instantáneas de Amazon EBS y respaldadas por EBS AMIs](time-based-copies.md).

Si está copiando la instantánea entre regiones, el evento se emite en la región de destino.

**Situación 1: se completa la operación de copia de instantáneas estándar**  
A continuación, se muestra un ejemplo de un evento enviado a su cuenta cuando una operación de copia de instantáneas estándar se completa correctamente. Tenga en cuenta que `transferType` es `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"
  }
}
```

**Situación 2: la operación de copia de instantáneas basada en el tiempo finaliza dentro del periodo de finalización**  
El siguiente es un ejemplo de un evento que se envía a su cuenta cuando una operación de copia de instantáneas basada en el tiempo finaliza dentro del periodo de finalización. Tenga presente que `transferType` está `time-based` para indicar que se trataba de una operación de copia de instantáneas basada en el tiempo. `completionDurationStartTime` indica cuándo comenzó el periodo de la finalización.

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

**Situación 3: la operación de copia de instantáneas basada en el tiempo finaliza pero no alcanza el periodo de finalización solicitado**  
Cuando se completa una operación de copia instantánea basada en el tiempo, pero no alcanza el tiempo de finalización solicitado, CloudWatch envía dos eventos a su cuenta. Los siguientes ejemplos corresponden a esos eventos.
+ El primer evento se envía a su cuenta en cuanto se sobrepasa el periodo de finalización, incluso si la operación de copia aún está en curso. En este evento, el `detail-type` está en `EBS Copy Snapshot Missed Completion Duration`, y `missedCompletionDurationCause` proporciona el motivo.

  ```
  {
   "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"
     }
  }
  ```
+ El segundo evento se envía a su cuenta cuando se completa la instantánea. El evento incluye `missedCompletionDurationCause`, lo que explica el motivo.

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

**Situación 4: la operación de copia de instantáneas falla**  
A continuación, se muestra un ejemplo de un evento enviado a su cuenta cuando se produce un error en una operación de copia de instantáneas. Tenga presente que `result` está en `failed` para indicar que la operación ha fallado.

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

### Compartir instantánea (shareSnaphot)
<a name="snapshot-shared"></a>

El `shareSnapshot` evento se envía a tu AWS cuenta cuando otra cuenta comparte una instantánea con ella. Sin embargo, no se guarda, registra o archiva. El resultado siempre es `succeeded`.

**Datos de evento**  
A continuación se muestra un ejemplo de un objeto JSON emitido por EBS tras la finalización de un evento `shareSnapshot`. En la `detail` sección, el valor de `source` es el número de AWS cuenta del usuario que compartió la instantánea contigo. `startTime`y `endTime` representan cuándo comenzó y finalizó la acción de compartir la instantánea. El evento `shareSnapshot` solo se activa cuando se comparte una instantánea privada con otro usuario. Si se comparte una instantánea pública, no se desencadena el evento.

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

## Eventos del archivo de instantáneas de EBS
<a name="snapshot-archive-events"></a>

Amazon EBS emite eventos relacionados con acciones de archivo de instantáneas. Para obtener más información, consulte [Supervise el archivado de instantáneas de Amazon EBS mediante Events CloudWatch](monitor-snapshot-archiving.md).

## Eventos de restauración rápida de instantáneas de EBS
<a name="fast-snapshot-restore-events"></a>

Amazon EBS envía los eventos EventBridge cuando cambia el estado de restauración rápida de una instantánea. Los eventos se emiten en la medida de lo posible.

El siguiente es un ejemplo de los datos de este evento.

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

Los valores posibles de `state` son `enabling`, `optimizing`, `enabled`, `disabling` y `disabled`.

Los valores posibles para `message` son los siguientes:

`Client.InvalidSnapshot.InvalidState - The requested snapshot transitioned to an invalid state (Error)`  
Falló una solicitud para habilitar la restauración rápida de instantáneas y el estado pasó a `disabling` o `disabled`. La restauración rápida de instantáneas no se puede habilitar para esta instantánea.

`Client.UserInitiated`  
El estado cambió satisfactoriamente a `enabling` o `disabling`.

`Client.UserInitiated - Lifecycle state transition`  
El estado cambió satisfactoriamente a `optimizing`, `enabled` o `disabled`.

`Server.InsufficientCapacity - There was insufficient capacity available to satisfy the request`  
Falló una solicitud para habilitar la restauración rápida de instantáneas por capacidad insuficiente y el estado pasó a`disabling` o `disabled`. Espere e inténtelo de nuevo.

`Server.InternalError - An internal error caused the operation to fail`  
Falló una solicitud para habilitar la restauración rápida de instantáneas por un error interno y el estado pasó a`disabling` o `disabled`. Espere e inténtelo de nuevo.

`Client.InvalidSnapshot.InvalidState - The requested snapshot was deleted or access permissions were revoked`  
El estado de restauración rápida de la instantánea ha pasado a `disabling` o `disabled` porque el propietario de la instantánea eliminó o dejó de compartir la instantánea. La restauración rápida de instantáneas no se puede habilitar para una instantánea que se ha eliminado o que ya no se comparte con usted.

# Se utiliza AWS Lambda para gestionar eventos EventBridge
<a name="using_lambda"></a>

Puede utilizar Amazon EBS y Amazon EventBridge para automatizar el flujo de trabajo de copia de seguridad de datos. Esto requiere que cree una política de IAM, una AWS Lambda función para gestionar el evento y una EventBridge regla que haga coincidir los eventos entrantes y los dirija a la función Lambda.

En el procedimiento siguiente se usa el evento `createSnapshot` para copiar automáticamente una instantánea completada en otra región para la recuperación de desastres. 

**Para copiar una instantánea completada en otra región**

1. Cree una política de IAM, como la que se muestra en el siguiente ejemplo, para proporcionar permisos para usar la `CopySnapshot` acción y escribir en el registro. EventBridge Asigne la política al usuario que gestionará el EventBridge evento.

------
#### [ 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. Defina una función en Lambda que estará disponible en la EventBridge consola. El ejemplo de función Lambda que aparece a continuación, escrito en Node.js, se invoca EventBridge cuando Amazon EBS emite un `createSnapshot` evento coincidente (lo que indica que se ha completado una instantánea). Cuando se le llama, la función copia la instantánea de `us-east-2` en `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);
           }
       });
   };
   ```

   Para asegurarse de que la función Lambda esté disponible en la EventBridge consola, créela en la región en la que se producirá el EventBridge evento. Para obtener más información, consulte la [Guía para desarrolladores de AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/).

1. Abre la EventBridge consola de Amazon en [https://console.aws.amazon.com/events/](https://console.aws.amazon.com/events/).

1. En el panel de navegación, elija **Rules** (Reglas) y, a continuación, elija **Create rule** (Crear regla).

1. En **Step 1: Define rule detail** (Paso 1: definición de detalles de reglas), haga lo siguiente:

   1. Introduzca valores para **Name** (Nombre) y **Description** (Descripción).

   1. En **Event bus** (Bus de eventos), mantenga la opción de **default** (Valor predeterminado).

   1. Asegúrese de que la opción **Enable the rule on the selected event bus** (Habilitar la regla en el bus de eventos seleccionado) esté activada.

   1. En **Event type** (Tipo de evento), seleccione **Rule with an event pattern** (Regla con un patrón de evento).

   1. Elija **Siguiente**.

1. En **Step 2: Build event pattern** (Paso 2: crear patrón de eventos), haga lo siguiente:

   1. Para la **fuente del evento**, selecciona **AWS eventos o eventos EventBridge asociados**.

   1. En la sección **Patrón de eventos**, en **Origen del evento**, asegúrese de que la opción **Servicio de AWS ** esté seleccionada y, en **Servicio de AWS **, seleccione **EC2**.

   1. En **Event type**, seleccione **EBS Snapshot Notification** (Notificación de instantáneas de EBS), seleccione **Specific event(s)** (Eventos específicos) y, a continuación, elija **createSnapshot**.

   1. Seleccione **Specific result(s)** (Resultados específicos) y luego elija **succeeded**.

   1. Elija **Siguiente**.

1. En **Step 3: Select targets** (Paso 3: seleccionar destinos), haga lo siguiente:

   1. En **Tipos de destino**, seleccione **Servicio de AWS **.

   1. En **Select target** (Seleccionar destino), elija **Lambda function** (Función Lambda) y, en **Function** (Función), seleccione la función creada anteriormente.

   1. Elija **Next** (Siguiente).

1. En **Step 4: Configure tags** (Paso 4: configurar etiquetas), especifique las etiquetas para la regla si es necesario y, a continuación, seleccione **Next**.

1. En **Step 5: Review and create** (Paso 5: revisar y crear), revise la regla y, a continuación, elija **Create rule**.

La regla debería aparecer ahora en la pestaña **Rules (Reglas)**. En el ejemplo mostrado, el evento que ha configurado debería activarlo EBS la próxima vez que copie una instantánea.