Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
EventBridge Acara Amazon untuk Amazon EBS
Amazon EBS mengirimkan acara ke Amazon EventBridge untuk tindakan yang dilakukan pada volume dan snapshot. Dengan EventBridge, Anda dapat menetapkan aturan yang memicu tindakan terprogram dalam menanggapi peristiwa ini. Misalnya, Anda dapat membuat aturan yang mengirimkan notifikasi ke email Anda saat snapshot diaktifkan untuk pemulihan snapshot cepat.
Peristiwa di EventBridge direpresentasikan sebagai JSON objek. Bidang yang unik untuk acara tersebut terdapat di bagian “detail” JSON objek. Bidang "peristiwa" berisi nama peristiwa. Bidang "hasil" berisi status selesai dari tindakan yang memicu peristiwa. Untuk informasi selengkapnya, lihat pola EventBridge acara Amazon di Panduan EventBridge Pengguna Amazon.
Untuk informasi selengkapnya, lihat Apa itu Amazon EventBridge? di Panduan EventBridge Pengguna Amazon.
Peristiwa
EBSperistiwa volume
Amazon EBS mengirimkan peristiwa ke EventBridge saat peristiwa volume berikut terjadi.
Buat volume (createVolume)
createVolume
Acara dikirim ke AWS akun Anda ketika tindakan untuk membuat volume selesai. Namun, peristiwa tersebut tidak disimpan, dicatat, atau diarsipkan. Peristiwa ini dapat membawa hasil available
atau failed
. Pembuatan akan gagal jika tidak valid disediakan, seperti AWS KMS key yang ditunjukkan pada contoh di bawah ini.
Data peristiwa
Daftar di bawah ini adalah contoh JSON objek yang dipancarkan oleh EBS untuk acara yang suksescreateVolume
.
{
"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
"
}
}
Daftar di bawah ini adalah contoh JSON objek yang dipancarkan EBS setelah peristiwa gagalcreateVolume
. Penyebab kegagalan adalah KMS kunci yang dinonaktifkan.
{
"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
",
}
}
Berikut ini adalah contoh dari JSON objek yang dipancarkan oleh EBS setelah peristiwa gagalcreateVolume
. Penyebab kegagalan adalah impor KMS kunci yang tertunda.
{
"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
",
}
}
Hapus volume (deleteVolume)
deleteVolume
Acara dikirim ke AWS akun Anda ketika tindakan untuk menghapus volume selesai. Namun, peristiwa tersebut tidak disimpan, dicatat, atau diarsipkan. Peristiwa ini memiliki hasil deleted
. Jika penghapusan tidak selesai, peristiwa tidak akan pernah dikirim.
Data peristiwa
Daftar di bawah ini adalah contoh JSON objek yang dipancarkan oleh EBS untuk acara yang suksesdeleteVolume
.
{
"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
"
}
}
Volume melampirkan atau memasang kembali (attachVolume,reattachVolume)
Peristiwa attachVolume
atau reattachVolume
dikirim ke akun AWS Anda jika volume gagal untuk memasang atau memasang kembali suatu instans. Namun, peristiwa tersebut tidak disimpan, dicatat, atau diarsipkan. Jika Anda menggunakan KMS kunci untuk mengenkripsi EBS volume dan KMS kunci menjadi tidak valid, EBS akan memancarkan peristiwa jika kunci tersebut kemudian digunakan untuk melampirkan atau KMS menyambung kembali ke sebuah instance, seperti yang ditunjukkan pada contoh di bawah ini.
Data peristiwa
Daftar di bawah ini adalah contoh JSON objek yang dipancarkan EBS setelah peristiwa gagalattachVolume
. Penyebab kegagalan adalah penghapusan KMS kunci yang tertunda.
catatan
AWS dapat mencoba untuk menyambung kembali ke volume setelah pemeliharaan server rutin.
{
"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": ""
}
}
Daftar di bawah ini adalah contoh JSON objek yang dipancarkan EBS setelah peristiwa gagalreattachVolume
. Penyebab kegagalan adalah penghapusan KMS kunci yang tertunda.
{
"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": ""
}
}
Lepaskan volume () detachVolume
detachVolume
Acara dikirim ke AWS akun Anda ketika volume terlepas dari EC2 instans Amazon.
Data peristiwa
Berikut ini adalah contoh detachVolume
acara yang sukses.
{
"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
"
}
}
}
EBSperistiwa modifikasi volume
Amazon EBS mengirimkan modifyVolume
acara ke EventBridge saat volume diubah. Namun, peristiwa tersebut tidak disimpan, dicatat, atau diarsipkan.
{
"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
"
}
}
EBSperistiwa snapshot
Amazon EBS mengirimkan peristiwa ke EventBridge saat peristiwa volume berikut terjadi.
Buat snapshot () createSnapshot
createSnapshot
Acara dikirim ke AWS akun Anda saat tindakan untuk membuat snapshot selesai. Namun, peristiwa tersebut tidak disimpan, dicatat, atau diarsipkan. Peristiwa ini dapat membawa hasil succeeded
atau failed
.
Data Peristiwa
Daftar di bawah ini adalah contoh JSON objek yang dipancarkan oleh EBS untuk acara yang suksescreateSnapshot
. Di detail
bagian ini, source
bidang berisi ARN volume sumber. Bidang startTime
dan endTime
mengindikasikan kapan pembuatan snapshot dimulai dan diselesaikan.
{
"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" }
}
Buat snapshot () createSnapshots
createSnapshots
Acara dikirim ke AWS akun Anda saat tindakan untuk membuat snapshot multi-volume selesai. Peristiwa ini dapat membawa hasil succeeded
atau failed
.
Data Peristiwa
Daftar di bawah ini adalah contoh JSON objek yang dipancarkan oleh EBS untuk acara yang suksescreateSnapshots
. Di detail
bagian ini, source
bidang berisi volume sumber ARNs dari kumpulan snapshot multi-volume. Bidang startTime
dan endTime
mengindikasikan kapan pembuatan snapshot dimulai dan diselesaikan.
{
"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"
}
]
}
}
Daftar di bawah ini adalah contoh JSON objek yang dipancarkan EBS setelah peristiwa gagalcreateSnapshots
. Penyebab kegagalan adalah satu atau lebih snapshot untuk set snapshot multi-volume gagal diselesaikan. Nilai-nilai snapshot_id
adalah ARNs snapshot yang gagal. startTime
dan endTime
mewakili saat tindakan create-snapshots dimulai dan berakhir.
{
"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"
}
]
}
}
Salin snapshot () copySnapshot
copySnapshot
Acara dikirim ke AWS akun Anda ketika tindakan untuk menyalin snapshot selesai. Namun, peristiwa tersebut tidak disimpan, dicatat, atau diarsipkan. Peristiwa ini dapat membawa hasil succeeded
atau failed
.
Jika Anda menyalin snapshot di seluruh Wilayah, peristiwa tersebut dipancarkan di Wilayah tujuan.
Data peristiwa
Daftar di bawah ini adalah contoh JSON objek yang dipancarkan oleh EBS setelah acara yang suksescopySnapshot
. Nilai snapshot_id
adalah snapshot ARN yang baru dibuat. Di detail
bagian ini, nilai source
adalah ARN snapshot sumber. startTime
dan endTime
mewakili saat tindakan copy-snapshot dimulai dan berakhir. incremental
menunjukkan apakah snapshot adalah snapshot inkremental (true
), atau snapshot penuh (). 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"
}
}
Daftar di bawah ini adalah contoh JSON objek yang dipancarkan EBS setelah peristiwa gagalcopySnapshot
. Penyebab kegagalan tersebut adalah ID snapshot sumber yang tidak valid. Nilai snapshot_id
adalah snapshot ARN yang gagal. Di detail
bagian ini, nilai source
adalah ARN snapshot sumber. startTime
dan endTime
mewakili saat tindakan copy-snapshot dimulai dan berakhir.
{
"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"
}
}
Bagikan snapshot () shareSnapshot
shareSnapshot
Acara dikirim ke AWS akun Anda ketika akun lain membagikan snapshot dengannya. Namun, peristiwa tersebut tidak disimpan, dicatat, atau diarsipkan. Hasilnya selalu succeeded
.
Data peristiwa
Berikut ini adalah contoh JSON objek yang dipancarkan oleh EBS setelah peristiwa selesaishareSnapshot
. Di detail
bagian tersebut, nilainya source
adalah nomor AWS akun pengguna yang membagikan snapshot dengan Anda. startTime
dan endTime
mewakili kapan tindakan share-snapshot dimulai dan berakhir. Peristiwa shareSnapshot
ini hanya akan dilakukan saat snapshot privat dibagikan dengan pengguna lain. Berbagi snapshot publik tidak memicu peristiwa.
{
"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"
}
}
EBSSnapshots Arsip acara
Amazon EBS memancarkan peristiwa yang terkait dengan tindakan pengarsipan snapshot. Untuk informasi selengkapnya, lihat Pantau pengarsipan EBS snapshot Amazon menggunakan Acara CloudWatch .
EBSperistiwa pemulihan snapshot cepat
Amazon EBS mengirimkan peristiwa ke EventBridge saat status pemulihan snapshot cepat untuk snapshot berubah. Peristiwa dipancarkan atas dasar upaya terbaik.
Berikut adalah contoh data untuk peristiwa ini.
{
"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
",
}
}
Kemungkinan nilai untuk state
adalah enabling
, optimizing
, enabled
, disabling
, dan disabled
.
Kemungkinan nilai untuk message
adalah sebagai berikut:
Client.InvalidSnapshot.InvalidState - The requested snapshot transitioned to an invalid state (Error)
-
Permintaan untuk mengaktifkan pemulihan snapshot cepat gagal dan status bertransisi ke
disabling
ataudisabled
. Pemulihan snapshot cepat tidak diaktifkan untuk snapshot ini. Client.UserInitiated
-
Status berhasil dialihkan ke
enabling
ataudisabling
. Client.UserInitiated - Lifecycle state transition
-
Status berhasil dialihkan ke
optimizing
,enabled
, ataudisabled
. Server.InsufficientCapacity - There was insufficient capacity available to satisfy the request
-
Permintaan untuk mengaktifkan pemulihan snapshot cepat gagal karena kapasitas tidak mencukupi, dan status bertransisi ke
disabling
ataudisabled
. Tunggu dan kemudian coba lagi. Server.InternalError - An internal error caused the operation to fail
-
Permintaan untuk mengaktifkan pemulihan snapshot cepat gagal karena kesalahan internal, dan status bertransisi ke
disabling
ataudisabled
. Tunggu dan kemudian coba lagi. Client.InvalidSnapshot.InvalidState - The requested snapshot was deleted or access permissions were revoked
-
Status pemulihan snapshot cepat untuk snapshot telah ditransisikan ke
disabling
ataudisabled
karena snapshot dihapus atau tidak dibagikan oleh pemilik snapshot. Pemulihan snapshot cepat tidak dapat diaktifkan untuk snapshot yang telah dihapus atau tidak lagi dibagikan kepada Anda.
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 IAM kebijakan, AWS Lambda fungsi untuk menangani acara, dan EventBridge aturan yang cocok dengan peristiwa yang masuk dan merutakannya 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
-
Buat IAM kebijakan, seperti yang ditunjukkan pada contoh berikut, untuk memberikan izin untuk menggunakan
CopySnapshot
tindakan dan menulis ke EventBridge log. 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": "*" } ] }
-
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 EBS Amazon (menandakan bahwa snapshot telah selesai). Saat diinvokasi, fungsi menyalin snapshot darius-east-2
untukus-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.
Buka EventBridge konsol Amazon di https://console.aws.amazon.com/events/
. -
Di panel navigasi, pilih buat Aturan, lalu pilih Buat aturan.
-
Untuk Langkah 1: Tentukan detail aturan, lakukan hal berikut ini:
-
Masukkan nilai untuk Nama dan Deskripsi.
-
Untuk Bus peristiwa, tetap default.
-
Pastikan Aktifkan aturan pada bus peristiwa yang dipilih telah diaktifkan.
-
Untuk Tipe peristiwa, pilih Aturan dengan pola peristiwa.
-
Pilih Berikutnya.
-
-
Untuk Langkah 2: Bangun pola peristiwa, lakukan hal berikut ini:
-
Untuk sumber acara, pilih AWS acara atau acara EventBridge mitra.
-
Di bagian Pola acara, untuk sumber acara, pastikan bahwa AWS layanan dipilih, dan untuk AWS layanan, pilih EC2.
-
Untuk jenis Acara, pilih Pemberitahuan EBS Snapshot, pilih Acara tertentu, lalu pilih createSnapshot.
-
Pilih Hasil spesifik dan kemudian pilih berhasil.
-
Pilih Berikutnya.
-
-
Untuk Langkah 3: Pilih target, lakukan hal berikut ini:
-
Untuk Tipe target, pilih Layanan AWS .
-
Untuk Pilih target, pilih fungsi Lambda, dan untuk Fungsi pilih fungsi yang Anda buat sebelumnya.
-
Pilih Selanjutnya
-
-
Untuk Langkah 4: Konfigurasikan tanda, tentukan tanda untuk aturan jika diperlukan, lalu pilih Berikutnya.
-
Untuk Langkah 5: Tinjau dan buat, tinjau aturan lalu pilih Buat aturan.
Aturan Anda seharusnya kini muncul di tab Aturan. Dalam contoh yang ditampilkan, peristiwa yang Anda konfigurasikan harus dipancarkan EBS saat Anda menyalin snapshot berikutnya.