기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
시작하기: Amazon EventBridge 이벤트 버스 규칙 생성
EventBridge 규칙 및 기능에 익숙해지기 위해 AWS CloudFormation 템플릿을 사용하여 이벤트 소스, 이벤트 패턴 및 대상을 포함한 이벤트 버스 규칙 및 관련 구성 요소를 설정합니다. 그런 다음 규칙이 작동하는 방식을 탐색하여 원하는 이벤트를 선택할 수 있습니다.
템플릿은 기본 이벤트 버스에 규칙을 생성합니다. 이 규칙은 이벤트 패턴을 사용하여 특정 Amazon S3 버킷의 이벤트를 필터링합니다. 규칙은 일치하는 이벤트를 지정된 대상인 Amazon SNS 주제로 전송합니다. 버킷에 객체가 생성될 때마다 규칙은 주제에 알림을 전송한 다음 지정된 이메일 주소로 이메일을 보냅니다.
배포된 리소스는 다음으로 구성됩니다.
EventBridge 알림이 이벤트 소스로 작동하도록 활성화된 Amazon S3 버킷입니다.
알림의 대상으로서 Amazon SNS 주제 및 이메일 구독.
EventBridge에 Amazon SNS 주제에 게시하는 데 필요한 권한을 부여하는 실행 역할입니다.
규칙 자체는 다음과 같습니다.
특정 Amazon S3 버킷의 이벤트만 일치하는
Object Created
이벤트 패턴을 정의합니다.EventBridge가 일치하는 이벤트를 전달하는 대상으로 Amazon SNS 주제를 지정합니다.
템플릿의 특정 기술 세부 정보는 섹션을 참조하세요템플릿 세부 정보.
시작하기 전 준비 사항
EventBridge에서 Amazon S3 이벤트를 수신하려면 Amazon S3 내에서 EventBridge를 활성화해야 합니다. 이 주제에서는 EventBridge가 활성화되어 있다고 가정합니다. 자세한 내용은 Amazon S3 사용 설명서의 EventBridge 활성화를 참조하세요.
CloudFormation을 사용하여 규칙 생성
규칙 및 관련 리소스를 생성하기 위해 CloudFormation 템플릿을 생성하고 이를 사용하여 소스 및 대상으로 완성된 샘플 규칙이 포함된 스택을 생성합니다.
중요
이 템플릿에서 스택을 생성할 때 사용되는 Amazon 리소스에 대한 요금이 청구됩니다.
먼저 CloudFormation 템플릿을 생성합니다.
템플릿 섹션에서 JSON 또는 YAML 탭의 복사 아이콘을 클릭하여 템플릿 콘텐츠를 복사합니다.
템플릿 내용을 새 파일에 붙여 넣습니다.
파일을 로컬에 저장합니다.
그런 다음 저장한 템플릿을 사용하여 CloudFormation 스택을 프로비저닝합니다.
CloudFormation을 사용하여 스택 생성(콘솔)
https://console.aws.amazon.com/cloudformation/
에서 CloudFormation 콘솔을 엽니다. 스택 페이지의 스택 생성 메뉴에서 새 리소스(표준)를 선택합니다.
템플릿을 지정합니다.
사전 조건에서 기존 템플릿 선택을 선택합니다.
템플릿 지정에서 템플릿 파일 업로드를 선택합니다.
파일 선택을 선택하고 템플릿 파일로 이동한 다음 선택합니다.
다음을 선택합니다.
스택 세부 정보를 지정합니다.
스택 이름을 입력합니다.
파라미터의 경우 BucketName, SNSTopicDisplayName, SNSTopicName 및 RuleName의 기본값을 수락하거나 직접 입력합니다.
EmailAddress에 알림을 받을 유효한 이메일 주소를 입력합니다.
다음을 선택합니다.
스택 옵션을 구성합니다.
스택 실패 옵션에서 새로 생성된 모든 리소스 삭제를 선택합니다.
참고
이 옵션을 선택하면 스택 생성에 실패하더라도 삭제 정책에서 보존하도록 지정하는 리소스에 대한 요금이 청구되지 않습니다. 자세한 내용은 CloudFormation 사용 설명서의
DeletionPolicy
속성을 참조하세요.다른 모든 기본값을 수락합니다.
기능에서 확인란을 선택하여 CloudFormation이 계정에 IAM 리소스를 생성할 수 있음을 확인합니다.
다음을 선택합니다.
스택 세부 정보를 검토하고 제출을 선택합니다.
CloudFormation을 사용하여 스택 생성(AWS CLI)
를 사용하여 스택 AWS CLI 을 생성할 수도 있습니다.
-
create-stack
명령을 사용합니다.스택 이름과 이메일 주소를 지정하여 기본 템플릿 파라미터 값을 수락합니다.
template-body
파라미터를 사용하여 템플릿 콘텐츠를 전달하거나 URL 위치를template-url
지정합니다.aws cloudformation create-stack \ --stack-name
eventbridge-rule-tutorial
\ --template-bodytemplate-contents
\ --parameters ParameterKey=EmailAddress,ParameterValue=your.email@example.com
\ --capabilities CAPABILITY_IAM하나 이상의 템플릿 파라미터의 기본값(들)을 재정의합니다. 예:
aws cloudformation create-stack \ --stack-name
eventbridge-rule-tutorial
\ ----template-bodytemplate-contents
\ --parameters \ ParameterKey=EmailAddress,ParameterValue=your.email@example.com
\ ParameterKey=BucketName,ParameterValue=my-custom-bucket-name
\ ParameterKey=RuleName,ParameterValue=my-custom-rule-name
\ --capabilities CAPABILITY_IAM
CloudFormation에서 스택을 생성합니다. 스택 생성이 완료되면 스택 리소스를 사용할 준비가 된 것입니다. 스택 세부 정보 페이지의 리소스 탭을 사용하여 계정에 프로비저닝된 리소스를 볼 수 있습니다.
스택이 생성되면 입력한 주소로 구독 확인 이메일을 받게 됩니다. 알림을 받으려면이 구독을 확인해야 합니다.
규칙 기능 탐색
규칙이 생성되면 EventBridge 콘솔을 사용하여 규칙 작업을 관찰하고 이벤트 전송을 테스트할 수 있습니다.
https://console.aws.amazon.com/events/home?#/rules
EventBridge 콘솔을 엽니다. -
생성한 규칙을 선택합니다.
규칙 세부 정보 페이지의 규칙 세부 정보 섹션에는 이벤트 패턴 및 대상을 포함하여 규칙에 대한 정보가 표시됩니다.
이벤트 패턴 검사
규칙 작업을 테스트하기 전에 대상으로 전송되는 이벤트를 제어하기 위해 지정한 이벤트 패턴을 살펴보겠습니다. 규칙은 패턴 기준과 일치하는 이벤트만 대상으로 전송합니다. 이 경우 특정 버킷에 객체가 생성될 때 Amazon S3가 생성하는 이벤트만 필요합니다.
규칙 세부 정보 페이지의 이벤트 패턴에서 이벤트 패턴은 다음과 같은 이벤트만 선택합니다.
소스는 Amazon S3 서비스(
aws.s3
)입니다.detail-type은 입니다.
Object Created
버킷 이름이 생성한 버킷의 이름과 일치합니다.
{ "source": ["aws.s3"], "detail-type": ["Object Created"], "detail": { "bucket": { "name": ["
eventbridge-rule-example-source
"] } } }
규칙을 통해 이벤트 전송
다음으로 이벤트 소스에서 이벤트를 생성하여 규칙 일치 및 전송이 올바르게 작동하는지 테스트합니다. 이를 위해 이벤트 소스로 지정한 S3 버킷에 객체를 업로드합니다.
https://console.aws.amazon.com/s3/
에서 S3 콘솔을 엽니다. 버킷 목록에서 템플릿으로 생성한 버킷을 선택합니다(기본 이름:
eventbridge-rule-example-source
).업로드를 선택합니다.
-
테스트 파일을 업로드하여
Object Created
이벤트를 생성합니다.파일 추가를 선택하고 컴퓨터에서 파일을 선택합니다.
업로드를 선택합니다.
EventBridge에서 이벤트를 처리하고 알림이 전송될 때까지 잠시 기다립니다.
이메일에서 객체 생성 이벤트에 대한 알림을 확인합니다. 이메일에는 버킷 이름 및 객체 키를 포함하여 S3 이벤트에 대한 세부 정보가 포함됩니다.
규칙 지표 보기
규칙의 지표를 보고 이벤트가 올바르게 처리되고 있는지 확인할 수 있습니다.
EventBridge 콘솔
에서 규칙을 선택합니다. 지표 탭을 선택합니다.
다음과 같은 지표를 볼 수 있습니다.
호출: 규칙이 트리거된 횟수입니다.
TriggeredRules: 일치하는 이벤트에 의해 트리거된 규칙 수입니다.
정리: 리소스 삭제
마지막 단계로 스택과 스택에 포함된 리소스를 삭제합니다.
중요
스택에 포함된 Amazon 리소스가 존재하는 한 해당 리소스에 대한 요금이 청구됩니다.
https://console.aws.amazon.com/cloudformation/
에서 CloudFormation 콘솔을 엽니다. -
스택 페이지에서 템플릿에서 생성된 스택을 선택하고 삭제를 선택한 다음 삭제를 확인합니다.
CloudFormation은 스택과 스택에 포함된 모든 리소스의 삭제를 시작합니다.
CloudFormation 템플릿 세부 정보
이 템플릿은 리소스를 생성하고 계정에 권한을 부여합니다.
리소스
이 자습서의 CloudFormation 템플릿은 계정에 다음 리소스를 생성합니다.
중요
이 템플릿에서 스택을 생성할 때 사용되는 Amazon 리소스에 대한 요금이 청구됩니다.
AWS::S3::Bucket
: EventBridge 알림이 활성화된 상태에서 규칙의 이벤트 소스 역할을 하는 Amazon S3 버킷입니다.AWS::SNS::Topic
: 규칙과 일치하는 이벤트의 대상으로 작동하는 Amazon SNS 주제입니다.AWS::SNS::Subscription
: SNS 주제에 대한 이메일 구독입니다.AWS::IAM::Role
: 계정의 EventBridge 서비스에 권한을 부여하는 IAM 실행 역할입니다.AWS::Events::Rule
: Amazon S3 버킷 이벤트를 Amazon SNS 주제에 연결하는 규칙입니다.
권한
템플릿에는 실행 역할을 나타내는 AWS::IAM::Role
리소스가 포함되어 있습니다. 이 역할은 EventBridge 서비스(events.amazonaws.com
)에 계정에 다음 권한을 부여합니다.
관리형 정책를 통해 AmazonSNSFullAccess
다음 권한이 부여됩니다.
Amazon SNS 리소스 및 작업에 대한 전체 액세스
CloudFormation 템플릿
다음 YAML 코드를 별도의 파일로 저장하여이 자습서의 CloudFormation 템플릿으로 사용합니다.