EventBridge Amazon-Veranstaltungen für Amazon EBS - Amazon EBS

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

EventBridge Amazon-Veranstaltungen für Amazon EBS

Amazon EBS sendet Ereignisse an Amazon EventBridge für Aktionen, die mit Volumes und Snapshots ausgeführt werden. Mit können Sie Regeln festlegen EventBridge, die als Reaktion auf diese Ereignisse programmatische Aktionen auslösen. Sie können beispielsweise eine Regel erstellen, die eine Benachrichtigung an Ihre E-Mailadresse sendet, wenn ein Snapshot für die schnelle Snapshot-Wiederherstellung aktiviert wurde.

Ereignisse in EventBridge werden als JSON Objekte dargestellt. Die Felder, die für das Ereignis eindeutig sind, sind im Abschnitt „Details“ des JSON Objekts enthalten. Im Feld "Ereignis" ist der Name des Ereignisses enthalten. Das Feld "Ergebnis" enthält den vollständigen Status der Aktion, die zur Auslösung des Ereignisses führte. Weitere Informationen finden Sie unter Amazon EventBridge Event Patterns im EventBridge Amazon-Benutzerhandbuch.

Weitere Informationen finden Sie unter Was ist Amazon EventBridge? im EventBridge Amazon-Benutzerhandbuch.

EBSVolumen-Ereignisse

Amazon EBS sendet Ereignisse an den EventBridge Zeitpunkt, an dem die folgenden Volumenereignisse eintreten.

Volumen erstellen (createVolume)

Das createVolume Ereignis wird an Ihr AWS Konto gesendet, wenn eine Aktion zum Erstellen eines Volumes abgeschlossen ist. Es wird jedoch nicht gespeichert, protokolliert oder archiviert. Für dieses Ereignis kann als Ergebnis entweder available oder failed eintreten. Die Erstellung schlägt fehl, wenn ein ungültiger Wert angegeben AWS KMS key wurde, wie in den folgenden Beispielen gezeigt.

Ereignisdaten

Die folgende Liste ist ein Beispiel für ein JSON Objekt, das von EBS für ein erfolgreiches createVolume Ereignis ausgegeben wurde.

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

Die folgende Auflistung ist ein Beispiel für ein JSON Objekt, das von EBS nach einem fehlgeschlagenen createVolume Ereignis ausgegeben wird. Die Ursache für den Fehler war ein deaktivierter KMS Schlüssel.

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

Im Folgenden finden Sie ein Beispiel für ein JSON Objekt, das von EBS nach einem fehlgeschlagenen createVolume Ereignis ausgegeben wird. Die Ursache für den Fehler war ein KMS Schlüssel, der noch nicht importiert wurde.

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

Volumen löschen (deleteVolume)

Das deleteVolume Ereignis wird an Ihr AWS Konto gesendet, wenn eine Aktion zum Löschen eines Volumes abgeschlossen ist. Es wird jedoch nicht gespeichert, protokolliert oder archiviert. Dieses Ereignis hat das Ergebnis deleted. Wenn das Löschen nicht abgeschlossen wird, wird das Ereignis nie gesendet.

Ereignisdaten

Die folgende Liste ist ein Beispiel für ein JSON Objekt, das von EBS für eine erfolgreiche deleteVolume Veranstaltung ausgegeben wurde.

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

Volumen anhängen oder erneut anhängen (attachVolume,reattachVolume)

Das Ereignis attachVolume oder reattachVolume wird an Ihr AWS -Konto gesendet, wenn ein Volume nicht an eine Instance zugewiesen oder neu zugewiesen werden kann. Es wird jedoch nicht gespeichert, protokolliert oder archiviert. Wenn Sie einen KMS Schlüssel zum Verschlüsseln eines EBS Volumes verwenden und der KMS Schlüssel ungültig wird, wird ein Ereignis ausgelöst, EBS wenn dieser KMS Schlüssel später verwendet wird, um eine Instanz anzuhängen oder erneut an eine Instanz anzuhängen, wie in den folgenden Beispielen gezeigt.

Ereignisdaten

Die folgende Liste ist ein Beispiel für ein JSON Objekt, das von EBS nach einem fehlgeschlagenen attachVolume Ereignis ausgegeben wird. Die Ursache für den Fehler war ein KMS Schlüssel, dessen Löschung noch aussteht.

Anmerkung

AWS kann nach einer routinemäßigen Serverwartung versuchen, erneut eine Verbindung zu einem Volume herzustellen.

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

Die folgende Liste ist ein Beispiel für ein JSON Objekt, das von EBS nach einem fehlgeschlagenen reattachVolume Ereignis ausgegeben wird. Die Ursache für den Fehler war ein KMS Schlüssel, dessen Löschung noch aussteht.

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

Band trennen () detachVolume

Das detachVolume Ereignis wird an Ihr AWS Konto gesendet, wenn ein Volume von einer EC2 Amazon-Instance getrennt wird.

Ereignisdaten

Im Folgenden finden Sie ein Beispiel für eine erfolgreiche detachVolume Veranstaltung.

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

EBSEreignisse bei Volumenänderungen

Amazon EBS sendet modifyVolume Ereignisse an, EventBridge wenn ein Volume geändert wird. Es wird jedoch nicht gespeichert, protokolliert oder archiviert.

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

EBSSnapshot-Ereignisse

Amazon EBS sendet Ereignisse an den EventBridge Zeitpunkt, an dem die folgenden Volumenereignisse eintreten.

Snapshot erstellen (createSnapshot)

Das createSnapshot Ereignis wird an Ihr AWS Konto gesendet, wenn eine Aktion zum Erstellen eines Snapshots abgeschlossen ist. Es wird jedoch nicht gespeichert, protokolliert oder archiviert. Für dieses Ereignis kann als Ergebnis entweder succeeded oder failed eintreten.

Ereignisdaten

Die folgende Liste ist ein Beispiel für ein JSON Objekt, das von EBS für ein erfolgreiches createSnapshot Ereignis ausgegeben wurde. In detail diesem Abschnitt enthält das source Feld den ARN Wert des Quellvolumes. Die Felder startTime und endTime zeigen an, wann die Erstellung des Snapshot begann und abgeschlossen war.

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

Schnappschüsse erstellen () createSnapshots

Das createSnapshots Ereignis wird an Ihr AWS Konto gesendet, wenn eine Aktion zum Erstellen eines Snapshots mit mehreren Volumes abgeschlossen ist. Für dieses Ereignis kann als Ergebnis entweder succeeded oder failed eintreten.

Ereignisdaten

Die folgende Liste ist ein Beispiel für ein JSON Objekt, das von EBS für ein erfolgreiches createSnapshots Ereignis ausgegeben wurde. In detail diesem Abschnitt enthält das source Feld die Quellvolumes ARNs des Snapshot-Sets mit mehreren Volumes. Die Felder startTime und endTime zeigen an, wann die Erstellung des Snapshot begann und abgeschlossen war.

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

Die folgende Liste ist ein Beispiel für ein JSON Objekt, das von EBS nach einem fehlgeschlagenen createSnapshots Ereignis ausgegeben wurde. Der Fehler wurde verursacht, da ein oder mehrere Snapshots für den Multi-Volume-Snapshot nicht abgeschlossen werden konnten. Die Werte von snapshot_id entsprechen den ARNs fehlgeschlagenen Snapshots. startTimeund endTime geben an, wann die Aktion „Snapshots erstellen“ gestartet und beendet wurde.

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

Schnappschuss kopieren () copySnapshot

Das copySnapshot Ereignis wird an Ihr AWS Konto gesendet, wenn eine Aktion zum Kopieren eines Snapshots abgeschlossen ist. Es wird jedoch nicht gespeichert, protokolliert oder archiviert. Für dieses Ereignis kann als Ergebnis entweder succeeded oder failed eintreten.

Wenn Sie den Snapshot regionsübergreifend kopieren, wird das Ereignis in der Zielregion ausgegeben.

Ereignisdaten

Die folgende Liste ist ein Beispiel für ein JSON Objekt, das von EBS nach einem erfolgreichen copySnapshot Ereignis ausgegeben wird. Der Wert von snapshot_id entspricht dem ARN des neu erstellten Snapshots. In detail diesem Abschnitt entspricht der Wert von source dem ARN des Quell-Snapshots. startTimeund endTime geben an, wann die Aktion „Snapshot kopieren“ gestartet und beendet wurde. incrementalgibt an, ob es sich bei dem Snapshot um einen inkrementellen Snapshot (true) oder einen vollständigen Snapshot () handelt. false

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

