0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

FailedInvocationsの原因究明に手こずった件

0
Posted at

はじめに

EventBridgeとECSを連携させる際、イベントは正常に検知されているのに、ターゲットのECSタスクが起動しない問題に遭遭遇しました。CloudTrailを活用することで、原因を効率的に特定することができました。本記事では、その調査プロセスを共有します。

問題の背景

構成概要:

Amazon EventBridge: イベントソース
ECSタスク: 実行ターゲット
期待動作: 特定のイベント発火時に自動的にECSタスクを起動

発生した問題:

EventBridgeのコンソールでは、イベントが正常にマッチしていることが確認できたにもかかわらず、タスク実行に失敗していました。

症状の確認

EventBridge コンソール表示:

  • Rule: 有効(Enabled)
  • Invocations: ✓ カウントが増える(イベント検知できている)
  • Failed Invocations: ✗ エラーカウントも増えている

CloudWatch Logs確認:

• ECS側のタスクログ: 記録なし(タスクが起動していない)

確認した項目

  • EventBridge Rule の状態確認
    → Enabled になっているか

  • ターゲット設定の確認
    → Role ARN が正しく設定されているか

  • ECSクラスタの状態確認
    → 適切なクラスタを指定しているか

  • IAM ロールの基本的な権限確認
    → 必要な権限がアタッチされてるか

ここまでの確認では、目立った設定ミスが見当たりません。
やはり、FailedInvocationsの原因をまずは把握するべきですね。
そこで、CloudTrailでイベント呼び出しのログを探してみる事にしました。

CloudTrailとは

CloudTrailはAWS APIコールを記録するサービスで、失敗したAPI呼び出しのエラー詳細が記録されます

CloudTrail コンソールでの検索手順

ステップ1: CloudTrail コンソールにアクセス

  • AWS Management Console → CloudTrail
    image.png

ステップ2: イベント履歴を検索

  • 検索フィルタを設定
  • イベント名: RunTask
  • イベントソース: ecs.amazonaws.com
    image.png

ステップ3: RunTask イベントの詳細を確認

  • イベント詳細のエラーコードとイベントレコードを解析
    image.png

根本の原因

LaunchTypeの指定が間違っていた。
FARGATEを指定すべきところを、EC2にしてしまってました。
こちらを修正する事で、正常にターゲットのECSタスクが起動するようになりました!

おわりに

FailedInvocationsの原因解析には、CloudTrailでの解析が一番の近道となる事が今回の経験で分かりました。

エラーメッセージが不十分な場合でも、CloudTrailには詳細なAPIレベルのエラー情報が記録されています。今後同様の問題に遭遇した際は、まずCloudTrailを確認するようにしたいと思います。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?