Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 识别当前正在执行的EC2实例_.net_Windows Server 2008_Amazon Ec2 - Fatal编程技术网

.net 识别当前正在执行的EC2实例

.net 识别当前正在执行的EC2实例,.net,windows-server-2008,amazon-ec2,.net,Windows Server 2008,Amazon Ec2,我有一个EC2实例,它可以工作一段时间,当它完成时,我希望它自己终止。这似乎是一个简单的请求,但我不知道如何让实例唯一地标识自己。AWSAPI允许我枚举正在运行的实例,但是如果我有几个实例是从同一个AMI启动的,那么如何找到当前实例呢 我正在使用AWS.NET工具包运行Windows Server 2008实例。一些选项供您选择: 根据您问题的措辞,我相信您正在尝试从服务器中获取实例id,然后使用该id作为输入来终止服务器。从服务器内部呼叫http://169.254.169.254/lates

我有一个EC2实例,它可以工作一段时间,当它完成时,我希望它自己终止。这似乎是一个简单的请求,但我不知道如何让实例唯一地标识自己。AWSAPI允许我枚举正在运行的实例,但是如果我有几个实例是从同一个AMI启动的,那么如何找到当前实例呢


我正在使用AWS.NET工具包运行Windows Server 2008实例。

一些选项供您选择:

  • 根据您问题的措辞,我相信您正在尝试从服务器中获取实例id,然后使用该id作为输入来终止服务器。从服务器内部呼叫
    http://169.254.169.254/latest/meta-data/instance-id
    将为您提供终止机器所需的实例id。然后,您可以将该ID提供给
    TerminateInstanceRequest
    .NET API,并进行调用以终止机器
  • 只需编写一个程序来关闭服务器。除非我弄错了,否则关闭服务器会终止它(而不是仅仅停止它)?似乎比选项1容易得多
  • 您可以使用第三方工具,如在固定时间段(例如,1小时后)后自动安排机器终止。这可能不是个坏主意。。。请记住,您是按小时计费的,而不是按分钟计费的。因此,如果您有一个短时间运行的任务,那么如果您在任务完成后立即终止服务器(10分钟后),或者如果您在恰好1小时后自动终止服务器,则不会对您的账单产生影响

  • 不确定这是否有帮助,但另一种选择是将实例置于自动缩放组之后,并针对实例中运行的服务端点设置心跳/健康检查url

    这样,当您的服务完成处理时,它可以停止响应心跳,您的实例将被终止


    您需要调整ASG的最小/最大实例属性,以适应您试图满足的任何用例。

    嘿,Simon,注意编辑,因为您为LabSlice工作(即使您的显示名称确实表明了这一点?),我们的社区对自我提升非常敏感-您的答案没有问题,如果你把它放在邮件里,它会很有帮助。谢谢