Die folgende Liste ist ein Beispiel für ein JSON Objekt, das von EBS nach einem fehlgeschlagenen copySnapshot Ereignis ausgegeben wird. Die Ursache für den Fehler war eine ungültige Quell-Snapshot-ID. Der Wert von snapshot_id entspricht dem ARN des fehlgeschlagenen Snapshots. In detail diesem Abschnitt entspricht der Wert von source dem ARN des Quell-Snapshots. startTimeund endTime geben an, wann die Aktion „Snapshot kopieren“ gestartet und beendet wurde.

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

Schnappschuss teilen () shareSnapshot

Das shareSnapshot Ereignis wird an Ihr AWS Konto gesendet, wenn ein anderes Konto einen Snapshot mit diesem teilt. Es wird jedoch nicht gespeichert, protokolliert oder archiviert. Das Ergebnis ist immer succeeded.

Ereignisdaten

Im Folgenden finden Sie ein Beispiel für ein JSON Objekt, das von EBS nach einem abgeschlossenen shareSnapshot Ereignis ausgegeben wird. In detail diesem Abschnitt source ist der Wert von die AWS Kontonummer des Benutzers, der den Snapshot mit Ihnen geteilt hat. startTimeund endTime geben an, wann die Aktion „Snapshot teilen“ gestartet und beendet wurde. Das Ereignis shareSnapshot wird nur dann gesendet, wenn ein privater Snapshot mit einem anderen Benutzer geteilt wird. Durch das Teilen eines öffentlichen Snapshot wird das Ereignis noch nicht ausgelöst.

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

EBSSchnappschüsse Ereignisse archivieren

Amazon EBS gibt Ereignisse aus, die sich auf Aktionen zur Snapshot-Archivierung beziehen. Weitere Informationen finden Sie unter Überwachen Sie die EBS Amazon-Snapshot-Archivierung mit CloudWatch Events.

EBSschnelle Snapshot-Wiederherstellungsereignisse

Amazon EBS sendet Ereignisse an, EventBridge wenn sich der Status der schnellen Snapshot-Wiederherstellung für einen Snapshot ändert. Ereignisse werden auf bestmögliche Weise ausgegeben.

Im Folgenden finden Sie Beispieldaten für dieses Ereignis.

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

Die möglichen Werte für state sind enabling, optimizing, enabled, disabling und disabled.

Die möglichen Werte für message sind wie folgt:

Client.InvalidSnapshot.InvalidState - The requested snapshot transitioned to an invalid state (Error)

Eine Anfrage zur Aktivierung der schnellen Snapshot-Wiederherstellung ist fehlgeschlagen und der Status hat zu disabling oder disabled gewechselt. Die schnelle Snapshot-Wiederherstellung kann für diesen Snapshot nicht aktiviert werden.

Client.UserInitiated

Der Status hat erfolgreich zu enabling oder disabling gewechselt.

Client.UserInitiated - Lifecycle state transition

Der Status hat erfolgreich zu optimizing, enabled oder disabled gewechselt.

Server.InsufficientCapacity - There was insufficient capacity available to satisfy the request

Eine Anfrage zur Aktivierung der schnellen Snapshot-Wiederherstellung ist aufgrund von unzureichender Kapazität fehlgeschlagen und der Status hat zu disabling oder disabled gewechselt. Warten Sie und versuchen Sie es dann erneut.

Server.InternalError - An internal error caused the operation to fail

Eine Anfrage zur Aktivierung der schnellen Snapshot-Wiederherstellung ist aufgrund eines internen Fehlers fehlgeschlagen und der Status hat zu disabling oder disabled gewechselt. Warten Sie und versuchen Sie es dann erneut.

Client.InvalidSnapshot.InvalidState - The requested snapshot was deleted or access permissions were revoked

Der Status für die schnelle Snapshot-Wiederherstellung für den Snapshot hat zu disabling oder disabled gewechselt, weil der Snapshot vom Snapshot-Besitzer gelöscht oder die Freigabe aufgehoben wurde. Die schnelle Snapshot-Wiederherstellung kann nicht für einen Snapshot aktiviert werden, der gelöscht wurde oder nicht mehr für Sie freigegeben ist.

Wird AWS Lambda zur Behandlung von EventBridge Ereignissen verwendet

Sie können Amazon EBS und Amazon verwenden EventBridge , um Ihren Datensicherungsablauf zu automatisieren. Dazu müssen Sie eine IAM Richtlinie, eine AWS Lambda Funktion zur Behandlung des Ereignisses und eine EventBridge Regel erstellen, die eingehende Ereignisse abgleicht und sie an die Lambda-Funktion weiterleitet.

