아마존을 위한 아마존 EventBridge 이벤트 EBS - 아마존 EBS

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

아마존을 위한 아마존 EventBridge 이벤트 EBS

Amazon은 볼륨 및 스냅샷에서 수행된 EventBridge 작업에 대해 Amazon에 이벤트를 EBS 전송합니다. 를 사용하면 이러한 이벤트에 대한 응답으로 EventBridge 프로그래밍 작업을 트리거하는 규칙을 설정할 수 있습니다. 예를 들어 스냅샷의 빠른 스냅샷 복원이 활성화된 경우 이메일로 알림을 보내는 규칙을 만들 수 있습니다.

의 EventBridge 이벤트는 JSON 객체로 표시됩니다. 이벤트에 고유한 필드는 JSON 개체의 “세부 정보” 섹션에 포함됩니다. "이벤트" 필드에는 이벤트 이름이 포함됩니다. "결과" 필드에는 이벤트를 트리거한 작업의 완료 상태가 포함됩니다. 자세한 내용은 Amazon EventBridge 사용 설명서의 Amazon EventBridge 이벤트 패턴을 참조하십시오.

자세한 내용은 Amazon이란 무엇입니까 EventBridge? 를 참조하십시오. Amazon EventBridge 사용 설명서에서 확인할 수 있습니다.

EBS볼륨 이벤트

Amazon은 다음과 같은 볼륨 이벤트가 발생할 EventBridge 때 이벤트를 EBS 전송합니다.

볼륨 생성 (createVolume)

볼륨 생성 작업이 완료되면 createVolume 이벤트가 사용자 AWS 계정으로 전송됩니다. 그러나 저장, 로깅, 아카이빙은 되지 않습니다. 이 이벤트에서 available 또는 failed 결과가 발생할 수 있습니다. 아래 예와 같이 유효하지 AWS KMS key 않은 정보가 제공되면 생성이 실패합니다.

이벤트 데이터

아래 목록은 성공적인 createVolume 이벤트를 EBS 위해 에서 내보낸 JSON 객체의 예입니다.

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

아래 목록은 이벤트 실패 EBS createVolume 후 방출되는 JSON 객체의 예입니다. 장애 원인은 비활성화된 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 disabled.", "request-id": "01234567-0123-0123-0123-0123456789ab", } }

다음은 createVolume 이벤트 실패 EBS 후 방출되는 JSON 객체의 예입니다. 실패 원인은 가져오기가 보류 중인 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", } }

볼륨 삭제 (deleteVolume)

볼륨 삭제 작업이 완료되면 deleteVolume 이벤트가 사용자 AWS 계정으로 전송됩니다. 그러나 저장, 로깅, 아카이빙은 되지 않습니다. 이 이벤트에 deleted 결과가 있습니다. 삭제가 완료되지 않으면 이벤트가 전송되지 않습니다.

이벤트 데이터

아래 목록은 성공적인 deleteVolume 이벤트를 EBS 위해 에서 내보낸 JSON 객체의 예입니다.

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

볼륨 연결 또는 재연결 (attachVolume,) reattachVolume

볼륨이 인스턴스에 연결하지 못하거나 다시 연결하지 못하면 attachVolume 계정으로 reattachVolume 또는 AWS 이벤트가 전송됩니다. 그러나 저장, 로깅, 아카이빙은 되지 않습니다. KMS키를 사용하여 EBS 볼륨을 암호화했는데 KMS 키가 유효하지 않게 되면 아래 예와 같이 나중에 해당 KMS 키를 사용하여 인스턴스에 연결하거나 다시 연결하는 경우 이벤트가 발생합니다. EBS

이벤트 데이터

아래 목록은 이벤트 실패 EBS 후 JSON 생성된 객체의 예입니다. attachVolume 삭제 보류 중인 KMS 키가 실패의 원인이었습니다.

참고

AWS 정기적인 서버 유지 관리 후 볼륨에 재연결을 시도할 수 있습니다.

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

아래 목록은 이벤트 실패 EBS reattachVolume 후 방출되는 JSON 객체의 예입니다. 삭제 보류 중인 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": "" } }

볼륨 분리 () detachVolume

Amazon EC2 인스턴스에서 볼륨이 분리되면 detachVolume 이벤트가 사용자 AWS 계정으로 전송됩니다.

이벤트 데이터

다음은 성공적인 detachVolume 이벤트의 예입니다.

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

EBS볼륨 수정 이벤트

Amazon은 볼륨이 EventBridge 수정될 때 modifyVolume 이벤트를 EBS 전송합니다. 그러나 저장, 로깅, 아카이빙은 되지 않습니다.

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

EBS스냅샷 이벤트

Amazon은 다음과 같은 볼륨 이벤트가 발생할 EventBridge 때 이벤트를 EBS 전송합니다.

스냅샷 생성 (createSnapshot)

스냅샷 생성 작업이 완료되면 createSnapshot 이벤트가 사용자 AWS 계정으로 전송됩니다. 그러나 저장, 로깅, 아카이빙은 되지 않습니다. 이 이벤트에서 succeeded 또는 failed 결과가 발생할 수 있습니다.

