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.
Amazon EventBridge pour Amazon EBS
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 dans le guide de EventBridge l'utilisateur Amazon.
Pour plus d'informations, consultez Qu'est-ce qu'Amazon EventBridge ? dans le guide de EventBridge l'utilisateur Amazon.
Événements
Événements de volume EBS
Amazon EBS envoie des événements au EventBridge moment où les événements de volume suivants se produisent.
Créer un volume (createVolume)
L'createVolume
événement est envoyé à votre AWS compte lorsqu'une action de création de volume est terminée. Toutefois, il n’est pas enregistré, consigné ou 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
-dd
Thh
: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
"
}
}
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
-dd
Thh
: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
",
}
}
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
-dd
Thh
: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
",
}
}
Supprimer le volume (deleteVolume)
L'deleteVolume
événement est envoyé à votre AWS compte lorsqu'une action de suppression d'un volume est terminée. Toutefois, il n’est pas enregistré, consigné ou 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
-dd
Thh
: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
"
}
}
Attacher ou réattacher le volume (attachVolume, reattachVolume)
L’événement attachVolume
ou reattachVolume
est envoyé à votre compte AWS si un volume ne parvient pas à s’attacher ou à se rattacher à une instance. Toutefois, il n’est pas enregistré, consigné ou 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
-dd
Thh
: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": ""
}
}
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
-dd
Thh
: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": ""
}
}
Détacher le volume (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énements de modification de volume EBS
Amazon EBS envoie modifyVolume
des événements EventBridge lorsqu'un volume est modifié. Toutefois, il n’est pas enregistré, consigné ou archivé.
{
"version": "0",
"id": "01234567
-0123
-0123
-0123
-012345678901
",
"detail-type": "EBS Volume Notification",
"source": "aws.ec2",
"account": "012345678901
",
"time": "yyyy
-mm
-dd
Thh
: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
"
}
}
Événements d’instantané EBS
Amazon EBS envoie des événements au EventBridge moment où les événements de volume suivants se produisent.
Créer un instantané (createSnapshot)
L'createSnapshot
événement est envoyé à votre AWS compte lorsqu'une action visant à créer un instantané est terminée. Toutefois, il n’est pas enregistré, consigné ou 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
-dd
Thh
: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
Thh
:mm
:ss
Z",
"endTime": "yyyy
-mm
-dd
Thh
:mm
:ss
Z" }
}
Créer des instantanés (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 section detail
, le champ source
contient les ARN des volumes sources de l’ensemble d’instantané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
-dd
Thh
: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
Thh
:mm
:ss
Z",
"endTime": "yyyy
-mm
-dd
Thh
: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"
}
]
}
}
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 les ARN des instantanés qui ont échoué. startTime
et endTime
représentent les instants où l’action de création de l’instantané a commencé et s’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": "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)
L'copySnapshot
événement est envoyé à votre AWS compte lorsqu'une action de copie d'un instantané est terminée. Toutefois, il n’est pas enregistré, consigné ou archivé. Cet événement peut avoir le résultat succeeded
ou failed
.
Si vous copiez l’instantané d’une région à l’autre, l’événement est émis dans la région de destination.
Données d’événement
La liste ci-dessous est l’exemple d’un objet JSON émis par EBS après un événement copySnapshot
réussi. La valeur snapshot_id
correspond à l’ARN de l’instantané nouvellement créé. Dans la section detail
, la valeur source
est l’ARN de l’instantané source. startTime
et endTime
représentent le début et la fin de l’action de copie d’instantané. incremental
indique si l’instantané est un instantané incrémentiel (true
), ou un instantané complet (false
).
{
"version": "0",
"id": "01234567
-0123
-0123
-0123
-012345678901
",
"detail-type": "EBS Snapshot Notification",
"source": "aws.ec2",
"account": "123456789012
",
"time": "yyyy
-mm
-dd
Thh
: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
Thh
:mm
:ss
Z",
"endTime": "yyyy
-mm
-dd
Thh
:mm
:ss
Z",
"incremental": "true"
}
}
La liste ci-dessous est l’exemple d’un objet JSON émis par EBS après un événement copySnapshot
ayant échoué. La cause de l’échec est attribuée à un ID d’instantané source non valide. La valeur snapshot_id
correspond à l’ARN de l’instantané ayant échoué. Dans la section detail
, la valeur source
correspond à l’ARN de l’instantané source. startTime
et endTime
représentent le moment où l’action de copie de l’instantané a démarré et s’est terminée.
{
"version": "0",
"id": "01234567
-0123
-0123
-0123
-012345678901
",
"detail-type": "EBS Snapshot Notification",
"source": "aws.ec2",
"account": "123456789012
",
"time": "yyyy
-mm
-dd
Thh
: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
Thh
:mm
:ss
Z",
"endTime": "yyyy
-mm
-dd
Thh
:mm
:ss
Z"
}
}
Partager un instantané (shareSnapshot)
L'shareSnapshot
événement est envoyé à votre AWS compte lorsqu'un autre compte partage un instantané avec celui-ci. Toutefois, il n’est pas enregistré, consigné ou 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
-dd
Thh
: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
Thh
:mm
:ss
Z",
"endTime": "yyyy
-mm
-dd
Thh
:mm
:ss
Z"
}
}
É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 Surveiller l’archivage des instantanés.
É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
-dd
Thh
: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
",
}
}
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
oudisabled
. 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
oudisabling
. Client.UserInitiated - Lifecycle state transition
-
L’état est passé avec succès à
optimizing
,enabled
oudisabled
. 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
oudisabled
. 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
oudisabled
. 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
oudisabled
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
-
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.{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": "arn:aws:logs:*:*:*" }, { "Effect": "Allow", "Action": [ "ec2:CopySnapshot" ], "Resource": "*" } ] }
-
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é deus-east-2
versus-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.
Ouvrez la EventBridge console Amazon à l'adresse https://console.aws.amazon.com/events/
. -
Dans le volet de navigation, sélectionnez Rules (Règles), puis Create rule (Créer une règle).
-
Pour Step 1: Define rule detail (Étape 1 : Définir les détails de la règle), procédez comme suit :
-
Saisissez un Name (Nom) et une Description pour la règle.
-
Pour Event bus (Bus d’événements), gardez default (par défaut).
-
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.
-
Pour Event type (Type d’événement), choisissez Rule with an event pattern (Règle avec un modèle d’événement).
-
Choisissez Suivant.
-
-
Pour Step 2: Build event pattern (Étape 2 : Créer un modèle d’événement), procédez comme suit :
-
Dans Source de l'événement, sélectionnez AWS des événements ou des événements EventBridge partenaires.
-
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.
-
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.
-
Sélectionnez Specific result(s) (Résultat(s) spécifique(s)), puis choisissez succeeded.
-
Choisissez Suivant.
-
-
Pour Step 3: Select targets (Étape 3 : Sélectionner les cibles), procédez comme suit :
-
Pour Types de cibles, choisissez service AWS .
-
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.
-
Choisissez Next (Suivant)
-
-
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).
-
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é.