

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

# 일정에 따라 파이프라인 시작
<a name="pipelines-trigger-source-schedule"></a>

일정에 따라 파이프라인을 시작하도록 EventBridge의 규칙을 설정할 수 있습니다.

## 파이프라인 시작을 예약하는 EventBridge 규칙 생성(콘솔)
<a name="pipelines-trigger-source-schedule-console"></a>

**일정이 이벤트 소스인 EventBridge 규칙을 만들려면**

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

1. 탐색 창에서 **규칙**을 선택합니다.

1. **규칙 생성**을 선택한 후 **규칙 세부 정보** 아래에서 **일정**을 선택합니다.

1. 고정 비율이나 표현식을 사용하여 일정을 설정합니다. 자세한 내용은 [규칙에 대한 일정 표현식](https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/ScheduledEvents.html)을 참조하십시오.

1. **대상** 영역에서 **CodePipeline**을 선택합니다.

1. 이 일정에 대한 파이프라인 실행의 파이프라인 ARN을 입력합니다.
**참고**  
콘솔의 **설정**에서 파이프라인 ARN을 찾을 수 있습니다. [파이프라인 ARN 및 서비스 역할 ARN 보기(콘솔)](pipelines-settings-console.md)을(를) 참조하세요.

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

1. **세부 정보 구성**을 선택합니다.

1. **규칙 세부 정보 구성** 페이지에서 해당 규칙의 이름과 설명을 입력한 후 **상태**를 선택하여 규칙을 활성화합니다.

1. 규칙이 만족스러우면 **규칙 생성(Create rule)**을 선택하세요.

## 파이프라인 시작을 예약하는 EventBridge 규칙 생성(CLI)
<a name="pipelines-trigger-source-schedule-cli"></a>

 

 AWS CLI 를 사용하여 규칙을 생성하려면 다음을 지정하여 **put-rule** 명령을 호출합니다.
+ 만들려는 규칙을 고유하게 식별하는 이름. 이 이름은 AWS 계정과 연결된 CodePipeline으로 생성하는 모든 파이프라인에서 고유해야 합니다.
+ 해당 규칙의 일정 표현식.

**일정이 이벤트 소스인 EventBridge 규칙을 만들려면**

1. **put-rule** 명령을 호출하고 `--name ` 및 `--schedule-expression` 파라미터를 포함시킵니다.

   예시:

   다음 예제 명령은 **--schedule-expression**을 사용하여 일정에 따라 EventBridge를 필터링하는 `MyRule2`라는 규칙을 만듭니다.

   ```
   aws events put-rule --schedule-expression 'cron(15 10 ? * 6L 2002-2005)' --name MyRule2
   ```

1. CodePipeline을 대상으로 추가하려면 **put-targets** 명령을 호출하고 다음 파라미터를 포함합니다.
   + `--rule` 파라미터는 **put-rule**을 사용하여 생성한 `rule_name`에 사용됩니다.
   + `--targets` 파라미터는 대상 목록에 있는 대상의 목록 `Id` 및 대상 파이프라인의 `ARN`에 사용됩니다.

   다음 예제 명령은 `MyCodeCommitRepoRule`이라는 규칙에 대해 대상 `Id`가 숫자 1로 구성됨을 지정하며, 규칙의 대상 목록에서 1로 대상 1로 표시됩니다. 이 예제 명령은 또한 파이프라인에 대한 예제 `ARN`를 지정합니다. 파이프라인은 리포지토리에서 변경이 발생하면 시작됩니다.

   ```
   aws events put-targets --rule MyCodeCommitRepoRule --targets Id=1,Arn=arn:aws:codepipeline:us-west-2:80398EXAMPLE:TestPipeline
   ```

1. CodePipeline을 사용하여 규칙을 호출하도록 EventBridge에 권한을 부여합니다. 자세한 내용은 [Amazon EventBridge에 대한 리소스 기반 정책 사용](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-use-resource-based.html)을 참조하세요.

   1. 다음 예제를 사용하여 EventBridge가 서비스 역할을 담당하도록 허용하는 신뢰 정책을 생성합니다. 이름을 `trustpolicyforEB.json`로 지정합니다.

------
#### [ JSON ]

****  

      ```
      {
          "Version":"2012-10-17",		 	 	 
          "Statement": [
              {
                  "Effect": "Allow",
                  "Principal": {
                      "Service": "events.amazonaws.com"
                  },
                  "Action": "sts:AssumeRole"
              }
          ]
      }
      ```

------

   1. 다음 명령을 사용하여 `Role-for-MyRule` 역할을 생성한 후 신뢰 정책에 연결합니다.

      ```
      aws iam create-role --role-name Role-for-MyRule --assume-role-policy-document file://trustpolicyforEB.json
      ```

   1. `MyFirstPipeline`이라는 파이프라인에 대한 이 샘플에 표시된 대로 권한 정책 JSON을 만듭니다. 권한 정책 이름을 `permissionspolicyforEB.json`으로 지정합니다.

------
#### [ JSON ]

****  

      ```
      {
          "Version":"2012-10-17",		 	 	 
          "Statement": [
              {
                  "Effect": "Allow",
                  "Action": [
                      "codepipeline:StartPipelineExecution"
                  ],
                  "Resource": [
                      "arn:aws:codepipeline:us-west-2:111122223333:MyFirstPipeline"
                  ]
              }
          ]
      }
      ```

------

   1. 다음 명령을 사용하여 앞에서 생성한 `Role-for-MyRule` 역할에 새로운 `CodePipeline-Permissions-Policy-for-EB` 권한 정책을 연결합니다.

      ```
      aws iam put-role-policy --role-name Role-for-MyRule --policy-name CodePipeline-Permissions-Policy-For-EB --policy-document file://permissionspolicyforCWE.json
      ```