Amazon Web Services 한국 블로그

Amazon Elastic Container Registry(ECR), EventBridge 지원 추가

AWS 고객은 컨테이너 이미지를 저장할 수 있는 안전한 비공개 장소를 원하고 있으며, 완전관리형 컨테이너 레지스트리인 Amazon Elastic Container Registry를 제공합니다. 이미지가 푸시되거나 삭제될 때 작업을 트리거할 수 있도록, AWS에서는 최근 Amazon EventBridge에 대한 지원을 추가했습니다. 이러한 작업은 지속적인 통합을 트리거하거나, 이미지가 푸시될 때 지속적인 배포 파이프라인을 트리거하거나, 이미지가 삭제되었을 때 DevOps 팀의 Slack 채널에 메시지를 게시할 수 있습니다.

이 새 기능은 복잡한 워크플로우도 지원합니다. 예를 들어, 고객은 이미지 푸시 이벤트를 사용하여 기본 이미지 위에 이미지를 빌드하는 재빌드 작업을 트리거할 수 있습니다. 이 시나리오에서 기본 이미지가 매주 재빌드되도록 하여 최신 보안 패치를 적용할 수 있습니다. 기본 이미지 리포지토리에서 온 푸시 이벤트는 모든 파생 이미지도 패치되도록 다른 빌드를 트리거할 수 있습니다.

이 새 기능을 사용하는 방법을 보여주기 위해 콘솔을 열고 모든 구성 요소가 연동되는 방식을 보여주는 예제를 단계별로 진행해 보겠습니다.

Amazon EventBridge 콘솔에서 새 규칙을 생성하고 고유한 이름과 설명을 입력합니다.

다음으로 아래의 [Define pattern]으로 스크롤하여 사용할 이벤트 패턴의 유형을 사용자 지정합니다. 기본 Event pattern 라디오 버튼을 선택된 상태로 두고 Pre-defined patten by service를 사용하는 옵션도 선택된 상태로 둡니다. Elastic Container Registry는 AWS 서비스이므로, Service ProviderAWS를 선택합니다.

[Service Name] 섹션에서, 많은 AWS 서비스 중 하나를 이벤트 소스로 선택할 수 있습니다. 이 목록에 가장 최근에 추가된 Elastic Container Registry (ECR)를 선택하겠습니다. 마지막으로 이 섹션에서 ECR Image ActionEvent type으로 선택합니다. 이 ECR Image Action에는 작업 유형으로 DELETEPUSH가 모두 포함되어 있습니다.

다음으로, 어느 이벤트 버스를 사용할 것인지 구성하라는 메시지가 표시됩니다. 이 예에서는 모든 AWS 계정에 기본으로 제공되는 [AWS default event bus]를 선택하겠습니다.

이벤트가 오는 위치를 식별했으므로 이제 이벤트가 갈 위치를 지정해야 합니다. 이를 대상이라고 하며 여기에는 많은 옵션이 있습니다. 예를 들어, 이벤트를 Lambda 함수, Kinesis 스트림 또는 다양한 AWS 대상 중 하나로 전송할 수 있습니다.

간결한 설명을 위해 Amazon Simple Notification Service(SNS) 주제를 호출하도록 선택하겠습니다. 이 주제는 ImageAction이라고 하며, 이 주제에서 새 메시지를 수신했을 때 이메일을 받을 수 있도록 이 주제에 구독되어 있습니다.

노트북을 열고 내 리포지토리에 대한 내 컨테이너의 새 버전을 Elastic Container Registry에 푸시합니다.

Elastic Container Registry 콘솔로 이동하면 Docker 이미지가 성공적으로 푸시된 것을 볼 수 있습니다. 이제 이미지를 선택하고 [Delete] 버튼을 클릭하여 새 이미지를 삭제하겠습니다.

이렇게 하면 SNS 주제를 통해 PUSHDELETE 이벤트 모두를 전송되고 이는 해당 주제의 구독자에게 두 개의 이메일을 전송합니다.

 

Outlook을 열면 예상대로 PUSHDELETE의 action-type을 모두 가진 두 개의 이메일이 도착해 있습니다(내용이 좀 복잡해 보이기는 합니다).

모두 완료되었습니다. 이제 이벤트를 Elastic Container Registry에 연결하고 그 결과로 놀랍고 멋진 일이 벌어지게 만들 수 있습니다. Amazon Elastic Container Registry의 Amazon EventBridge 지원은 모든 공개 AWS 리전 및 GovCloud(US)에서 사용할 수 있습니다. 지금 Amazon EventBridge 콘솔에서 사용해 보십시오.

멋진 이벤트 작업을 구현해 보시기 바랍니다!

Martin