ス EventBridge ケジューラの開始方法 - EventBridge スケジューラ

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

ス EventBridge ケジューラの開始方法

このトピックでは、新しいス EventBridge ケジューラスケジュールの作成について説明します。ス EventBridge ケジューラコンソール、 (AWS CLI)、 AWS Command Line Interface または AWS SDKs を使用して、テンプレート化された Amazon SQSターゲットでスケジュールを作成します。次に、ロギングを設定し、再試行回数を設定し、失敗したタスクの最大保持時間を設定します。スケジュールを作成したら、スケジュールがターゲットを正常に呼び出し、ターゲットキューにメッセージを送信することを確認します。

注記

このガイドに従うには、「」で説明されている最低限必要なアクセス許可を持つIAMユーザーを設定することをお勧めしますス EventBridge ケジューラでのアイデンティティベースのポリシーの使用。ユーザーを作成して設定したら、次のコマンドを実行してアクセス認証情報を設定します。 AWS CLIを設定するには、アクセスキー ID と シークレットアクセスキーが必要です。

$ aws configure AWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLE AWS Secret Access Key [None]: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY Default region name [None]: us-west-2 Default output format [None]: json

認証情報を設定するさまざまな方法について詳しくは、「バージョン 2 用AWS Command Line Interface ユーザーガイド」の「構成設定と優先順位」を参照してください。

前提条件

このセクションの手順を開始する前に、次を実行します。

ス EventBridge ケジューラコンソールを使用してスケジュールを作成する

