Amazon ECR 이벤트 및 EventBridge
Amazon ECR 이벤트 및 EventBridge (Amazon ECR events and EventBridge)
Amazon EventBridge를 사용해 AWS 서비스를 자동화하고, Amazon ECR이 내보내는 다양한 샘플 이벤트의 구조를 함께 살펴볼게요.
출처: 문서
본문
Amazon EventBridge를 사용하면 AWS 서비스를 자동화하고, 애플리케이션 가용성 문제나 리소스 변경 같은 시스템 이벤트에 자동으로 대응할 수 있어요. AWS 서비스의 이벤트는 거의 실시간으로 EventBridge에 전달돼요. 관심 있는 이벤트를 나타내는 간단한 규칙(rules)을 작성하고, 이벤트가 규칙과 일치할 때 취할 자동화된 작업을 포함할 수 있어요. 자동으로 트리거할 수 있는 작업에는 다음이 포함돼요:
-
CloudWatch Logs의 로그 그룹에 이벤트 추가
-
AWS Lambda 함수 호출
-
Amazon EC2 Run Command 호출
-
Amazon Kinesis Data Streams로 이벤트 중계
-
AWS Step Functions 상태 머신 활성화
-
Amazon SNS 주제 또는 Amazon SQS 대기열에 알림
자세한 내용은 Amazon EventBridge User Guide의 Getting Started with Amazon EventBridge를 참고하세요.
Amazon ECR의 샘플 이벤트 (Sample events from Amazon ECR)
다음은 Amazon ECR의 예제 이벤트예요. 이벤트는 최선의 노력(best effort)을 기반으로 내보내져요.
완료된 이미지 푸시 이벤트 (Event for a completed image push)
각 이미지 푸시가 완료될 때 다음 이벤트가 전송돼요. 자세한 내용은 Pushing a Docker image to an Amazon ECR private repository를 참고하세요.
{
"version": "0",
"id": "13cde686-328b-6117-af20-0e5566167482",
"detail-type": "ECR Image Action",
"source": "aws.ecr",
"account": "123456789012",
"time": "2019-11-16T01:54:34Z",
"region": "us-west-2",
"resources": [],
"detail": {
"result": "SUCCESS",
"repository-name": "my-repository-name",
"image-digest": "sha256:7f5b2640fe6fb4f46592dfd3410c4a79dac4f89e4782432e0378abcd1234",
"action-type": "PUSH",
"image-tag": "latest"
}
}
풀 스루 캐시 작업 이벤트 (Event for a pull through cache action)
풀 스루 캐시 작업(pull through cache action)이 시도될 때 다음 이벤트가 전송돼요. 자세한 내용은 Sync an upstream registry with an Amazon ECR private registry를 참고하세요.
{
"version": "0",
"id": "85fc3613-e913-7fc4-a80c-a3753e4aa9ae",
"detail-type": "ECR Pull Through Cache Action",
"source": "aws.ecr",
"account": "123456789012",
"time": "2023-02-29T02:36:48Z",
"region": "us-west-2",
"resources": [
"arn:aws:ecr:us-west-2:123456789012:repository/docker-hub/alpine"
],
"detail": {
"rule-version": "1",
"sync-status": "SUCCESS",
"ecr-repository-prefix": "docker-hub",
"repository-name": "docker-hub/alpine",
"upstream-registry-url": "public.ecr.aws",
"image-tag": "3.17.2",
"image-digest": "sha256:4aa08ef415aecc80814cb42fa41b658480779d80c77ab15EXAMPLE",
}
}
완료된 이미지 스캔 이벤트(기본 스캐닝) (Event for a completed image scan (basic scanning))
레지스트리에 기본 스캐닝(basic scanning)이 활성화되어 있으면, 각 이미지 스캔이 완료될 때 다음 이벤트가 전송돼요. finding-severity-counts 파라미터는 심각도 수준이 존재하는 경우에만 값을 반환해요. 예를 들어 이미지에 CRITICAL 수준의 findings가 없다면 critical 개수는 반환되지 않아요. 자세한 내용은 Scan images for OS vulnerabilities in Amazon ECR를 참고하세요.
참고 (Note) 향상된 스캐닝(enhanced scanning)이 활성화되었을 때 Amazon Inspector가 내보내는 이벤트에 대한 자세한 내용은 EventBridge events sent for enhanced scanning in Amazon ECR을 참고하세요.
{
"version": "0",
"id": "85fc3613-e913-7fc4-a80c-a3753e4aa9ae",
"detail-type": "ECR Image Scan",
"source": "aws.ecr",
"account": "123456789012",
"time": "2019-10-29T02:36:48Z",
"region": "us-east-1",
"resources": [
"arn:aws:ecr:us-east-1:123456789012:repository/my-repository-name"
],
"detail": {
"scan-status": "COMPLETE",
"repository-name": "my-repository-name",
"finding-severity-counts": {
"CRITICAL": 10,
"MEDIUM": 9
},
"image-digest": "sha256:7f5b2640fe6fb4f46592dfd3410c4a79dac4f89e4782432e0378abcd1234",
"image-tags": []
}
}
향상된 스캐닝이 활성화된 리소스의 변경 알림 이벤트(향상된 스캐닝) (Event for a change notification on a resource with enhanced scanning enabled)
레지스트리에 향상된 스캐닝이 활성화되어 있으면, 향상된 스캐닝이 활성화된 리소스에 변경이 있을 때 Amazon ECR이 다음 이벤트를 전송해요. 여기에는 새 리포지토리가 생성되는 경우, 리포지토리의 스캔 빈도가 변경되는 경우, 향상된 스캐닝이 활성화된 리포지토리에서 이미지가 생성되거나 삭제되는 경우가 포함돼요. 자세한 내용은 Scan images for software vulnerabilities in Amazon ECR를 참고하세요.
{
"version": "0",
"id": "0c18352a-a4d4-6853-ef53-0ab8638973bf",
"detail-type": "ECR Scan Resource Change",
"source": "aws.ecr",
"account": "123456789012",
"time": "2021-10-14T20:53:46Z",
"region": "us-east-1",
"resources": [],
"detail": {
"action-type": "SCAN_FREQUENCY_CHANGE",
"repositories": [{
"repository-name": "repository-1",
"repository-arn": "arn:aws:ecr:us-east-1:123456789012:repository/repository-1",
"scan-frequency": "SCAN_ON_PUSH",
"previous-scan-frequency": "MANUAL"
},
{
"repository-name": "repository-2",
"repository-arn": "arn:aws:ecr:us-east-1:123456789012:repository/repository-2",
"scan-frequency": "CONTINUOUS_SCAN",
"previous-scan-frequency": "SCAN_ON_PUSH"
},
{
"repository-name": "repository-3",
"repository-arn": "arn:aws:ecr:us-east-1:123456789012:repository/repository-3",
"scan-frequency": "CONTINUOUS_SCAN",
"previous-scan-frequency": "SCAN_ON_PUSH"
}
],
"resource-type": "REPOSITORY",
"scan-type": "ENHANCED"
}
}
이미지 삭제 이벤트 (Event for an image deletion)
이미지가 삭제될 때 다음 이벤트가 전송돼요. 자세한 내용은 Deleting an image in Amazon ECR를 참고하세요.
{
"version": "0",
"id": "dd3b46cb-2c74-f49e-393b-28286b67279d",
"detail-type": "ECR Image Action",
"source": "aws.ecr",
"account": "123456789012",
"time": "2019-11-16T02:01:05Z",
"region": "us-west-2",
"resources": [],
"detail": {
"result": "SUCCESS",
"repository-name": "my-repository-name",
"image-digest": "sha256:7f5b2640fe6fb4f46592dfd3410c4a79dac4f89e4782432e0378abcd1234",
"action-type": "DELETE",
"image-tag": "latest"
}
}
이미지 아카이브 작업 이벤트 (Event for an image archival action)
이미지가 아카이브될 때 다음 이벤트가 전송돼요. target-storage-class 필드는 ARCHIVE 로 설정돼요. 이벤트에는 아카이브되는 콘텐츠의 유형을 식별하는 매니페스트 및 아티팩트 미디어 유형(manifest and artifact media types)이 포함돼요.
{
"version": "0",
"id": "4f5ec4d5-4de4-7aad-a046-EXAMPLE",
"detail-type": "ECR Image Action",
"source": "aws.ecr",
"account": "123456789012",
"time": "2019-08-06T00:58:09Z",
"region": "us-east-1",
"resources": [],
"detail": {
"action-type": "UPDATE_STORAGE_CLASS",
"target-storage-class": "ARCHIVE",
"image-digest": "sha256:f98d67af8e53a536502bfc600de3266556b06ed635a32d60aa7a5fe6d7e609d7",
"repository-name": "ubuntu",
"result": "SUCCESS",
"manifest-media-type": "application/vnd.oci.image.manifest.v1+json",
"artifact-media-type": "application/vnd.oci.image.config.v1+json"
}
}
이미지 복원 작업 이벤트 (Event for an image restore action)
아카이브된 이미지가 복원될 때 다음 이벤트가 전송돼요. target-storage-class 필드는 STANDARD 로 설정돼요. 이벤트에는 이미지가 마지막으로 복원된 시점을 보여주는 last-activated-at 필드가 포함돼요.
{
"version": "0",
"id": "7b8fc5e6-5ef5-8bbe-b157-EXAMPLE",
"detail-type": "ECR Image Action",
"source": "aws.ecr",
"account": "123456789012",
"time": "2019-08-06T01:15:22Z",
"region": "us-east-1",
"resources": [],
"detail": {
"action-type": "UPDATE_STORAGE_CLASS",
"target-storage-class": "STANDARD",
"image-digest": "sha256:f98d67af8e53a536502bfc600de3266556b06ed635a32d60aa7a5fe6d7e609d7",
"repository-name": "ubuntu",
"result": "SUCCESS",
"manifest-media-type": "application/vnd.oci.image.manifest.v1+json",
"artifact-media-type": "application/vnd.oci.image.config.v1+json",
"last-activated-at": "2025-10-10T19:13:02.74Z"
}
}
리퍼러 복원 작업 이벤트 (Event for a referrer restore action)
아카이브된 리퍼러(referrer, SBOM·시그니처·증명(attestation) 같은 참조 아티팩트)가 복원될 때 다음 이벤트가 전송돼요. 일반 이미지 작업과 구분하기 위해 detail-type 이 ECR Referrer Action 인 점에 주의하세요. manifest-media-type 과 artifact-media-type 필드는 복원되는 리퍼러의 특정 유형을 식별해요. 이 예제에서는 SBOM 아티팩트가 복원되고 있어요.
{
"version": "0",
"id": "8c9gd6f7-6fg6-9ccf-c268-EXAMPLE",
"detail-type": "ECR Referrer Action",
"source": "aws.ecr",
"account": "123456789012",
"time": "2019-08-06T01:20:45Z",
"region": "us-east-1",
"resources": [],
"detail": {
"action-type": "UPDATE_STORAGE_CLASS",
"target-storage-class": "STANDARD",
"image-digest": "sha256:f98d67af8e53a536502bfc600de3266556b06ed635a32d60aa7a5fe6d7e609d7",
"repository-name": "sbom",
"result": "SUCCESS",
"manifest-media-type": "application/vnd.cncf.oras.artifact.manifest.v1+json",
"artifact-media-type": "text/sbom+json",
"last-activated-at": "2025-10-10T19:13:02.74Z"
}
}
완료된 이미지 복제 이벤트 (Event for a completed image replication)
각 이미지 복제가 완료될 때 다음 이벤트가 전송돼요. 자세한 내용은 Private image replication in Amazon ECR를 참고하세요.
{
"version": "0",
"id": "c8b133b1-6029-ee73-e2a1-4f466b8ba999",
"detail-type": "ECR Replication Action",
"source": "aws.ecr",
"account": "123456789012",
"time": "2024-05-08T20:44:54Z",
"region": "us-east-1",
"resources": [
"arn:aws:ecr:us-east-1:123456789012:repository/docker-hub/alpine"
],
"detail": {
"result": "SUCCESS",
"repository-name": "docker-hub/alpine",
"image-digest": "sha256:7f5b2640fe6fb4f46592dfd3410c4a79dac4f89e4782432e0378abcd1234",
"source-account": "123456789012",
"action-type": "REPLICATE",
"source-region": "us-west-2",
"image-tag": "3.17.2"
}
}