【发布时间】:2011-03-20 15:30:04
【问题描述】:
我有一个运行一段时间的 EC2 实例,当它完成时,我希望它自行终止。似乎是一个简单的请求,但我不知道如何让一个实例唯一地标识自己。 AWS API 让我可以枚举正在运行的实例,但如果我有多个从同一个 AMI 启动,我如何找到当前的?
我正在使用 AWS .NET 工具包运行 Windows Server 2008 实例。
【问题讨论】:
标签: .net windows-server-2008 amazon-ec2
我有一个运行一段时间的 EC2 实例,当它完成时,我希望它自行终止。似乎是一个简单的请求,但我不知道如何让一个实例唯一地标识自己。 AWS API 让我可以枚举正在运行的实例,但如果我有多个从同一个 AMI 启动,我如何找到当前的?
我正在使用 AWS .NET 工具包运行 Windows Server 2008 实例。
【问题讨论】:
标签: .net windows-server-2008 amazon-ec2
您可以选择的一些选择:
http://169.254.169.254/latest/meta-data/instance-id 的调用将为您提供终止机器所需的实例ID。然后,您可以将该 ID 提供给您的 TerminateInstancesRequest .NET API 并调用以终止机器。【讨论】:
不确定这是否有帮助,但另一种选择是将您的实例置于 Auto Scaling 组之后,并针对在实例中运行的服务端点设置心跳/健康检查 URL。
这样,当您的服务完成处理后,它可以停止响应心跳,您的实例将被终止。
您需要调整 ASG 的最小/最大实例属性以适应您想要满足的任何用例。
【讨论】: