EventBridge のイベントパターンで部分一致させる方法を教えてください

イベントパターンではワイルドカードは使用できませんが、前方一致は使用できます。
2022.08.25

困っていた内容

EventsBridge で特定リソースに関わるイベントを通知する仕組みを構築中です。
特定リソースは複数で、リソース名はprod-からはじまります。
ワイルドカードを使って次のようなイベントパターンを作成したのですが、イベントが一致しません。 リソース名で部分一致をすることはできないのでしょうか。

イベントパターン

{
  "source": ["aws.ecs"],
  "detail-type": ["ECS Task State Change"],
  "detail": {
    "clusterArn": ["arn:aws:ecs:ap-northeast-1:123456789012:cluster/prod-*"]
  }
}

どう対応すればいいの?

プレフィックスマッチング(前方一致)をご利用ください。

具体的には次のようなイベントパターンを作成すると、prod-からはじめるリソースに一致させることができます。

イベントパターン

{
  "source": ["aws.ecs"],
  "detail-type": ["ECS Task State Change"],
  "detail": {
    "clusterArn" : [ { "prefix": "arn:aws:ecs:ap-northeast-1:123456789012:cluster/prod-" } ]
  }
}

ワイルドカードは使用できないの?

2022年8月時点の仕様として、ワイルドカードは使用できません。

EventBridge ルール用のカスタムイベントパターンを作成する

注: イベントパターンではワイルドカードは使用できません。

プレフィックスマッチングや「以外」マッチングなど多様な比較演算子が用意されていますので、ワイルドカードを使用しない方法をご検討ください。

EventBridge で使用できるすべての比較演算子 - Amazon EventBridge

参考資料