

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# スケジュールに基づいたパイプラインの開始
<a name="pipelines-trigger-source-schedule"></a>

EventBridge でルールを設定して、スケジュールに基づいてパイプラインを開始することができます。

## パイプラインを開始するスケジュールの EventBridge ルールを作成する (コンソール)
<a name="pipelines-trigger-source-schedule-console"></a>

**スケジュールをイベントソースとする EventBridge ルールを作成するには**

1. Amazon EventBridge コンソール ([https://console.aws.amazon.com/events/](https://console.aws.amazon.com/events/)) を開きます。

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. [**Configure rule details**] ページでルールの名前と説明を入力してから、[**State**] を選択してルールを有効化します。

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 です。このサンプルコマンドでは、パイプラインのサンプルの `ARN` も指定されます。パイプラインは、リポジトリ内に変更が加えられると開始します。

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

1. EventBridge が CodePipeline を使用してルールを呼び出すためのアクセス許可を付与します。詳細については、 デベロッパーガイドの [[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
      ```