

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

# Amazon S3 소스에 대한 EventBridge 규칙 생성(콘솔)
<a name="create-cloudtrail-S3-source-console"></a>

EventBridge에서 규칙을 설정하기 전에 AWS CloudTrail 추적을 생성해야 합니다. 자세한 내용은 [콘솔에서 추적 생성](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-create-a-trail-using-the-console-first-time.html) 단원을 참조하십시오.

**중요**  
콘솔을 사용하여 파이프라인을 생성하거나 편집하면 EventBridge 규칙 및 AWS CloudTrail 추적이 생성됩니다.

**추적을 생성하려면**

1.  AWS CloudTrail 콘솔을 엽니다.

1. 탐색 창에서 [**Trails**]를 선택합니다.

1. **추적 생성**을 선택합니다. **추적 이름**에 추적 이름을 입력합니다.

1. [**Storage location**]에서 로그 파일을 저장하는 데 사용되는 버킷을 생성 또는 지정합니다. 기본적으로 Amazon S3 버킷 및 객체는 프라이빗입니다. 리소스 소유자(버킷을 생성한 AWS 계정)만 버킷과 해당 객체에 액세스할 수 있습니다. 버킷에는 버킷의 객체에 액세스할 수 있는 AWS CloudTrail 권한을 허용하는 리소스 정책이 있어야 합니다.

1. **추적 로그 버킷 및 폴더**에서 Amazon S3 버킷과 객체 접두사(폴더 이름)를 지정하여 폴더의 모든 객체에 대한 데이터 이벤트를 기록합니다. 각 추적의 경우 최대 250개의 Amazon S3 객체를 추가할 수 있습니다. 필요한 암호화 키 정보를 입력하고 **다음**을 선택합니다.

1. **이벤트 유형**에서 **관리 이벤트**를 선택합니다.

1. **관리 이벤트**에서 **쓰기**를 선택합니다. 추적은 지정된 버킷 및 접두사에서 Amazon S3 객체 수준 API 활동을 기록합니다(예: `GetObject` 및 `PutObject`).

1. **쓰기**를 선택합니다.

1. 추적이 만족스러운 경우 **추적 생성**을 선택합니다.

**Amazon S3 소스가 포함된 파이프라인을 대상으로 지정하는 EventBridge 규칙을 생성하려면**

1. [https://console.aws.amazon.com/events/](https://console.aws.amazon.com/events/)에서 Amazon EventBridge 콘솔을 엽니다.

1. 탐색 창에서 **규칙**을 선택합니다. 기본 버스를 선택된 상태로 두거나 이벤트 버스를 선택하세요. **규칙 생성**을 선택합니다.

1. **이름**에 역할의 이름을 입력합니다.

1. **규칙 유형**에서 **이벤트 패턴이 있는 규칙**을 선택합니다. **다음**을 선택합니다.

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

1. **샘플 이벤트 유형**에서 **AWS 이벤트**를 선택합니다.

1. **샘플 이벤트**에서 필터링할 키워드로 S3를 입력합니다. **CloudTrail을 통해AWS API 직접 호출**을 선택합니다.

1. **생성 방법**에서 **사용자 정의 패턴(JSON 편집기)**을 선택합니다.

   아래 제공된 이벤트 패턴을 붙여넣습니다. 버킷 이름과 버킷 내 객체를 `requestParameters`로 고유하게 식별하는 S3 객체 키(또는 키 이름)를 추가해야 합니다. 이 예제에서는 `amzn-s3-demo-source-bucket`이라는 버킷과 `my-files.zip`의 객체 키에 대해 규칙이 생성됩니다. **Edit** 창을 사용하여 리소스를 지정할 때 규칙이 업데이트되어 사용자 지정 이벤트 패턴을 사용합니다.

   다음은 복사하여 붙여넣기가 가능한 이벤트 패턴 샘플입니다.

   ```
   {
       "source": [
           "aws.s3"
       ],
       "detail-type": [
           "AWS API Call via CloudTrail"
       ],
       "detail": {
           "eventSource": [
               "s3.amazonaws.com"
           ],
           "eventName": [
               "CopyObject",
               "CompleteMultipartUpload",
               "PutObject"
           ],
           "requestParameters": {
               "bucketName": [
                   "amzn-s3-demo-source-bucket"
               ],
               "key": [
                   "my-files.zip"
               ]
           }
       }
   }
   ```

1. **다음**을 선택합니다.

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

1. **대상 선택**에서 **CodePipeline**을 선택합니다. **Pipeline ARN**에서 이 규칙에 의해 시작되는 파이프라인의 파이프라인 ARN을 입력합니다.
**참고**  
파이프라인 ARN을 확인하려면 **get-pipeline** 명령을 실행합니다. 출력에 파이프라인 ARN이 나타납니다. ARN의 형식은 다음과 같습니다.  
arn:aws:codepipeline:{{region}}:{{account}}:{{pipeline-name}}  
파이프라인 ARN 샘플:  
arn:aws:codepipeline:us-east-2:80398EXAMPLE:MyFirstPipeline 

1. EventBridge에 EventBridge 규칙과 연결된 대상을 호출할 권한을 부여하는 IAM 서비스 역할을 생성하거나 지정하려면(이 경우에는 대상이 CodePipeline): 
   + **이 특정 리소스에 대한 새 역할 생성을** 선택하여 EventBridge에 파이프라인 실행을 시작할 수 있는 권한을 부여하는 서비스 역할을 생성합니다.
   + **기존 역할 사용을** 선택하여 파이프라인 실행을 시작할 수 있는 권한을 EventBridge에 부여하는 서비스 역할을 입력합니다.

1. (선택 사항) 특정 이미지 ID로 소스 재정의를 지정하려면 입력 변환기를 사용하여 데이터를 JSON 파라미터로 전달합니다. 입력 변환기를 사용하여 파이프라인 변수를 전달할 수도 있습니다.
   + **추가 설정**을 폅니다.

     **대상 입력 구성**에서 **입력 변환기 구성**을 선택합니다.

     대화 상자에서 **내 이름을 입력하세요**를 선택합니다. **입력 경로** 상자에 다음 키-값 페어를 입력합니다.

     ```
     {"revisionValue": "$.detail.object.version-id"}
     ```
   + **입력 경로** 상자에 다음 키-값 페어를 입력합니다.

     ```
                                     
                                     {
         "sourceRevisions": [
             {
                 "actionName": "{{Source}}",
                 "revisionType": "S3_OBJECT_VERSION_ID",
                 "revisionValue": "<{{revisionValue}}>"
             }
         ],
          "variables": [
             {
                 "name": "{{Variable_Name}}",
                 "value": "{{Variable_Value}}"
             }
         ]
     }
     ```
   + **확인**을 선택합니다.

1. **다음**을 선택합니다.

1. **태그** 페이지에서 **다음**을 선택합니다.

1. **검토 및 생성** 페이지에서 규칙 구성을 검토합니다. 규칙이 만족스러우면 **규칙 생성(Create rule)**을 선택하세요.