Menggunakan AWS Lambda untuk menangani EventBridge acara - Amazon EBS

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Menggunakan AWS Lambda untuk menangani EventBridge acara

Anda dapat menggunakan Amazon EBS dan Amazon EventBridge untuk mengotomatiskan alur kerja pencadangan data Anda. Ini mengharuskan Anda untuk membuat kebijakan IAM, AWS Lambda fungsi untuk menangani acara, dan EventBridge aturan yang cocok dengan peristiwa yang masuk dan merutekkannya ke fungsi Lambda.

Prosedur berikut menggunakan peristiwa createSnapshot untuk menyalin snapshot yang sudah selesai secara otomatis ke Wilayah lain untuk pemulihan bencana.

Untuk menyalin snapshot yang sudah selesai ke Wilayah lain
  1. Buat kebijakan IAM, seperti yang ditunjukkan dalam contoh berikut, untuk memberikan izin untuk menggunakan CopySnapshot tindakan dan menulis ke log. EventBridge Tetapkan kebijakan kepada pengguna yang akan menangani EventBridge acara tersebut.

    { "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. Tentukan fungsi di Lambda yang akan tersedia dari konsol. EventBridge Contoh fungsi Lambda di bawah ini, ditulis dalam Node.js, dipanggil EventBridge ketika createSnapshot peristiwa yang cocok dipancarkan oleh Amazon EBS (menandakan bahwa snapshot telah selesai). Saat diinvokasi, fungsi menyalin snapshot dari us-east-2 untuk 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); } }); };

    Untuk memastikan bahwa fungsi Lambda Anda tersedia dari EventBridge konsol, buat di Wilayah tempat EventBridge acara akan terjadi. Lihat informasi selengkapnya di Panduan Developer AWS Lambda.

  3. Buka EventBridge konsol Amazon di https://console.aws.amazon.com/events/.

  4. Di panel navigasi, pilih buat Aturan, lalu pilih Buat aturan.

  5. Untuk Langkah 1: Tentukan detail aturan, lakukan hal berikut ini:

    1. Masukkan nilai untuk Nama dan Deskripsi.

    2. Untuk Bus peristiwa, tetap default.

    3. Pastikan Aktifkan aturan pada bus peristiwa yang dipilih telah diaktifkan.

    4. Untuk Tipe peristiwa, pilih Aturan dengan pola peristiwa.

    5. Pilih Berikutnya.

  6. Untuk Langkah 2: Bangun pola peristiwa, lakukan hal berikut ini:

    1. Untuk sumber acara, pilih AWS acara atau acara EventBridge mitra.

    2. Di bagian Pola acara, untuk sumber acara, pastikan bahwa AWS layanan dipilih, dan untuk AWS layanan, pilih EC2.

    3. Untuk Tipe peristiwa, pilih Notifikasi Snapshot EBS, pilih Peristiwa spesifik, lalu pilih createSnapshot.

    4. Pilih Hasil spesifik dan kemudian pilih berhasil.

    5. Pilih Berikutnya.

  7. Untuk Langkah 3: Pilih target, lakukan hal berikut ini:

    1. Untuk Tipe target, pilih Layanan AWS .

    2. Untuk Pilih target, pilih fungsi Lambda, dan untuk Fungsi pilih fungsi yang Anda buat sebelumnya.

    3. Pilih Selanjutnya

  8. Untuk Langkah 4: Konfigurasikan tanda, tentukan tanda untuk aturan jika diperlukan, lalu pilih Berikutnya.

  9. Untuk Langkah 5: Tinjau dan buat, tinjau aturan lalu pilih Buat aturan.

Aturan Anda seharusnya kini muncul di tab Aturan. Pada contoh yang ditunjukkan, peristiwa yang Anda konfigurasikan harusoleh EBS pada saat Anda menyalin snapshot berikutnya.