在 Ubuntu Server 实例上手动安装 SSM Agent - Amazon Systems Manager
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

在 Ubuntu Server 实例上手动安装 SSM Agent

连接到您的 Ubuntu Server 实例,然后执行下列步骤来安装 Amazon Systems Manager Agent (SSM Agent)。对将使用 Systems Manager 运行命令的每个实例执行这些步骤。

关于 64 位 Ubuntu Server 16.04 实例上的 SSM Agent安装

从通过使用 20180627 标识的 Ubuntu Server 16.04 Amazon Machine Images (AMIs) 创建的实例开始,已使用 Snap 软件包预安装 SSM Agent。例如:ubuntu/images/hvm-ssd/ubuntu-xenial-16.04-amd64-server-20180627。在通过较早 AMIs 创建的实例上,您应继续使用 deb 安装软件包。

对于从 64 位 Ubuntu Server 16.04 AMI 创建的实例,请确保遵循 SSM Agent 安装类型的正确过程:

重要

请注意,如果实例上已安装多个 SSM Agent(例如,一个是使用 Snap 安装的,一个是使用 deb 安装程序安装的),则代理将无法正常运行。

您可以使用以下任一方法对验证实例的源 AMI ID 创建日期。这些过程仅适用于 Amazon 托管的 AMIs。

验证源 AMI ID 创建日期(控制台)

  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 在左侧导航窗格中,选择 Instances (实例)

  3. 选择一个实例。

  4. 说明选项卡上,检查 AMI ID 字段的值中是否存在 YYYYMMDD 标识符。例如:ubuntu/images/hvm-ssd/ubuntu-xenial-16.04-amd64-server-20180627

验证源 AMI ID 创建日期 (Amazon CLI)

  • 运行以下 命令。

    aws ec2 describe-images --image-ids ami-id

    ami-id 表示 Amazon 提供的 AMI 的 ID(例如 ami-07c8bc5c1ce9598c3)。

    如果成功,该命令将返回类似以下内容的信息,您可以在其中检查 CreationDateName 字段以获取信息。

    {
        "Images": [
            {
                "Architecture": "x86_64",
                "CreationDate": "2020-07-24T20:40:27.000Z",
                "ImageId": "ami-07c8bc5c1ce9598c3",
    -- truncated --
                "ImageOwnerAlias": "amazon",
                "Name": "amzn2-ami-hvm-2.0.20200722.0-x86_64-gp2",
                "RootDeviceName": "/dev/xvda",
                "RootDeviceType": "ebs",
                "SriovNetSupport": "simple",
                "VirtualizationType": "hvm"
            }
        ]
    }

在 Ubuntu Server 实例上安装 SSM Agent

Ubuntu Server 20.10 STR & 20.04, 18.04, and 16.04 LTS 64-bit (Snap)

