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