如何从Amazon实例获取操作系统信息?

时间:2015-08-22 14:33:01

标签: java api amazon-ec2 amazon ami

是否可以使用Java API从Amazon Instance获取操作系统? 有方法平台 - 但它只返回“Windows”或null,即使我得到Windows我怎么能弄清楚它是什么样的Os系列 - 如Windows,Windows + sql标准,windows + websql,windows + sql enterprice 关于linux的相同 - 我没有找到获取信息的方法 - 是ubuntu还是redhat

1 个答案:

答案 0 :(得分:0)

没有Amazon EC2 API调用来查看Amazon EC2实例的“内部”。但是,您可以获取有关用于启动实例的AMI的信息

以下是一个示例,使用AWS Command-Line Interface (CLI),它对Java进行类似的API调用。

$ aws ec2 describe-instances --query 'Reservations[*].Instances[*].ImageId' --filter Name=instance-id,Values=i-xxxxxxxx --output text
ami-d9fe9be3

$ aws ec2 describe-images --image-ids ami-d9fe9be3
{
    "Images": [
        {
            "VirtualizationType": "hvm", 
            "Name": "amzn-ami-hvm-2014.03.2.x86_64-ebs", 
            "Hypervisor": "xen", 
            "ImageOwnerAlias": "amazon", 
            "SriovNetSupport": "simple", 
            "ImageId": "ami-d9fe9be3", 
            "State": "available", 
            "BlockDeviceMappings": [
                {
                    "DeviceName": "/dev/xvda", 
                    "Ebs": {
                        "DeleteOnTermination": true, 
                        "SnapshotId": "snap-c90a03fd", 
                        "VolumeSize": 8, 
                        "VolumeType": "standard", 
                        "Encrypted": false
                    }
                }
            ], 
            "Architecture": "x86_64", 
            "ImageLocation": "amazon/amzn-ami-hvm-2014.03.2.x86_64-ebs", 
            "RootDeviceType": "ebs", 
            "OwnerId": "137112412989", 
            "RootDeviceName": "/dev/xvda", 
            "CreationDate": "2014-06-11T19:46:45.000Z", 
            "Public": true, 
            "ImageType": "machine", 
            "Description": "Amazon Linux AMI x86_64 HVM EBS"
        }
    ]
}

可以从Description字段中提取信息。但是,请注意 Windows AMI每月都已弃用,因为Microsoft提供了更新。这意味着旧的Windows实例可能无法访问有关其AMI的信息。