如何找到我的 EC2 Linux 实例正在使用的操作系统平台或版本?

上次更新日期:2021 年 1 月 6 日

我想要查找在我的 Amazon Elastic Compute Cloud (Amazon EC2) 实例上运行的操作系统 (OS) 或版本号。如果我没有在启动时将操作系统特定的标签分配给我的实例,我该怎么做?

简短描述

公用 AMI 在 Description(描述)或 Name(名称)参数中列出了它们所基于的分配。当您基于公用 AMI 生成新 AMI 时,分配会切换到自定义 Linux,您可能无法查看与平台相关的信息。

解决方法

使用 Amazon EC2 控制台

Amazon EC2 控制台中,您可以使用以下三种方法之一检查操作系统或版本号:

  • 查看平台详细信息AMI ID 信息。
  • 查看实例的控制台日志或屏幕截图。
  • 查看 AWS Systems Manager 托管实例的平台信息。

查看平台详细信息或 AMI ID 信息

新的 Amazon EC2 控制台:

  1. 选择实例。
  2. Details(详细信息)选项卡中,查看 Platform details(平台详细信息)字段中的操作系统和版本信息。或者,选择 AMI ID

旧 Amazon EC2 控制台:

  1. 选择实例。
  2. Description(描述)选项卡中,查看 AMI ID 平台的操作系统和版本信息。
  • 平台详细信息:查看实例正在使用的(推理)平台的 Platform details(平台详细信息)字段。
  • AMI ID:选择 AMI ID 字段下的链接以打开 AMI 控制面板。查看 Details(详细信息)选项卡以了解有关操作系统和版本的信息。
    注意:AMI 控制面板可能原定设置为显示我拥有的 AMI。如果需要,您可以将此筛选条件更改为 Public images(公有镜像)或 Private images(私有镜像)。

查看实例的控制台日志或屏幕截图

新的 Amazon EC2 控制台:

  1. 选择实例。
  2. 依次选择 Actions(操作)、Monitor and troubleshoot(监控和问题排查)、Get system log(获取系统日志)。
  3. 搜索要在日志条目中查找的关键字,例如 Linux内核

-或者-

  1. 选择实例。
  2. 依次选择 Actions(操作)、Monitor and troubleshoot(监控和问题排查)、Get instance screenshot(获取实例屏幕截图)。

旧 Amazon EC2 控制台:

  1. 选择实例。
  2. 依次选择 Actions(操作)、Instance Settings(实例设置)、Get system log(获取系统日志)。
  3. 搜索要在日志条目中查找的关键字,例如 Linux内核

-或者-

  1. 选择实例。
  2. 依次选择 Actions(操作)、Instance Settings(实例设置)、Get instance screenshot(获取实例屏幕截图)。

注意:AWS 对实例上运行的软件或操作系统的可见性有限。这意味着 AWS 无法提供与操作系统相关的特定信息。AWS 根据 AMI 名称和描述预测 Platform details(平台详细信息)字段中的信息。因此,列出的平台对于前述两种方法并非始终准确。如果默认情况下启用控制台日志,则日志通常会显示实例使用的操作系统和版本。

查看 AWS Systems Manager 托管实例的平台信息

  1. 打开托管实例控制台
  2. 选择实例。此时将显示实例的 Platform type(平台类型)、Platform name(平台名称)和 Platform version(平台版本)。

注意:托管实例是使用 AWS Systems Manager 配置的任何计算机或实例。要显示在 AWS Systems Manager 托管实例选项卡上,实例必须处于运行状态、安装了 amazon-ssm-agent 并拥有分配给他们的所需 AWS Identity and Access Management (IAM) 权限。

有关使用 AWS Systems Manager 的先决条件的信息,请参阅 Systems Manager 先决条件

在托管实例上使用 AWS 命令行界面 (AWS CLI)

您可以使用 AWS CLI 查看安装并配置了 ssm-agent 的实例的 Linux 操作系统平台和版本信息。运行以下命令来安装并使用 jquery 实用程序,然后再运行 ssm describe-instances-information 命令。在以下示例命令中,请将 us-east-1 替换为您的区域。

注意:如果在运行 AWS CLI 命令时收到错误,请确保您使用的是最新的 AWS CLI 版本

# sudo yum install -y jq*
# aws ssm describe-instance-information --query 'InstanceInformationList[*].[InstanceId,PlatformType,PlatformName]' --output table  --region us-east-1
------------------------------------------------------
|             DescribeInstanceInformation            |
+----------------------+--------+--------------------+
|  i-0e446328e4070b25c |  Linux |  SLES              |
|  i-09ab5fd0cf37a45da |  Linux |  Amazon Linux AMI  |
|  i-0dd6cd6c3210f605e |  Linux |  SLES              |
|  i-05dd60329fb29cd74 |  Linux |  Ubuntu            |
+----------------------+--------+--------------------+

$ aws ssm describe-instance-information --region us-east-1
{
    "InstanceInformationList": [
        {
            "IsLatestVersion": false, 
            "ComputerName": "ip-172-31-39-244.ec2.internal", 
            "PingStatus": "Online", 
            "InstanceId": "i-0b89uiydekijihuh", 
            "IPAddress": "172.31.39.244", 
            "ResourceType": "EC2Instance", 
            "AgentVersion": "2.3.978.0", 
            "PlatformVersion": "15.1", 
            "PlatformName": "SLES", 
            "PlatformType": "Linux", 
            "LastPingDateTime": 1593669078.246
        }
}

这篇文章对您有帮助吗?


您是否需要账单或技术支持?