이벤트 데이터

아래 목록은 성공적인 createSnapshot 이벤트를 EBS 위해 에서 내보낸 JSON 객체의 예입니다. detail섹션의 source 필드에는 소스 ARN 볼륨의 내용이 포함됩니다. startTimeendTime 필드는 스냅샷 생성이 시작된 시점과 완료된 시점을 나타냅니다.

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

스냅샷 생성 () createSnapshots

다중 볼륨 스냅샷 생성 작업이 완료되면 createSnapshots 이벤트가 사용자 AWS 계정으로 전송됩니다. 이 이벤트에서 succeeded 또는 failed 결과가 발생할 수 있습니다.

이벤트 데이터

아래 목록은 성공적인 이벤트를 EBS 위해 에서 내보낸 JSON 객체의 예입니다. createSnapshots detailARNs섹션의 source 필드에는 다중 볼륨 스냅샷 세트의 소스 볼륨이 포함됩니다. startTimeendTime 필드는 스냅샷 생성이 시작된 시점과 완료된 시점을 나타냅니다.

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

아래 목록은 이벤트 실패 EBS createSnapshots 후 방출되는 JSON 객체의 예입니다. 실패 원인은 다중 볼륨 스냅샷 세트에 대한 하나 이상의 스냅샷이 완료되지 못했기 때문입니다. 의 snapshot_id 값은 실패한 ARNs 스냅샷의 값입니다. startTime스냅샷 만들기 작업이 시작되고 종료된 시기를 endTime 나타냅니다.

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

스냅샷 복사 () copySnapshot

스냅샷 복사 작업이 완료되면 copySnapshot 이벤트가 사용자 AWS 계정으로 전송됩니다. 그러나 저장, 로깅, 아카이빙은 되지 않습니다. 이 이벤트에서 succeeded 또는 failed 결과가 발생할 수 있습니다.

리전 간에 스냅샷을 복사하는 경우 대상 리전에서 이벤트가 발생합니다.

이벤트 데이터

아래 목록은 이벤트 성공 EBS copySnapshot 후 에서 방출되는 JSON 객체의 예입니다. 의 값은 새로 만든 ARN 스냅샷의 snapshot_id 값입니다. detail섹션에서 의 값은 소스 ARN 스냅샷의 source 값입니다. startTime스냅샷 복사 작업이 시작되고 종료된 시기를 endTime 나타냅니다. incremental스냅샷이 증분 스냅샷 () 인지 아니면 전체 스냅샷 (true) 인지를 나타냅니다. 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" } }

아래 목록은 이벤트 실패 EBS copySnapshot 이후에 생성된 JSON 객체의 예입니다. 실패의 원인은 잘못된 소스 스냅샷 ID였습니다. 의 값은 실패한 ARN 스냅샷의 snapshot_id 값입니다. detail섹션의 값은 소스 ARN 스냅샷의 source 값입니다. startTime스냅샷 복사 작업이 시작되고 종료된 시기를 endTime 나타냅니다.

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

스냅샷 공유 () shareSnapshot

다른 AWS 계정에서 스냅샷을 공유하면 shareSnapshot 이벤트가 사용자 계정으로 전송됩니다. 그러나 저장, 로깅, 아카이빙은 되지 않습니다. 결과는 항상 succeeded입니다.

이벤트 데이터

다음은 shareSnapshot 이벤트 완료 EBS 후 에서 방출되는 JSON 객체의 예입니다. detail섹션에서 의 값은 스냅샷을 공유한 사용자의 AWS 계정 source 번호입니다. startTime스냅샷 공유 작업이 언제 시작되고 종료되었는지도 endTime 표시할 수 있습니다. shareSnapshot 이벤트는 프라이빗 스냅샷이 다른 사용자와 공유될 때만 발생합니다. 퍼블릭 스냅샷 공유는 이벤트를 트리거하지 않습니다.

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

EBS스냅샷 아카이브 이벤트

EBSAmazon은 스냅샷 보관 작업과 관련된 이벤트를 내보냅니다. 자세한 내용은 스냅샷 아카이빙 모니터링 섹션을 참조하세요.

EBS빠른 스냅샷 복원 이벤트

Amazon은 스냅샷의 빠른 스냅샷 복원 상태가 변경될 EventBridge 때 이벤트를 EBS 전송합니다. 이벤트는 최선의 작업을 기반으로 발생됩니다.

다음은 이 이벤트의 예제 데이터입니다.

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

가능한 state 값은 enabling, optimizing, enabled, disabling, disabled입니다.

message에 가능한 값은 다음과 같습니다.

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

빠른 스냅샷 복원을 요청하는 요청이 실패하고 상태가 disabling 또는 disabled로 전환되었습니다. 빠른 스냅샷 복원은 이 스냅 샷에 대해 활성화할 수 없습니다.

Client.UserInitiated

상태가 enabling 또는 disabling으로 전환되었습니다.