Für das folgende Verfahren wird das Ereignis createSnapshot verwendet, um einen abgeschlossenen Snapshot zur Notfallwiederherstellung automatisch in eine andere Region zu kopieren.

Kopieren eines abgeschlossenen Snapshots in eine andere Region
  1. Erstellen Sie eine IAM Richtlinie, wie die im folgenden Beispiel gezeigte, um Berechtigungen zur Verwendung der CopySnapshot Aktion und zum Schreiben in das EventBridge Protokoll zu erteilen. Weisen Sie die Richtlinie dem Benutzer zu, der das EventBridge Ereignis behandeln wird.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": "arn:aws:logs:*:*:*" }, { "Effect": "Allow", "Action": [ "ec2:CopySnapshot" ], "Resource": "*" } ] }
  2. Definieren Sie eine Funktion in Lambda, die von der EventBridge Konsole aus verfügbar sein wird. Die folgende Lambda-Beispielfunktion, geschrieben in Node.js, wird aufgerufen, EventBridge wenn ein entsprechendes createSnapshot Ereignis von Amazon ausgelöst wird EBS (was bedeutet, dass ein Snapshot abgeschlossen wurde). Nach der Auslösung kopiert die Funktion den Snapshot von us-east-2 nach 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); } }); };

    Um sicherzustellen, dass Ihre Lambda-Funktion in der EventBridge Konsole verfügbar ist, erstellen Sie sie in der Region, in der das EventBridge Ereignis eintreten wird. Weitere Informationen finden Sie im AWS Lambda -Entwicklerhandbuch.

  3. Öffnen Sie die EventBridge Amazon-Konsole unter https://console.aws.amazon.com/events/.

  4. Wählen Sie im Navigationsbereich Rules (Regeln) und anschließend Create rule (Regel erstellen) aus.

  5. Gehen Sie bei Schritt 1: Regeldetail festlegen folgendermaßen vor:

    1. Geben Sie einen Name (Namen) und eine Description (Beschreibung) ein.

    2. Behalten Sie für Event bus (Event Bus) default (Standard) bei.

    3. Vergewissern Sie sich, dass Enable the rule on the selected event bus (Regel auf dem ausgewählten Event Bus aktivieren) eingeschaltet ist.

    4. Bei Event type (Ereignistyp) wählen Sie Rule with an event pattern (Regel mit einem Ereignismuster) aus.

    5. Wählen Sie Weiter.

  6. Bei Schritt 2: Ereignismuster erstellen gehen Sie wie folgt vor:

    1. Wählen Sie unter Eventquelle AWS Events oder EventBridge Partnerevents aus.

    2. Stellen Sie sicher, dass im Abschnitt Ereignismuster für Ereignisquelle die Option AWS Dienst ausgewählt ist, und wählen Sie für AWS Dienst die Option aus EC2.

    3. Wählen Sie als Ereignistyp die Option EBSSnapshot-Benachrichtigung, wählen Sie Bestimmte Ereignisse aus und wählen Sie dann createSnapshot.

    4. Wählen Sie Spezifische(s) Ergebnis(se) und dann Erfolgreich aus.

    5. Wählen Sie Weiter.

  7. Gehen Sie bei Schritt 3: Ziele auswählen wie folgt vor:

    1. Bei Target types (Zieltypen) wählen Sie AWS -Service aus.

    2. Wählen Sie bei Select target (Ziel auswählen) Lambda function (Lamda-Funktion) und bei Function (Funktion) die zuvor von Ihnen erstellte Funktion aus.

    3. Wählen Sie Next (Weiter)

  8. Bei Step 4: Configure tags (Schritt 4: Tags konfigurieren) geben Sie bei Bedarf Tags für die Regel an und wählen Sie dann Next (Weiter).

  9. Bei Step 5: Review and create (Schritt 5: Überprüfen und erstellen) überprüfen Sie die Regel und wählen Sie dann Create rule (Regel erstellen).

Ihre Regel sollte jetzt auf der Registerkarte Rules (Regeln) erscheinen. In dem gezeigten Beispiel sollte das von Ihnen konfigurierte Ereignis ausgelöst werden, wenn Sie EBS das nächste Mal einen Snapshot kopieren.