コンソールを使用して新しいスケジュールを作成するには
  1. にサインインし AWS Management Console、次のリンクを選択して EventBridge コンソールのス EventBridge ケジューラセクションを開きます: https://us-west-2.console.aws.amazon.com/scheduler/home?region=us-west-2#home

    注記

    の AWS Management Consoleリージョンセレクタ AWS リージョン を使用して を切り替えることができます。

  2. [スケジュール] ページで、[スケジュールを作成] を選択します。

  3. [スケジュールの詳細を指定] ページの [スケジュールの名前と説明] セクションで、次を実行します。

    1. [スケジュール名] で、スケジュールの名前を入力します。例えば、MyTestSchedule

    2. [説明 - オプション] で、スケジュールの説明を入力します。例えば、My first schedule と指定します。

    3. [スケジュールグループ] で、ドロップダウンオプションからスケジュールグループを選択します。スケジュールグループをまだ作成していない場合は、スケジュールの default グループを選択できます。新しいスケジュールグループを作成するには、コンソールの説明にある [独自のスケジュールを作成] リンクを選択します。スケジュールグループを使用して、スケジュールのグループにタグを追加します。

  4. [スケジュールのパターン] セクションで、次の操作を行います。

    1. [頻度] で、以下のいずれかのパターンオプションを選択します。設定オプションは、選択したパターンによって変わります。

      • [1 回限りのスケジュール] – 1 回限りのスケジュールは、指定した日時に 1 回だけターゲットを呼び出します。

        [日付と時刻] には、有効な日付を YYYY/MM/DD 形式で入力します。次に、24 時間の hh:mm 形式でタイムスタンプを指定します。最後に、ドロップダウンオプションからタイムゾーンを選択します。

      • [繰り返しのスケジュール] – 繰り返しのスケジュールは、cron 式または rate 式を使用して指定したレートでターゲットを呼び出します。

        Cron ベースのスケジュールを選択して、cron式を使用してスケジュールを設定します。rate 式を使用するには、レートベースのスケジュールを選択し、に正の数を入力し、ドロップダウンオプションから単位を選択します。

      cron 式と rate 式の詳細については、「スケ EventBridge ジューラのスケジュールタイプ」を参照してください。

    2. [柔軟な時間枠] で、[オフ] を選択してオプションをオフにするか、ドロップダウンリストから事前定義された時間枠のいずれかを選択します。例えば、[15 分] を選択し、1 時間に 1 回ターゲットを呼び出す繰り返しのスケジュールを設定した場合、スケジュールは毎時の開始後 15 分以内に実行されます。

  5. 前のステップで [繰り返しのスケジュール] を選択した場合は、[時間枠] セクションでタイムゾーンを指定し、必要に応じてスケジュールの開始日時と終了日時を設定します。開始日のない繰り返しのスケジュールは、作成されて利用可能になるとすぐに開始されます。終了日のない繰り返しのスケジュールは、そのターゲットを無期限に呼び出し続けます。

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

  7. [ターゲットを選択] ページで、次の操作を行います。

    1. テンプレート化されたターゲットを選択し、ターゲット を選択しますAPI。この例では、Amazon SQS SendMessage テンプレート化されたターゲットを選択します。

    2. SendMessage セクションのSQSキュー で、ドロップダウンリストから ARNなどの既存の Amazon arn:aws:sqs:us-west-2:123456789012:TestQueue SQSキューを選択します。新しいキューを作成するには、新しいSQSキューの作成を選択して Amazon SQSコンソールに移動します。キューの作成が完了したら、ス EventBridge ケジューラコンソールに戻り、ドロップダウンを更新します。新しいキューARNが表示され、選択することができます。

    3. ターゲット には、ス EventBridge ケジューラがターゲットに配信するペイロードを入力します。この例では、次のメッセージをターゲットキューに送信します: Hello, it's EventBridge Scheduler.

  8. [次へ] を選択し、[設定 - オプション] ページで次の操作を行います。

    1. [スケジュールの状態] セクションの [スケジュールを有効にする] で、スイッチを使って機能のオンとオフを切り替えます。デフォルトでは、ス EventBridge ケジューラはスケジュールを有効にします。

    2. スケジュール完了後のアクションセクションで、スケジュールの完了後にス EventBridge ケジューラが実行するアクションを設定します。

      • スケジュールを自動的に削除するDELETE場合は、 を選択します。1 回限りのスケジュールの場合は、スケジュールがターゲットを一度呼び出した後に削除が実行されます。繰り返しのスケジュールの場合は、スケジュールが最後に予定されていた呼び出しの後に削除が実行されます。自動削除の詳細については、「スケジュール完了後の削除」を参照してください。

      • スケジュールの完了後にス EventBridge ケジューラがアクションを実行しない場合は、 を選択するか、値を選択NONEしないでください。

    3. 「再試行ポリシーとデッドレターキュー (DLQ)」セクションの「再試行ポリシー 」で、「再試行」をオンにして、スケジュールの再試行ポリシーを設定します。再試行ポリシーでは、スケジュールがターゲットの呼び出しに失敗した場合、ス EventBridge ケジューラはスケジュールを再実行します。設定されている場合は、スケジュールの最大保持時間と再試行を設定する必要があります。

    4. イベントの最大経過時間 - オプションで、ス EventBridge ケジューラが未処理のイベントを保持する必要がある最大時間 (s)最小 (s) を入力します。

      注記

      最大値は 24 時間です。

    5. 最大再試行回数 には、ターゲットがエラーを返した場合にス EventBridge ケジューラがスケジュールを再試行する最大回数を入力します。

      注記

      再試行の最大値は 185 です。

    6. デッドレターキュー (DLQ) では、次のオプションから選択します。

      • なし — を設定しない場合は、このオプションを選択しますDLQ。

      • アカウントの AWS Amazon SQSキューを としてDLQ選択する – このオプションを選択し、ARNドロップダウンリストからキューを選択し、スケジュールを作成するキューDLQ AWS アカウント と同じキューを設定します。

      • 他の AWS アカウントの Amazon SQSキューを としてDLQ指定します。このオプションを選択し、キューが別の にある場合はDLQ、 として設定されたキューARNの を入力します AWS アカウント。このオプションを使用するには、キューARNの正確な を入力する必要があります。

    7. 暗号化セクションで、暗号化設定をカスタマイズ (アドバンスト) を選択して、カスタマーマネージドKMSキーを使用してターゲット入力を暗号化します。このオプションを選択した場合は、既存のKMSキーを入力するARNか、 AWS KMSキーの作成を選択して AWS KMS コンソールに移動します。ス EventBridge ケジューラが保管中のデータを暗号化する方法の詳細については、「」を参照してくださいスケ EventBridge ジューラでの保管時の暗号化

    8. [アクセス許可][既存のロールを使用] を選択し、セットアップ手順中に作成したロールをドロップダウンリストから選択します。IAM コンソールに移動を選択して新しいロールを作成することもできます。

      ス EventBridge ケジューラで新しい実行ロールを作成する場合は、代わりにこのスケジュールの新しいロールを作成するを選択します。その後、[ロール名] で名前を入力します。このオプションを選択すると、ス EventBridge ケジューラはテンプレート化されたターゲットに必要なアクセス許可をロールに追加します。

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

  10. [スケジュールの確認と作成] ページで、スケジュールの詳細を確認します。各セクションで、そのステップに戻って詳細を編集するには、[編集] を選択します。

  11. [スケジュールを作成] を選択して、新しいスケジュールの作成を完了します。[スケジュール] ページで、新規および既存のスケジュールのリストを表示できます。[ステータス] 列で、新しいスケジュールが [有効] になっていることを確認します。

  12. スケジュールが Amazon SQSターゲットを呼び出すことを確認するには、Amazon SQSコンソールを開き、以下を実行します。

    1. [キュー] リストからターゲットキューを選択します。

    2. [メッセージの送信と受信] を選択します。

    3. [メッセージの送信と受信] ページの [メッセージの受信][メッセージのポーリング] を選択し、スケジュールによってターゲットキューに送信されたテストメッセージを取得します。