Client.UserInitiated - Lifecycle state transition

상태가 optimizing, enabled 또는 disabled로 전환되었습니다.

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

불충분한 용량으로 인해 빠른 스냅샷 복원을 요청하는 요청이 실패하고 상태가 disabling 또는 disabled로 전환되었습니다. 잠시 기다렸다가 다시 시도하세요.

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

내부 오류로 인해 빠른 스냅샷 복원을 요청하는 요청이 실패하고 상태가 disabling 또는 disabled로 전환되었습니다. 잠시 기다렸다가 다시 시도하세요.

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

스냅샷이 스냅샷 소유자에 의해 삭제되거나 공유 해제되었으므로 스냅샷에 대한 빠른 스냅샷 복원 상태가 disabling 또는 disabled로 전환되었습니다. 삭제되었거나 더 이상 본인에게 공유되지 않은 스냅샷에 대해서는 빠른 스냅샷 복원을 활성화할 수 없습니다.

EventBridge 이벤트 AWS Lambda 처리에 사용

EBSAmazon과 EventBridge Amazon을 사용하여 데이터 백업 워크플로를 자동화할 수 있습니다. 이를 위해서는 IAM 정책, 이벤트를 처리하는 AWS Lambda 함수, 수신 이벤트를 매칭하여 Lambda 함수로 라우팅하는 EventBridge 규칙을 생성해야 합니다.

다음 절차에서는 재해 복구를 위해 createSnapshot 이벤트를 사용하여 완료된 스냅샷을 다른 리전으로 자동으로 복사합니다.

완료된 스냅샷을 다른 리전으로 복사하려면
  1. 다음 예제에 표시된 것과 같은 IAM 정책을 생성하여 CopySnapshot 작업을 사용하고 로그에 쓸 수 있는 권한을 제공하십시오. EventBridge EventBridge 이벤트를 처리할 사용자에게 정책을 할당하십시오.

    { "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. 콘솔에서 사용할 수 있는 Lambda의 함수를 정의합니다. EventBridge Node.js 로 작성된 아래 샘플 Lambda 함수는 EBS Amazon에서 createSnapshot 매칭 이벤트를 발생시킬 때 (스냅샷이 완료되었음을 EventBridge 나타냄) 호출됩니다. 호출되면 함수가 us-east-2에서 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); } }); };

    Lambda 함수를 콘솔에서 EventBridge 사용할 수 있도록 하려면 이벤트가 EventBridge 발생할 리전에 함수를 생성하십시오. 자세한 내용은 개발자 안내서AWS Lambda를 참조하세요.

  3. 에서 Amazon EventBridge 콘솔을 엽니다 https://console.aws.amazon.com/events/.

  4. 탐색 창에서 규칙(Rules)을 선택한 후 규칙 생성(Create rule)을 선택합니다.

  5. Step 1: Define rule detail(1단계: 규칙 세부 정보 정의)에 대해 다음을 수행합니다.

    1. Name(이름)과 Description(설명)을 입력합니다.

    2. Event bus(이벤트 버스)의 경우 default(기본값)를 유지합니다.

    3. Enable the rule on the selected event bus(선택한 이벤트 버스에 대해 규칙 활성화)가 설정되었는지 확인합니다.

    4. Event type(이벤트 유형)에서 Rule with an event pattern(이벤트 패턴이 있는 규칙)을 선택합니다.

    5. Next(다음)를 선택합니다.

  6. Step 2: Build event pattern(2단계: 이벤트 패턴 빌드)에서 다음을 수행합니다.

    1. 이벤트 소스에서AWS 이벤트 또는 EventBridge 파트너 이벤트를 선택합니다.

    2. 이벤트 패턴 섹션에서 이벤트 소스에 대해 AWS 서비스가 선택되어 있는지 확인하고 AWS 서비스에 대해서는 를 선택합니다 EC2.

    3. 이벤트 유형에서 EBS 스냅샷 알림을 선택하고 특정 이벤트를 선택한 다음 선택합니다 createSnapshot.

    4. 특정 결과(Specific result(s))를 선택한 다음 성공(succeeded)을 선택합니다.

    5. Next(다음)를 선택합니다.

  7. Step 3: Select targets(3단계: 대상 선택)에서 다음을 수행합니다.

    1. 대상 유형에서 AWS 서비스를 선택합니다.

    2. Select target(대상 선택)에서 Lambda function(Lambda 함수)을 선택하고 Function(함수)에서 이전에 생성한 함수를 선택합니다.

    3. Next(다음)를 선택합니다.

  8. Step 4: Configure tags(4단계: 태그 구성)에서 필요한 경우 규칙에 대한 태그를 지정하고 Next(다음)를 선택합니다.

  9. Step 5: Review and create(5단계: 검토 및 생성)에서 규칙을 검토한 다음 Create rule(규칙 생성)을 선택합니다.

이제 규칙 탭에 규칙이 표시됩니다. 표시된 예제에서 구성한 이벤트는 다음에 스냅샷을 복사할 때 발생해야 합니다. EBS