

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

# チュートリアル: Amazon EventBridge のイベントのアーカイブと再生
<a name="eb-tutorial-archive-replay"></a>

EventBridge を使用して、[ルール](eb-rules.md)を使用した特定の[AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html)関数に[イベント](eb-events.md)をルーティングできます。

このチュートリアルでは、Lambda コンソールを使用して、EventBridge ルールのターゲットとして使用する関数を作成します。次に、[アーカイブ](eb-archive-event.md)と EventBridge コンソールを使用して、テストイベントをアーカイブするルールを作成します。そのアーカイブにイベントがある場合は、それらを[再生](eb-replay-archived-event.md)します。

**Topics**
+ [ステップ 1: Lambda 関数を作成する](#eb-create-lambda-function)
+ [ステップ 2: アーカイブの作成](#eb-ar-create-archive)
+ [ステップ 3: ルールを作成する](#eb-ar-create-rule)
+ [ステップ 4: テストイベントの送信](#eb-ar-send-test-events)
+ [ステップ 5：イベントの再生](#eb-ar-replay-events)
+ [ステップ 6: リソースをクリーンアップする](#cleanup)

## ステップ 1: Lambda 関数を作成する
<a name="eb-create-lambda-function"></a>

始めに、Lambda 関数を作成してイベントのログを記録します。

**Lambda 関数を作成するには**

1. AWS Lambda コンソールの [https://console.aws.amazon.com/lambda/](https://console.aws.amazon.com/lambda/) を開いてください。

1. [**関数の作成**] を選択してください。

1. **Author from scratch** (製作者を最初から) を選択します。

1. Lambda 関数の名前と説明を入力します。例えば、関数名を `LogScheduledEvent` とします。

1. 残りのオプションはデフォルトのまま、[**Create function**] (関数の作成) を選択します。

1. 関数ページの [**Code**] (コード) タブで、**index.js** をダブルクリックします。

1. 既存の JavaScript コードを以下のコードに置き換えます。

   ```
   'use strict';
   
   exports.handler = (event, context, callback) => {
       console.log('LogScheduledEvent');
       console.log('Received event:', JSON.stringify(event, null, 2));
       callback(null, 'Finished');
   };
   ```

1. **[デプロイ]** を選択します。

## ステップ 2: アーカイブの作成
<a name="eb-ar-create-archive"></a>

次に、すべてのテストイベントを保持するアーカイブを作成します。

**ステップ 5: アーカイブを作成するには**

1. Amazon EventBridge コンソールの [https://console.aws.amazon.com/events/](https://console.aws.amazon.com/events/) を開いてください。

1. ナビゲーションペインで [**Archives (アーカイブ)**] を選択します。

1. [**Create archive**] (アーカイブの作成) を選択します。

1. アーカイブの名前と説明を入力します。たとえば、アーカイブ `ArchiveTest` に名前を付けます。

1. 残りのオプションはデフォルトのまま、[**Next**] (次へ) を選択します。

1. [**Create archive**] (アーカイブの作成) を選択します。

## ステップ 3: ルールを作成する
<a name="eb-ar-create-rule"></a>

イベントバスに送信されるイベントをアーカイブするルールを作成します。

**ルールを作成するには:**

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

1. ナビゲーションペインで **ルール]** を選択します。

1. **[ルールの作成]** を選択します。

1. ルールの名前と説明を入力します。たとえば、ルール `ARTestRule` に名前を付けます。

   ルールには同じリージョン内および同じイベントバス上の別のルールと同じ名前を付けることはできません。

1. **[Event bus]** (イベントバス) では、このルールに関連付けるイベントバスを選択します。このルールをアカウントからのイベントと一致させるには、**[default]** (デフォルト) を選択します。アカウントの AWS サービスがイベントを発行すると、常にアカウントのデフォルトのイベントバスに移動します。

1. **[Rule type]** (ルールタイプ) では、**[Rule with an event pattern]** (イベントパターンを持つルール) を選択します。

1. **次へ** を選択します。

1. **[Event source]** (イベントソース) では、**[Other]** (その他) を選択します。

1. **[Event pattern]** (イベントパターン) では、次のように入力します。

   ```
   {
     "detail-type": [
       "customerCreated"
     ]
   }
   ```

1. [**次へ**] を選択します。

1. **[Target types]** (ターゲットタイプ) では、**AWS[services]** (サービス) を選択します。

1. **ターゲットの選択**では、ドロップダウンリストから **[Lambda function]** (Lambda 関数) を選択します。

1. **[Function] (関数)** で、**[Step 1: Create a Lambda function] (ステップ 1：Lambda 関数を作成する)** セクションで作成した Lambda 関数を選択します。この例では、`LogScheduledEvent` を選択します。

1. [**次へ**] を選択します。

1. [**次へ**] を選択します。

1. ルールの詳細を確認し、**[Create rule]** (ルールの作成) を選択します。

## ステップ 4: テストイベントの送信
<a name="eb-ar-send-test-events"></a>

アーカイブとルールを設定したので、アーカイブが正しく動作していることを確認するためにテストイベントを送信します。

**注記**  
イベントがアーカイブに到達するまでに、時間がかかることがあります。

**テストイベントを送信するには (コンソール)**

1. Amazon EventBridge コンソールの [https://console.aws.amazon.com/events/](https://console.aws.amazon.com/events/) を開いてください。

1. ナビゲーションペインの [**Event Buses**] (イベントバス) を選択します。

1. **[Default event bus] (デフォルトのイベントバス)** タイルで、**[Actions] (アクション)**、**[Send events] (イベントの送信)** を選択します。

1. イベントソースを入力します。例えば、`TestEvent`。

1. **[Detail type] (詳細タイプ)** を使用する場合、`customerCreated` と入力します。

1. **[Event detail] (イベントの詳細)** を使用する場合、`{}` と入力します。

1. **[送信]** を選択します。

## ステップ 5：イベントの再生
<a name="eb-ar-replay-events"></a>

テストイベントがアーカイブに保存されたら、それらを再生できます。

**アーカイブされたイベントを再生するには (コンソール)**

1. Amazon EventBridge コンソールの [https://console.aws.amazon.com/events/](https://console.aws.amazon.com/events/) を開いてください。

1. ナビゲーションペインの [**Replays (再生)**] を選択します。

1. [**Start new replay (新規再生を開始)**] を選択します。

1. 再生の名前と説明を入力します。たとえば、再生 `ReplayTest` に名前を付けます。

1. **[Source] (ソース)** で、**[Step 2: Create archive] (ステップ 2：アーカイブの作成)** セクションで作成したアーカイブを選択します。

1. **[Replay time frame] (再生時間フレーム)** で、次の作業を行います。

   1.  **[Start time] (開始時間)** で、テストイベントを送信した日付と送信する前の時刻を選択します。例えば、`2021/08/11` と `08:00:00` です。

   1.  **[End time] (終了時間)** で、現在の日付と時刻を選択します。例えば、`2021/08/11` と `09:15:00` です。

1. [**Start Replay**] (再生を開始) を選択します。

## ステップ 6: リソースをクリーンアップする
<a name="cleanup"></a>

このチュートリアル用に作成したリソースは、保存を希望しない限り、すぐに削除できます。使用しなくなった AWS リソースを削除することで、AWS アカウントに請求される料金が発生しないようにできます。

**Lambda 関数を削除するには**

1. Lambda コンソールの [[Functions]](https://console.aws.amazon.com/lambda/home#/functions) (関数) ページを開きます。

1. 作成した関数を選択します。

1. **[Actions]** (アクション) で、**[Delete]** (削除) を選択します。

1. [**削除**] を選択します。

**EventBridge アーカイブを削除するには**

1. Eventbridge コンソールの [[Archives](https://console.aws.amazon.com/events/home#/archives)] (アーカイブ) ページを開きます。

1. 作成したアーカイブを選択します。

1. **[削除]** を選択します。

1. アーカイブ名を入力し、**[Delete] (削除)** を選択します。

**EventBridge ルールを削除するには**

1. Eventbridge コンソールの [[Rules](https://console.aws.amazon.com/events/home#/rules)] (ルール) ページを開きます。

1. 作成したルールを選択します。

1. [**Delete**] (削除) を選択します。

1. [**Delete**] (削除) を選択します。