Amazon Simple Queue Service (Amazon SQS) キュー内のメッセージを処理するように AWS Lambda 関数を設定しましたが、SQS トリガーがアクティブになっていません。
Lambda 関数を使用して Amazon SQS キュー内のメッセージを処理できます。イベントソースマッピングは、イベントソースから読み取って Lambda 関数を呼び出します。
Lambda ポーラーは、Amazon SQS キューに対して継続的に ReceiveMessage API コールを行います。ReceiveMessage API コールが完了しない場合、AWS::Lambda::EventSourceMapping リソースは非アクティブ化されます。
Lambda 関数の実行ロールに ChangeMessageVisibility、DeleteMessage、GetQueueAttributes、ReceiveMessage API アクションへのアクセス許可があることを確認します。
Amazon SQS キューが AWS Key Management Service (AWS KMS) の SSE-KMS 暗号化を使用して設定されている場合は、次の点を確認する必要があります。
**注: ** SSE-KMS 暗号化を使用する Amazon SQS キューは、AWS クロスアカウント内の Lambda 関数を呼び出すことはできません。
AWS CloudTrail イベント履歴を使用してデータイベントを検索し、トラブルシューティング用のエラーコードを確認できます。 **注: ** CloudTrail は AWS アカウントでデフォルトで有効になっています。
AWS アカウントのイベントを継続的に記録するには、トレイルを作成してください。このトレイルは、アカウントで行われた API コールのログを作成します。 **注: ** CloudTrail コンソールで最新のイベント履歴を表示することもできます。
次の手順を実行します。
1.CloudTrail コンソールを開く。
2.ナビゲーションペインで [Event history] (イベント履歴) を選択する。
3.指示に従って、ユースケースに合わせて CloudTrail イベントを確認、表示、フィルタリングする。
記録されたイベント履歴を CSV または JSON 形式のファイルとしてダウンロードすることもできます。
CloudTrail イベント名 LambdaESMDisabled を確認してください。イベントログには、Amazon SQS トリガーがアクティブではない理由に関する詳細情報を含むデータイベント LambdaESMDisable が含まれています。
詳細については、「CloudTrail を使用した無効な Lambda イベントソースのトラブルシューティング」を参照してください。
Amazon SQS メトリクスの Amazon CloudWatch アラームを作成して、受信、送信、削除されたメッセージの数などの通知を受けることができます。たとえば、Amazon SQS メトリクス NumberOfMessagesReceived を使用して、最近返されたメッセージの数を取得できます。カウントが 0 の場合は、新しい Lambda 関数を呼び出して Amazon SQS トリガーのステータスを確認します。Amazon SQS トリガーがまだ非アクティブ化になっている場合は、新しい Lambda 関数を使用して有効にします。
詳細については、Available CloudWatch metrics for Amazon SQS (Amazon SQS で利用可能な CloudWatch メトリクス) を参照してください。
Amazon SQS キューへのアクセス権を付与する方法を教えてください。
Lambda 関数が失敗する場合のトラブルシューティング方法を教えてください。
This article was reviewed and updated on 2026-03-06.
AWS Official
応答済み 1ヶ月前
MatNao
質問済み 2年前
Sato-K
Daisuke
質問済み 1年前
44Taka
質問済み 3年前
Ogawa_F
公開済み 4日前