如何使用 AWS CDK 获取现有的 EC2 实例 ID 并将其存储到数组中
How to fetch existing EC2 instance id and store it to an array using AWS CDK
我想创建 CloudWatch CPU 使用 CDK 的 EC2 实例利用率监控,我想为每个实例创建一个警报,如果超过阈值将触发 SNS 通知。
我不想对这些实例 ID 进行硬编码,而是想直接从 AWS 获取它们并将它们保存到一个数组中。问题是我没有找到任何允许我列出所有 EC2 实例的方法。理想情况下,我想使用类似于 vpc.fromLookup 的方法,但对于 EC2,这是否存在?
您有两种选择,但这取决于您的具体用例。
如果您谈论的是在同一堆栈中创建的实例,AWS CDK ec2 Instance
类型 has a property instanceId
。此实例 ID 将添加到模板中作为对相关 Instance
资源的引用,CloudFormation 将在部署时解决此问题。
如果您正在谈论创建不同的堆栈并且只想获取当前 运行 个实例,则必须使用 AWS SDK。您可以使用 the ec2.describeInstances
method 查找所有实例并以这种方式获取实例 ID。
我想创建 CloudWatch CPU 使用 CDK 的 EC2 实例利用率监控,我想为每个实例创建一个警报,如果超过阈值将触发 SNS 通知。
我不想对这些实例 ID 进行硬编码,而是想直接从 AWS 获取它们并将它们保存到一个数组中。问题是我没有找到任何允许我列出所有 EC2 实例的方法。理想情况下,我想使用类似于 vpc.fromLookup 的方法,但对于 EC2,这是否存在?
您有两种选择,但这取决于您的具体用例。
如果您谈论的是在同一堆栈中创建的实例,AWS CDK ec2 Instance
类型 has a property instanceId
。此实例 ID 将添加到模板中作为对相关 Instance
资源的引用,CloudFormation 将在部署时解决此问题。
如果您正在谈论创建不同的堆栈并且只想获取当前 运行 个实例,则必须使用 AWS SDK。您可以使用 the ec2.describeInstances
method 查找所有实例并以这种方式获取实例 ID。