

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

# Amazon ECR 이벤트 및 EventBridge
<a name="ecr-eventbridge"></a>

Amazon EventBridge를 사용하면 AWS 서비스를 자동화하고 애플리케이션 가용성 문제 또는 리소스 변경과 같은 시스템 이벤트에 자동으로 대응할 수 있습니다. AWS 서비스의 이벤트는 거의 실시간으로 EventBridge로 전송됩니다. 관심 있는 이벤트만 표시하도록 간단한 규칙을 작성한 후 규칙과 일치하는 이벤트 발생 시 실행할 자동 작업을 포함할 수 있습니다. 자동으로 트리거할 수 있는 태스크는 다음과 같습니다.
+ CloudWatch Logs의 로그 그룹에 이벤트 추가
+  AWS Lambda 함수 호출
+ Amazon EC2 Run Command 호출
+ Amazon Kinesis Data Streams로 이벤트 릴레이
+  AWS Step Functions 상태 시스템 활성화
+ SNS 주제 또는 Amazon SQS 대기열 알림

자세한 내용은 *Amazon EventBridge 사용 설명서*의 [Amazon EventBridge 시작하기](https://docs.aws.amazon.com/eventbridge/latest/userguide/eventbridge-getting-set-up.html)를 참조하세요.

## Amazon ECR의 샘플 이벤트
<a name="ecr-eventbridge-bus"></a>

다음은 Amazon ECR의 예시 이벤트입니다. 이벤트는 최선의 작업을 기반으로 발생됩니다.

**완료된 이미지 푸시에 대한 이벤트**

각 이미지 푸시가 완료되면 다음 이벤트가 전송됩니다. 자세한 내용은 [Amazon ECR 프라이빗 리포지토리에 Docker 이미지 푸시](docker-push-ecr-image.md) 단원을 참조하십시오.

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

**풀스루 캐시 작업에 대한 이벤트**

풀스루 캐시 작업이 시도되면 다음 이벤트가 전송됩니다. 자세한 내용은 [Amazon ECR 프라이빗 레지스트리와 업스트림 레지스트리 동기화](pull-through-cache.md) 단원을 참조하십시오.

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

**완료된 이미지 스캔에 대한 이벤트(기본 스캔)**

레지스트리에 대한 기본 스캔이 사용 설정되면 각 이미지 스캔이 완료될 때 다음 이벤트가 전송됩니다. `finding-severity-counts` 파라미터는 심각도 수준이 있는 경우에만 값을 반환합니다. 예를 들어, 이미지에 `CRITICAL` 수준의 결과가 없으면 심각 카운트가 반환되지 않습니다. 자세한 내용은 [이미지에서 Amazon ECR의 OS 취약성 스캔](image-scanning-basic.md) 단원을 참조하십시오.

**참고**  
고급 스캔이 사용 설정된 경우 Amazon Inspector에서 발생하는 이벤트에 대한 자세한 내용은 [Amazon ECR의 고급 스캔을 위한 EventBridge 이벤트 전송](image-scanning-enhanced-events.md) 섹션을 참조하세요.

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

**고급 스캔을 사용 설정한 리소스의 변경 알림에 대한 이벤트(고급 스캔)**

레지스트리에 대해 고급 스캔이 사용 설정된 경우 고급 스캔이 활성화된 리소스가 변경되면 Amazon ECR에서 다음 이벤트를 전송합니다. 여기에는 생성 중인 새 리포지토리, 변경 중인 리포지토리의 스캔 빈도 또는 고급 스캔이 사용 설정된 리포지토리에서 이미지를 생성하거나 삭제하는 시점이 포함됩니다. 자세한 내용은 [이미지에서 Amazon ECR의 소프트웨어 취약성 스캔](image-scanning.md) 단원을 참조하십시오.

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

**이미지 삭제에 대한 이벤트**

이미지가 삭제되면 다음 이벤트가 전송됩니다. 자세한 내용은 [Amazon ECR에서 이미지 삭제](delete_image.md) 단원을 참조하십시오.

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

**이미지 아카이브 작업에 대한 이벤트**

이미지가 아카이브되면 다음 이벤트가 전송됩니다. `target-storage-class` 필드는 로 설정됩니다`ARCHIVE`. 이벤트에는 아카이브되는 콘텐츠 유형을 식별하기 위한 매니페스트 및 아티팩트 미디어 유형이 포함됩니다.

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

**이미지 복원 작업에 대한 이벤트**

아카이브된 이미지가 복원되면 다음 이벤트가 전송됩니다. `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"
    }
}
```

**참조자 복원 작업에 대한 이벤트**

아카이브된 참조자(SBOM, 서명 또는 증명과 같은 참조 아티팩트)가 복원되면 다음 이벤트가 전송됩니다. `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"
    }
}
```

**완료된 이미지 복제에 대한 이벤트**

각 이미지 복제가 완료되면 다음 이벤트가 전송됩니다. 자세한 내용은 [Amazon ECR에서 프라이빗 이미지 복제](replication.md) 단원을 참조하십시오.

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

**실패한 이미지 복제에 대한 이벤트**

이미지 복제가 완료되면 다음 이벤트가 전송됩니다. `result` 필드에는 `FAILED`가 포함되며 이벤트 세부 정보에 추가 오류 정보가 포함될 수 있습니다.

```
{
  "version": "0",
  "id": "d9c244c2-7130-ff84-f3b2-5g577c9cb000",
  "detail-type": "ECR Replication Action",
  "source": "aws.ecr",
  "account": "123456789012",
  "time": "2024-05-08T20:45:12Z",
  "region": "us-east-1",
  "resources": [
    "arn:aws:ecr:us-east-1:123456789012:repository/my-app"
  ],
  "detail": {
    "result": "FAILED",
    "repository-name": "my-app",
    "image-digest": "sha256:8g6c3751gf7gc5g47603ege4511d5a80ead5g90f5893543f1489bde2345",
    "source-account": "123456789012",
    "action-type": "REPLICATE",
    "source-region": "us-west-2",
    "image-tag": "latest"
  }
}
```