

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

# 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. **[追跡の作成]**を選択します。[**Trail name**] に、証跡の名前を入力します。

1. [**保存場所**] でログファイルを保存するために使用するバケットを作成あるいは指定します。デフォルトでは、Amazon S3 バケットとオブジェクトはプライベートです。リソース所有者 (バケットを作成した AWS アカウント) のみがバケットとそのオブジェクトにアクセスできます。バケットには、バケット内のオブジェクトへのアクセス AWS CloudTrail を許可するリソースポリシーが必要です。

1. [**証跡ログバケットとフォルダ**] で、フォルダ内のすべてのオブジェクトのデータイベントを記録するための Amazon S3 バケットとオブジェクトプレフィックス (フォルダ名) を指定します。証跡ごとに、最大 250 個の Amazon S3 オブジェクトを追加できます。必要な暗号化キー情報を入力し、**[次へ]** を選択します。

1. **[イベントタイプ]** で **[管理イベント]** を選択します。

1. [**管理イベント**] で、[**書き込み**] を選択します。証跡では、指定したバケットとプレフィックスの Amazon S3 オブジェクトレベルの API アクティビティ (`GetObject` や `PutObject` など) が記録されます。

1. [**Write (書き込み)**] を選択します。

1. 証跡が適切であることを確認したら、[**証跡の作成**] を選択します。

**Amazon S3 ソースを使用するパイプラインをターゲットとする EventBridge ルールを作成するには**

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

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` というオブジェクトキーのルールが作成されます。リソースを指定するために [**編集**] ウィンドウを使用する場合、ルールはカスタムイベントパターンを使用するように更新されます。

   以下に示しているのは、コピーして貼り付けるサンプルイベントパターンです。

   ```
   {
       "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**] を選択します。[**パイプライン ARN**] に、このルールによって開始されるパイプラインの ARN を入力します。
**注記**  
このパイプライン ARN を取得するには、**get-pipeline** コマンドを実行します。パイプライン 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**] を選択します。