を使用してスケジュールを作成する AWS CLI

次の例は、 AWS CLI コマンドを使用してcreate-schedule、テンプレート化された Amazon SQSターゲットでス EventBridge ケジューラスケジュールを作成する方法を示しています。次のパラメータのプレースホルダ値を自分自身の情報へと置き換えます。

  • --name – スケジュールの名前を入力します。

  • RoleArn – スケジュールに関連付ける実行ロールARNの を入力します。

  • Arn – ターゲットARNの を入力します。この場合、ターゲットは Amazon SQSキューです。

  • 入力 – ス EventBridge ケジューラがターゲットキューに配信するメッセージを入力します。

$ aws scheduler create-schedule --name sqs-templated-schedule --schedule-expression 'rate(5 minutes)' \ --target '{"RoleArn": "ROLE_ARN", "Arn": "QUEUE_ARN", "Input": "TEST_PAYLOAD" }' \ --flexible-time-window '{ "Mode": "OFF"}'

ス EventBridge ケジューラを使用してスケジュールを作成する SDKs

次の例では、ス EventBridge ケジューラを使用してSDKs、テンプレート化された Amazon SQSターゲットでス EventBridge ケジューラスケジュールを作成します。

例 Python SDK
import boto3 scheduler = boto3.client('scheduler') flex_window = { "Mode": "OFF" } sqs_templated = { "RoleArn": "<ROLE_ARN>", "Arn": "<QUEUE_ARN>", "Input": "Message for scheduleArn: '<aws.scheduler.schedule-arn>', scheduledTime: '<aws.scheduler.scheduled-time>'" } scheduler.create_schedule( Name="sqs-python-templated", ScheduleExpression="rate(5 minutes)", Target=sqs_templated, FlexibleTimeWindow=flex_window)
例 Java SDK
package com.example; import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.scheduler.SchedulerClient; import software.amazon.awssdk.services.scheduler.model.*; public class MySchedulerApp { public static void main(String[] args) { final SchedulerClient client = SchedulerClient.builder() .region(Region.US_WEST_2) .build(); Target sqsTarget = Target.builder() .roleArn("<ROLE_ARN>") .arn("<QUEUE_ARN>") .input("Message for scheduleArn: '<aws.scheduler.schedule-arn>', scheduledTime: '<aws.scheduler.scheduled-time>'") .build(); CreateScheduleRequest createScheduleRequest = CreateScheduleRequest.builder() .name("<SCHEDULE NAME>") .scheduleExpression("rate(10 minutes)") .target(sqsTarget) .flexibleTimeWindow(FlexibleTimeWindow.builder() .mode(FlexibleTimeWindowMode.OFF) .build()) .build(); client.createSchedule(createScheduleRequest); System.out.println("Created schedule with rate expression and an Amazon SQS templated target"); } }

次のステップ