Java 获取EC2实例中每个资源更改的通知

Java 获取EC2实例中每个资源更改的通知,java,amazon-web-services,amazon-ec2,amazon-sns,amazon-cloudwatch,Java,Amazon Web Services,Amazon Ec2,Amazon Sns,Amazon Cloudwatch,我有一个从EC2资源中读取网络信息的应用程序。应用程序需要了解在AWS中运行的NIC(ENI)、VPC和子网。目前,应用程序一直在轮询AWS API,即describeNetworkInterfaces(),describeVpcs(),以查看是否有任何问题 我想删除这个轮询功能,如果启动了新的EC2实例或创建了新的ENI,如果ENI上的标记发生了更改,AWS会以某种方式通知我 在AWS中有什么方法可以做到这一点吗 我看了SNS和CloudWatch AWS服务。但据我所知,CloudWatch

我有一个从EC2资源中读取网络信息的应用程序。应用程序需要了解在AWS中运行的NIC(ENI)、VPC和子网。目前,应用程序一直在轮询AWS API,即
describeNetworkInterfaces()
describeVpcs()
,以查看是否有任何问题

我想删除这个轮询功能,如果启动了新的EC2实例或创建了新的ENI,如果ENI上的标记发生了更改,AWS会以某种方式通知我

在AWS中有什么方法可以做到这一点吗


我看了SNS和CloudWatch AWS服务。但据我所知,CloudWatch没有针对ENI、专有网络、子网、标签等的“警报”。SNS需要有人推送消息,以便我的应用程序可以从那里读取,默认情况下,EC2不会推送新ENI或专有网络的任何消息。

是的,您可以使用


这里是一个关于设置AWS配置的开发人员指南:

是的,您可以使用


以下是设置AWS配置的开发人员指南:

有两个相关服务:AWS配置和AWS CloudTrail

捕获有关EC2相关资源的信息。这包括实例、子网、安全组、ENI、路由表、VPC等。每次更改都会记录下来。可以检索当前配置并查看更改历史记录

捕获向AWS发出的API请求。这包括更改资源的调用,如更改标记、附加ENIs、启动/停止实例等

CloudTrail可用于在进行特定API调用时触发通知(例如
AttachNetworkInterface
)。然后,CloudWatch事件可以触发SNS通知或将消息推送到SQS队列中。它甚至可以触发AWS Lambda
功能,例如,可以检查事件、检查特定条件,然后发送通知或执行操作

例如,当启动一个EC2实例时,CloudTrail将触发一个Lambda函数,该函数检查实例上的标记,如果实例上有特定的标记值(例如Environment=Production),则通知某人


注意:并非每个地区都有CloudWatch事件和Lambda。

有两个相关服务:AWS ConfigAWS CloudTrail

捕获有关EC2相关资源的信息。这包括实例、子网、安全组、ENI、路由表、VPC等。每次更改都会记录下来。可以检索当前配置并查看更改历史记录

捕获向AWS发出的API请求。这包括更改资源的调用,如更改标记、附加ENIs、启动/停止实例等

CloudTrail可用于在进行特定API调用时触发通知(例如
AttachNetworkInterface
)。然后,CloudWatch事件可以触发SNS通知或将消息推送到SQS队列中。它甚至可以触发AWS Lambda功能,例如,可以检查事件、检查特定条件,然后发送通知或执行操作

例如,当启动一个EC2实例时,CloudTrail将触发一个Lambda函数,该函数检查实例上的标记,如果实例上有特定的标记值(例如Environment=Production),则通知某人

注意:CloudWatch事件和Lambda并不在每个地区