iva*_*ian 6 amazon-ec2 amazon-web-services aws-cli
如何使用AWS CLI查找在EC2实例上运行的操作系统.
该ec2 describe-instance命令会发出大量信息,但没有任何信息表明操作系统.
我也试过ec2 describe-images一个特定的图像.再一次,似乎没有任何OS的迹象.
救命..?
这是列出Platform字段的快速方法,至少可以区分Windows和Linux:
aws ec2 describe-instances --query 'Reservations[*].Instances[*].[InstanceId,Platform]' --output text
i-78b4ef47 windows
i-b8ae3386 windows
i-9d3611a2 None
i-1c57c651 windows
i-a241ec91 None
i-7d26b630 None
Run Code Online (Sandbox Code Playgroud)
试试这个命令:
aws ec2 describe-images --image-ids $(aws ec2 describe-instances --instance-ids i-xxxxxxxxxxxxx --query 'Reservations[0].Instances[0].ImageId' --output text) --query 'Images[0].Name'
Run Code Online (Sandbox Code Playgroud)
$() 部分使用 InstanceId 获取 ImageId。
如果您的实例上安装了 System Manager 代理,您可以使用DescribeInstanceInformation API来查找该信息:
$ aws ssm describe-instance-information --query 'InstanceInformationList[*].[InstanceId,PlatformType,PlatformName]' --output text | sort
i-016073859e4b31111 Linux Amazon Linux AMI
i-01fa3efe71e4b1111 Linux Amazon Linux AMI
i-03d437d24f7341111 Windows Microsoft Windows Server 2012 R2 Standard
i-048fa3ba0aa151111 Windows Microsoft Windows Server 2012 R2 Standard
i-05e27c562eb881111 Linux Amazon Linux AMI
i-09283c3c05d551111 Windows Microsoft Windows Server 2012 R2 Standard
i-0a51eb40351911111 Linux Amazon Linux AMI
i-0a5aeab8f56ba1111 Linux Amazon Linux AMI
i-0a61968dc51ba1111 Linux Amazon Linux AMI
i-0a84d5b23e5251111 Linux Amazon Linux AMI
i-0b057729594791111 Windows Microsoft Windows Server 2012 R2 Standard
i-0b1d0a7fb339b1111 Linux Amazon Linux AMI
i-0da2fefde50351111 Linux Amazon Linux AMI
i-0eafb22a9581a1111 Linux Amazon Linux AMI
Run Code Online (Sandbox Code Playgroud)
您无法从 AWS cli 查询实例的特定操作系统,但可以查询实例所基于的 AMI。此外,您无法获取“操作系统”属性,但可以获取AMI 的Description或 属性Name,因此,如果您使用有意义的描述创建 AMI,则可以使其正常工作。
$ aws ec2 describe-images --image-ids "ami-xxxxxxxx"
{
"Images": [
{
"VirtualizationType": "paravirtual",
"Name": "amazon-linux-20130509",
"Tags": [
{
"Value": "amazon-linux-20130509",
"Key": "Name"
}
],
"Hypervisor": "xen",
"ImageId": "ami-xxxxxxxx",
"RootDeviceType": "ebs",
"State": "available",
"BlockDeviceMappings": [
{
"DeviceName": "/dev/sda1",
"Ebs": {
"DeleteOnTermination": true,
"SnapshotId": "snap-xxxxxxxx",
"VolumeSize": 100,
"VolumeType": "standard"
}
}
],
"Architecture": "x86_64",
"ImageLocation": "123456789012/amazon-linux-20130509",
"KernelId": "aki-fc37bacc",
"OwnerId": "123456789012",
"RootDeviceName": "/dev/sda1",
"Public": false,
"ImageType": "machine",
"Description": "Amazon Linux"
}
]
}
Run Code Online (Sandbox Code Playgroud)
如果您想了解更详细的信息,您可以随时编写自己的脚本来 ssh 进入计算机并cat /etc/issue在每台计算机中运行。
| 归档时间: |
|
| 查看次数: |
17714 次 |
| 最近记录: |