AWS EventBridge Customise Output to include EC2 Tag Name

0

I've created an EventBridge Rule that notifies me using an SNS email when the Instance State of an EC2 changes, this works fine. I'm using the input transformer to customise the message and want to include the Name of the EC2 as well as the instance ID. Is this possible as the Name is a Tag ? The input so far is : {"account":"$.account","instance-id":"$.detail.instance-id","region":"$.region","state":"$.detail.state","time":"$.time"} Can this be tweaked to provide a tag or get the EC2 Name another way ?

已提问 2 年前1098 查看次数
2 回答
0

You can add more information to the original event (from producer) and create your own event to be handled by the consumer. Use SDK DescribeTags with the instanceID from the original event to Instance tags and add it to the custom event. See diagram:

                           ┌-----------------Custom event---------------- ┐
                           |                                              |  
| Producer | ---- >|Event bus|------ Event does not match tags ----> | Lambda Enrich |
                           |
                           └ --------match tags------>| Consumer| 
已回答 2 年前
  • Hello @Igvir,

    I hope you doing well. Could you please elaborate on the diagram of how it works exactly? (I am pretty new to AWS) Did you mean need to create 3 rules? What does the mean Producer/Consumer/Lambda Enrich?

    Here are my input transformers: {"account":"$.account","instance":"$.detail.instance-id","region":"$.region","state":"$.detail.state","tags":"$.Key|Value","time":"$.time"}

    It would very helpful If you help me display the "instance name".

    Thanks in Advance!

0

Will give that a try thank you.

已回答 2 年前
  • Hey @RobWoodcock, Did you find the solution? we are in the same boat!

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则