如何知道我是否在Amazon EC2窗口实例上运行?

我试图弄清楚我是运行在普通的计算机还是ec2(基于JVM的应用程序)。 简单的方法可能是尝试获取实例数据 ,但这意味着我应该等到超时,并且感觉不对。 有一个更快的方法来知道这个吗?

Amazon Windows AMI随附“EC2Config”服务。 如果我们可以对你的环境做一些假设(比如…你也不是在本地运行一些名为EC2Config的服务),那么你可能会利用这一点。

如果您可以列出机器上可用的服务,则可以searchEC2Config服务。 以下是PowerShell中使用Get-Service的示例,如果名为“Ec2Config”的服务的计数大于零,则返回true:

在EC2上:

 PS C:\> @(Get-Service -Name "Ec2Config" -ErrorAction 'SilentlyContinue').Count -gt 0 True 

在本地:

 PS C:\> @(Get-Service -Name "Ec2Config" -ErrorAction 'SilentlyContinue').Count -gt 0 False 

我不能帮你实现一个Java,但是一些Google的search表明它不应该太糟糕。