在 Ubuntu Server 20.10 STR & 20.04、18.04 和 16.04 LTS 64 位实例上安装 SSM Agent(使用 Snap 程序包)

  1. 原定设置下,SSM Agent安装到 Ubuntu Server 20.04、18.04 和 16.04 LTS 64 位 AMIs(带标识符 20180627)或更高版本上。

    如果您需要在本地服务器上安装 SSM Agent或者需要重新安装代理,您可以使用以下脚本。您无需为下载指定 URL,因为 snap 命令会自动从 Snap 应用商店 https://snapcraft.io 下载代理。

    sudo snap install amazon-ssm-agent --classic
    重要

    Snap 存储中的候选通道包含最新版本的 SSM Agent(包括所有最新的错误修复);而不是稳定频道。要了解有关候选通道和稳定通道之间的差异的更多信息,请参阅风险级别(网址为 https://snapcraft.io/docs/channels

    如果您想跟踪有关候选通道的 SSM Agent 版本信息,请在 Ubuntu Server 20.10 STR & 20.04、18.04 和 16.04 LTS 64 位实例上运行以下命令。

    sudo snap switch --channel=candidate amazon-ssm-agent
    注意

    请注意以下有关 Ubuntu Server 20.10 STR 和 20.04、18.04 和 16.04 LTS 上的 SSM Agent 的详细信息:

    • 由于 Snap 的已知问题,使用 snap 命令时您可能会看到 Maximum timeout exceeded 错误。如果您收到此错误,请运行以下命令(一次运行一条命令)来启动代理、停止它并检查其状态:

      sudo systemctl start snap.amazon-ssm-agent.amazon-ssm-agent.service
      sudo systemctl stop snap.amazon-ssm-agent.amazon-ssm-agent.service
      sudo systemctl status snap.amazon-ssm-agent.amazon-ssm-agent.service
    • 在 Ubuntu Server 20.10 STR & 20.04、 18.04 和 16.04 LTS 上,SSM Agent 安装程序文件(包括代理二进制文件和配置文件)均存储在以下目录中:/snap/amazon-ssm-agent/current/。如果要对此目录中的任何配置文件进行更改,则必须将这些文件从 /snap 目录复制到 /etc/amazon/ssm/ 目录。日志和二进制文件尚未更改(/var/lib/amazon/ssm/var/log/amazon/ssm)。

    • 在 Ubuntu Server 20.10 STR & 20.04 和 18.04 LTS 上,建议仅使用 Snap。另外请确保实例上只安装并运行了代理的一个实例。如果不想 SSM Agent 与 Snap 一起使用,请卸载 SSM Agent。然后将 SSM Agent 作为 Debian 软件包进行安装,确保未安装与要作为 Debian 软件包管理的软件包列表重叠的任何 Snap。

    • 在 Ubuntu Server 20.10 STR & 20.04、18.04 和 16.04 LTS 上,SSM Agent 提供了对 arm64 处理器架构的支持。

    • 在 Ubuntu Server 16.04 上,使用 Snap 或 deb 安装软件包安装 SSM Agent,具体取决于 16.04 AMI 的版本。

  2. 运行以下命令确定 SSM Agent是否在运行。

    sudo snap list amazon-ssm-agent
  3. 如果上一条命令返回 amazon-ssm-agent is stoppedinactivedisabled,则运行以下命令将启动服务。

    sudo snap start amazon-ssm-agent
  4. 检查代理的状态。

    sudo snap services amazon-ssm-agent
Ubuntu Server 16.04 and 14.04 64-bit (deb)

在 Ubuntu Server 16.04 和 14.04 64 位实例(带 deb 安装程序包)上安装 SSM Agent

  1. 如果您需要在本地服务器上安装 SSM Agent或者需要重新安装代理,您可以使用以下脚本。

    重要

    原定设置下,SSM Agent安装到从 Ubuntu Server 16.04 LTS 64 位 AMIs(带标识符 20180627)或更高版本创建的实例上。通过具有较早标识符(例如 AMIs 和 20171121.1)的 20180522 创建的实例将继续使用 deb 安装程序。

    如果 SSM Agent 与 Snap 一起安装到实例上,并且使用 deb 安装程序软件包安装或更新 SSM Agent,则安装或 SSM Agent 操作可能失败。

    在实例上创建临时目录。

    mkdir /tmp/ssm

    更改为临时目录。

    cd /tmp/ssm

    运行以下命令。

    region 表示 Amazon Systems Manager 支持的 Amazon Web Services 区域 的标识符,例如 us-east-2 对应美国东部(俄亥俄)区域。有关受支持的 region 值的列表,请参阅 Amazon Web Services 一般参考中的 Systems Manager 服务终端节点中的 Region(区域)列。

    wget https://s3.cn-north-1.amazonaws.com.cn/amazon-ssm-cn-north-1/latest/debian_amd64/amazon-ssm-agent.deb
    sudo dpkg -i amazon-ssm-agent.deb
  2. 运行以下命令之一以确定 SSM Agent是否在运行。

    Ubuntu Server 16.04:

    sudo systemctl status amazon-ssm-agent

    Ubuntu Server 14.04:

    sudo status amazon-ssm-agent
  3. 如果上一条命令返回 amazon-ssm-agent is stoppedinactivedisabled,则运行以下命令之一将启动服务。

    Ubuntu Server 16.04:

    sudo systemctl enable amazon-ssm-agent

    Ubuntu Server 14.04:

    sudo start amazon-ssm-agent
  4. 运行以下命令之一以检查代理状态。

    Ubuntu Server 16.04:

    sudo systemctl status amazon-ssm-agent

    Ubuntu Server 14.04:

    sudo status amazon-ssm-agent
Ubuntu Server 16.04 and 14.04 32-bit

在 Ubuntu Server 16.04 和 14.04 32 位实例上安装 SSM Agent

  1. 在实例上创建临时目录。

    mkdir /tmp/ssm

    更改为临时目录。

    cd /tmp/ssm

    运行以下命令。

    region 表示 Amazon Systems Manager 支持的 Amazon Web Services 区域 的标识符,例如 us-east-2 对应美国东部(俄亥俄)区域。有关受支持的 region 值的列表,请参阅 Amazon Web Services 一般参考中的 Systems Manager 服务终端节点中的 Region(区域)列。

    wget https://s3.cn-north-1.amazonaws.com.cn/amazon-ssm-cn-north-1/latest/debian_386/amazon-ssm-agent.deb
    sudo dpkg -i amazon-ssm-agent.deb
  2. 运行以下命令确定 SSM Agent是否在运行。

    sudo status amazon-ssm-agent
  3. 如果上一条命令返回 amazon-ssm-agent is stoppedinactivedisabled,则运行以下命令。

    1. 启动该代理。

      sudo start amazon-ssm-agent
    2. 检查代理的状态。

      sudo status amazon-ssm-agent
注意

如果您无法从 Amazon Web Services 区域 下载该代理,请使用以下全球 URL 之一。即使以下 URL 显示“ec2-downloads-windows”,对于 Linux 操作系统,这些也是正确的 URL。

  • Intel 64-bit (x86_64)

    https://s3.cn-north-1.amazonaws.com.cn/amazon-ssm-cn-north-1/latest/linux_amd64/amazon-ssm-agent.rpm
  • ARM 64-bit (arm64)

    https://s3.cn-north-1.amazonaws.com.cn/amazon-ssm-cn-north-1/latest/debian_arm64/amazon-ssm-agent.deb
  • Intel 32-bit (x86)

    https://s3.cn-north-1.amazonaws.com.cn/amazon-ssm-cn-north-1/latest/linux_386/amazon-ssm-agent.rpm
重要

如果有新功能添加至 Systems Manager 或者对现有功能进行了更新,则将发布 SSM Agent 的更新版本。如果较早版本的代理正在托管式节点上运行,有些 SSM Agent 过程会失败。因此,我们建议您自动完成确保机器上的 SSM Agent 为最新的过程。有关信息,请参阅 自动更新到 SSM Agent。要获取有关 SSM Agent 更新的通知,请在 GitHub 上订阅 SSM Agent 发布说明页面。