チュートリアル: 経由で呼び出しに AWS API反応する EventBridge ルールを作成する CloudTrail - Amazon EventBridge

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

チュートリアル: 経由で呼び出しに AWS API反応する EventBridge ルールを作成する CloudTrail

Amazon EventBridge ルールを使用して、 によって記録された AWS サービスによって行われたAPI呼び出しに応答できます AWS CloudTrail。

このチュートリアルでは、 EventBridge コンソールで証AWS CloudTrail跡、Lambda 関数、およびルールを作成します。このルールは、Amazon EC2インスタンスが停止したときに Lambda 関数を呼び出します。

ステップ 1: AWS CloudTrail 証跡を作成する

すでに証跡を設定している場合は、手順 2 に進んでください。

追跡を作成するには
  1. で CloudTrail コンソールを開きますhttps://console.aws.amazon.com/cloudtrail/

  2. [Trails (証跡)]、[Create trail (証跡の作成)] の順に選択します。

  3. [Trail name] に、証跡の名前を入力します。

  4. [Storage Location] (保存場所) の、[Create a new S3 bucket] (新しい S3 バケットを作成する) を実行します。

  5. AWS KMS エイリアス には、KMSキーのエイリアスを入力します。

  6. [次へ] をクリックします。

  7. [次へ] をクリックします。

  8. [追跡の作成]を選択します。

ステップ 2: AWS Lambda 関数を作成する

API 呼び出しイベントをログに記録する Lambda 関数を作成します。

Lambda 関数を作成するには
  1. で AWS Lambda コンソールを開きますhttps://console.aws.amazon.com/lambda/

  2. 関数の作成 を選択します。

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

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

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

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

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

    'use strict'; exports.handler = (event, context, callback) => { console.log('LogEC2StopInstance'); console.log('Received event:', JSON.stringify(event, null, 2)); callback(null, 'Finished'); };
  8. [Deploy‬] (デプロイ) をクリックします。

ステップ 3: ルールを作成する

Amazon EC2インスタンスを停止するたびに、ステップ 2 で作成した Lambda 関数を実行するルールを作成します。

ルールを作成するには:
  1. で Amazon EventBridge コンソールを開きますhttps://console.aws.amazon.com/events/

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

  3. ルールの作成 を選択します。

  4. ルールの名前と説明を入力します。例えば、ルール TestRule に名前を付けます

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

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

  7. [Next] (次へ) を選択します。

  8. [Event source] (イベントソース) では、AWS [services] (サービス) を選択します。

  9. [Event pattern] (イベントパターン) の場合は、次のいずれかを実行します。

    1. イベントソース でEC2ドロップダウンリストから を選択します。

    2. イベントタイプ で、ドロップダウンリストから AWS API経由で通話 CloudTrailを選択します。

    3. [Specific operations(s)] (特定のオペレーション) を選択し、StopInstances を入力します。

  10. [Next] (次へ) を選択します。

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

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

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

  14. [次へ] をクリックします。

  15. [次へ] をクリックします。

  16. ルールの詳細を確認し、ルールの作成 を選択します。

ステップ 4: ルールをテストする

Amazon EC2コンソールを使用して Amazon EC2インスタンスを停止することで、ルールをテストできます。インスタンスが停止するまで数分待ってから、コンソールで AWS Lambda CloudWatchメトリクスをチェックして、関数が実行されたことを確認します。

インスタンスを停止してルールをテストするには
  1. で Amazon EC2コンソールを開きますhttps://console.aws.amazon.com/ec2/

  2. インスタンスを起動します。詳細については、「Amazon ユーザーガイド」の「インスタンスの起動」を参照してください。 EC2

  3. インスタンスを停止します。詳細については、「Amazon ユーザーガイド」の「インスタンスの停止と起動」を参照してください。 EC2

  4. Lambda 関数からの出力を表示するには、以下の操作を実行します。

    1. で CloudWatch コンソールを開きますhttps://console.aws.amazon.com/cloudwatch/

    2. ナビゲーションペインで [ログ] を選択します。

    3. Lambda 関数 (/aws/lambda/function-name) のロググループの名前を選択します。

    4. 停止したインスタンスの関数によって提供されるデータを表示するログのストリーム名を選択します。

  5. (オプション) 終了したら、停止したインスタンスを終了します。詳細については、「Amazon ユーザーガイド」の「インスタンスの終了」を参照してください。 EC2

ステップ 5: 成功を確認する

CloudWatch ログに Lambda イベントが表示された場合、このチュートリアルは正常に完了しています。イベントが CloudWatch ログにない場合は、ルールが正常に作成されたことを確認することでトラブルシューティングを開始し、ルールが正しい場合は Lambda 関数のコードが正しいことを確認します。

ステップ 6: リソースをクリーンアップする

このチュートリアル用に作成したリソースは、保持しない場合は削除できます。使用しなくなった AWS リソースを削除することで、 AWS アカウントへの不要な課金を防ぐことができます。

EventBridge ルールを削除するには (複数可)
  1. EventBridge コンソールのルールページを開きます。

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

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

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

Lambda 関数を削除するには
  1. Lambda コンソールの [関数ページ] を開きます。

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

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

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

CloudTrail 証跡を削除するには (複数可)
  1. CloudTrail コンソールの証跡ページを開きます。

  2. 作成した証跡を選択します。

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

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