チュートリアル: スケジュールされたイベントでの AWS Lambda の使用 - AWS Lambda

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

チュートリアル: スケジュールされたイベントでの AWS Lambda の使用

このチュートリアルでは、以下の作業を行います。

  • [任意の URL の定期的なチェックをスケジュールする] の設計図を使用して、Lambda 関数を作成します。Lambda 関数を毎分実行されるように設定します。関数がエラーを返すと、Lambda はエラーメトリクスを Amazon にログ記録することに注意してください CloudWatch。

  • がエラーErrorsメトリクスを に発行するときに Amazon SNS トピックにメッセージを投稿するように Lambda AWS Lambda 関数の メトリクスに CloudWatch アラームを設定します CloudWatch。Amazon SNS トピックに、電子メール通知を受け取るようにサブスクライブします。このチュートリアルでは、以下の手順でこの設定を行います。

    • Amazon SNS トピックを作成する。

    • 新しいメッセージがトピックに投稿されたときに E メール通知を取得するようにトピックにサブスクライブします。

    • Amazon で CloudWatch、エラーが発生したときに SNS トピックにメッセージを発行するように Lambda 関数の Errorsメトリクスにアラームを設定します。

前提条件

このチュートリアルでは、基本的な Lambda オペレーションと Lambda コンソールについてある程度の知識があることを前提としています。初めての方は、コンソールで Lambda の関数の作成 の手順に従って最初の Lambda 関数を作成してください。

Lambda 関数を作成する

  1. AWS Management Console にサインインして AWS Lambda コンソール (https://console.aws.amazon.com/lambda/) を開きます。

  2. [Create function] (関数の作成) を選択します。

  3. [設計図の使用] を選択します。

  4. [設計図の選択] ドロップダウンリストを開き、[任意の URL の定期的なチェックをスケジュールする] の設計図を選択します。

  5. 以下を設定します。

    • 関数名lambda-canary

    • [実行の役割][AWS ポリシーテンプレートから新しいロールを作成する]

    • Role namelambda-eventbridge-role

    • Policy templatesシンプルなマイクロサービスのアクセス許可

    • Rule新しいルールを作成します

    • Rule nameCheckWebsiteScheduledEvent

    • Rule descriptionCheckWebsiteScheduledEvent trigger

    • ルールタイプSchedule expression

    • Schedule expressionrate(1 minute)

    • 環境変数

      • sitehttps://docs.aws.amazon.com/lambda/latest/dg/welcome.html

      • expectedWhat is AWS Lambda?

  6. [関数の作成] を選択します。

EventBridge (CloudWatch イベント) は、スケジュール式に基づいて 1 分ごとにイベントを発行します。イベントにより Lambda 関数がトリガーされ、予想される文字列が指定されたページに表示されことが確認されます。スケジュール式の詳細については、「」を参照してくださいrate または cron を使用する式をスケジュールする

Lambda 関数をテストする

Lambda コンソールが提供するサンプルイベントを使用して関数をテストします。

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

  2. lambda-canary 関数を選択します。

  3. [Test] (テスト) を選択します。

  4. イベントテンプレート () を使用して新しいCloudWatchイベントを作成しますcloudwatch-scheduled-event

  5. [ イベントの作成 ] を選択します。

  6. [呼び出し] を選択します。

関数実行の出力がページの上部に表示されます。

Amazon SNS トピックを作成してサブスクライブします。

Canary 関数がエラーを返したときに通知を受け取るための、Amazon Simple Notification Service (Amazon SNS) トピックを作成します。

トピックを作成する
  1. Amazon SNS コンソールを開きます。

  2. Lambda 関数を作成した AWS リージョンに切り替えます。

  3. [Topics] (トピック) を選択してから、[Create topic] (トピックの作成) を選択します。

  4. 次の設定でトピックを作成します。

    • [Type] (タイプ) – [Standard] (スタンダード)

    • [Name] (名前) – lambda-canary-notifications

    • [Display name] (表示名) – Canary

  5. [Create topic] (トピックの作成) を選択します。

  6. lambda-canary-notifications トピックページで、サブスクリプションの作成を選択します。

  7. 次の設定でサブスクリプションを作成します。

    • [Protocol] (プロトコル) – Email

    • [Endpoint] (エンドポイント) – お使いの E メールアドレスです。

  8. [Create subscription] (サブスクリプションの作成) を選択します。

Amazon SNS が Canary <no-reply@sns.amazonaws.com> から E メールを送信します。トピックのフレンドリ名が反映されます。メール内のリンクを使用してアドレスを確認します。

アラームを設定する

Lambda 関数を CloudWatch モニタリングし、失敗したときに通知を送信するアラームを Amazon で設定します。

アラームを作成する
  1. CloudWatch コンソールを開きます。

  2. Lambda 関数を作成した AWS リージョンに切り替えます。

  3. [Add alarm] (アラームを追加) を選択します。

  4. [Create alarm] (アラームの作成) を選択します。

  5. [Specify metric and conditions] (メトリクスと条件の指定) ページで、[Select metric] (メトリクスの選択) を選択します。

  6. [Metrics] (メトリクス) 検索ボックスに [lambda-canary Errors] を入力します。

  7. [Lambda] > [By Function 1 Name] (関数名 1 別) の順に選択します。

  8. [lambda-canary Errors] メトリクスを選択します。

  9. [Specify metric and conditions] (メトリクスと条件の指定) ページの [Statistic] (統計) ドロップダウンメニューから、[Sum] (合計) を選択します。

  10. しきい値を 1 [Greater/Equal] (以上) に設定します。

  11. [Configure actions] (アクションの設定) ページで、以下の設定で通知を追加します。

    • [Alarm state trigger] (アラーム状態トリガー) – [In alarm] (アラーム状態)

    • [Send notification to...] (通知の送信先) – lambda-canary-notifications

  12. [Add name and description] (名前と説明を追加) ページで、以下を入力します。

    • [Name] (名前) – lambda-canary-alarm

    • [Description] (説明) – Lambda canary alarm

  13. [アラームを作成] を選択します。

アラームをテストする

関数の設定を更新し、関数がエラーを返すようにします。これにより、アラームがトリガーされます。

アラームをトリガーするには
  1. Lambda コンソールの [関数ページ] を開きます。

  2. lambda-canary 関数を選択します。

  3. 下にスクロールします。[環境変数] で、[編集] を選択します。

  4. [予定] を 404 に設定します。

  5. [Save] を選択します。

少し待ってから、Amazon SNS からのメッセージが E メールされていることを確認します。

リソースのクリーンアップ

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

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

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

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

  4. テキスト入力フィールドに delete と入力し、[削除] を選択します。

CloudWatch アラームを削除するには
  1. CloudWatch コンソールのすべてのアラームページを開きます。

  2. 作成したアラームを選択します。

  3. [ Actions] で、[Delete ] を選択します。

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

Amazon SNS サブスクリプションを削除するには
  1. Amazon SNS コンソールのSubscriptions page] (サブスクリプションページ) をを開きます。

  2. 作成したサブスクリプションを選択します。

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

Amazon SNS トピックを作成するには
  1. Amazon SNS コンソールで [Topics (トピック)] ページを開きます。

  2. 先ほど作成したトピックを選択します。

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

  4. テキスト入力フィールドに delete me を入力します。

  5. [削除] をクリックします。