AWS Systems Manager
用户指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 Amazon AWS 入门

在 Amazon EC2 Linux 实例上手动安装 SSM 代理

使用以下脚本之一在下列 Linux 实例上安装 SSM 代理。

注意

使用以下脚本中的 URL 可从任意 AWS 区域下载 SSM 代理。如果需要从某特定 区域下载该代理,请复制操作系统的 URL,然后将 region 替换为适当的值。

区域代表 AWS Systems Manager 支持的 AWS 区域的区域标识符,如 us-east-2 表示 US East (Ohio) Region。有关受支持区域值的列表,请参阅 AWS General Reference 中的 AWS Systems Manager 区域和终端节点表区域列。

例如,要从美国西部 1 区域下载适用于 Amazon Linux、RHEL、CentOS 和 SLES 64 位的 SSM 代理,请使用以下 URL:

https://s3-us-west-1.amazonaws.com/amazon-ssm-us-west-1/latest/linux_amd64/amazon-ssm-agent.rpm

如果下载失败,请尝试用 https://s3 替换 https://s3-区域区域.

  • Amazon Linux、RHEL、CentOS 和 SLES 64 位:

    https://s3-区域.amazonaws.com/amazon-ssm-region/latest/linux_amd64/amazon-ssm-agent.rpm

  • Amazon Linux、RHEL 和 CentOS 32 位:

    https://s3-区域.amazonaws.com/amazon-ssm-region/latest/linux_386/amazon-ssm-agent.rpm

  • Ubuntu Server 64 位:

    https://s3-区域.amazonaws.com/amazon-ssm-region/latest/debian_amd64/amazon-ssm-agent.deb

  • Ubuntu Server 32 位:

    https://s3-区域.amazonaws.com/amazon-ssm-region/latest/debian_386/amazon-ssm-agent.deb

手动安装 SSM 代理后,在新版本可用时,您可以使用 Systems Manager 状态管理器 在您的实例上自动更新 SSM 代理。有关更多信息,请参阅 演练:自动更新 SSM 代理 (CLI)

Amazon Linux

连接到您的 Amazon Linux 实例并执行下列步骤来安装 SSM 代理。使用 Systems Manager 对每个将运行命令的实例执行这些步骤。

重要

  • 在 2017.09 及以后日期版本的 Amazon Linux 基本 AMI 上,默认情况下会安装 SSM 代理。

  • 对于其他版本的 Linux (包括经 Amazon ECS 优化的 AMI 等非基本映像),您必须手动安装 SSM 代理。

  • 从 Amazon Linux AMI 创建的使用代理的实例必须运行 Python requests 模块的当前版本,才能支持 Patch Manager 操作。有关更多信息,请参阅 在使用代理服务器的 Amazon Linux 实例上升级 Python 请求模块

在 Amazon Linux 上安装 SSM 代理

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

    mkdir /tmp/ssm
  2. 更改为临时目录。

    cd /tmp/ssm
  3. 使用以下命令之一下载和运行 SSM 安装程序。

    64 位实例:

    sudo yum install -y https://s3.amazonaws.com/ec2-downloads-windows/SSMAgent/latest/linux_amd64/amazon-ssm-agent.rpm

    32 位实例:

    sudo yum install -y https://s3.amazonaws.com/ec2-downloads-windows/SSMAgent/latest/linux_386/amazon-ssm-agent.rpm
  4. 运行以下命令确定 SSM 代理是否在运行。该命令应返回“amazon-ssm-agent is running”消息。

    sudo status amazon-ssm-agent
  5. 如果上一条命令返回“amazon-ssm-agent is stopped”消息,则运行以下命令。

    1. 启动服务。

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

      sudo status amazon-ssm-agent

Ubuntu Server

连接到您的 Ubuntu 实例并执行下列步骤来安装 SSM 代理。使用 Systems Manager 对每个将运行命令的实例执行这些步骤。

在 Ubuntu 上安装 SSM 代理

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

    mkdir /tmp/ssm
  2. 使用以下命令之一下载和运行 SSM 安装程序。

    64 位实例:

    wget https://s3.amazonaws.com/ec2-downloads-windows/SSMAgent/latest/debian_amd64/amazon-ssm-agent.deb sudo dpkg -i amazon-ssm-agent.deb

    32 位实例:

    wget https://s3.amazonaws.com/ec2-downloads-windows/SSMAgent/latest/debian_386/amazon-ssm-agent.deb sudo dpkg -i amazon-ssm-agent.deb
  3. 运行以下命令确定 SSM 代理是否在运行。

    Ubuntu Server 14:

    sudo status amazon-ssm-agent

    Ubuntu Server 16:

    sudo systemctl status amazon-ssm-agent
  4. 如果上一条命令返回“amazon-ssm-agent is stopped”、“inactive”或“disabled”,则运行以下命令。

    1. 启动服务。

      Ubuntu Server 14:

      sudo start amazon-ssm-agent

      Ubuntu Server 16:

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

      Ubuntu Server 14:

      sudo status amazon-ssm-agent

      Ubuntu Server 16:

      sudo systemctl status amazon-ssm-agent

Red Hat Enterprise Linux (RHEL)

连接到您的 RHEL 实例并执行下列步骤来安装 SSM 代理。使用 Systems Manager 对每个将运行命令的实例执行这些步骤。

在 Red Hat Enterprise Linux 上安装 SSM 代理

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

    mkdir /tmp/ssm
  2. 使用以下命令之一下载和运行 SSM 安装程序。

    64 位实例:

    sudo yum install -y https://s3.amazonaws.com/ec2-downloads-windows/SSMAgent/latest/linux_amd64/amazon-ssm-agent.rpm

    32 位实例:

    sudo yum install -y https://s3.amazonaws.com/ec2-downloads-windows/SSMAgent/latest/linux_386/amazon-ssm-agent.rpm
  3. 运行以下命令之一以确定 SSM 代理是否在运行。该命令应返回“amazon-ssm-agent is running”消息。

    RHEL 7.x:

    sudo systemctl status amazon-ssm-agent

    RHEL 6.x:

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

    1. 启动服务。

      RHEL 7.x:

      sudo systemctl enable amazon-ssm-agent
      sudo systemctl start amazon-ssm-agent

      RHEL 6.x:

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

      RHEL 7.x:

      sudo systemctl status amazon-ssm-agent

      RHEL 6.x:

      sudo status amazon-ssm-agent

CentOS

连接到您的 CentOS 实例并执行下列步骤来安装 SSM 代理。使用 Systems Manager 对每个将运行命令的实例执行这些步骤。

在 CentOS 上安装 SSM 代理

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

    mkdir /tmp/ssm
  2. 使用以下命令之一下载和运行 SSM 安装程序。

    64 位实例:

    sudo yum install -y https://s3.amazonaws.com/ec2-downloads-windows/SSMAgent/latest/linux_amd64/amazon-ssm-agent.rpm

    32 位实例:

    sudo yum install -y https://s3.amazonaws.com/ec2-downloads-windows/SSMAgent/latest/linux_386/amazon-ssm-agent.rpm
  3. 运行以下命令之一以确定 SSM 代理是否在运行。该命令应返回“amazon-ssm-agent is running”消息。

    CentOS 7.x:

    sudo systemctl status amazon-ssm-agent

    CentOS 6.x:

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

    1. 启动服务。

      CentOS 7.x:

      sudo systemctl enable amazon-ssm-agent
      sudo systemctl start amazon-ssm-agent

      CentOS 6.x:

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

      CentOS 7.x:

      sudo systemctl status amazon-ssm-agent

      CentOS 6.x:

      sudo status amazon-ssm-agent

SUSE Linux Enterprise Server (SLES) 12

连接到您的 SLES 实例并执行下列步骤来安装 SSM 代理。使用 Systems Manager 对每个将运行命令的实例执行这些步骤。

在 SLES 上安装 SSM 代理

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

    mkdir /tmp/ssm
  2. 更改为临时目录。

    cd /tmp/ssm
  3. 使用以下命令下载和运行 SSM 安装程序。

    64 位实例:

    wget https://s3.amazonaws.com/ec2-downloads-windows/SSMAgent/latest/linux_amd64/amazon-ssm-agent.rpm sudo rpm --install amazon-ssm-agent.rpm
  4. 运行以下命令确定 SSM 代理是否在运行。该命令应返回“amazon-ssm-agent is running”消息。

    sudo systemctl status amazon-ssm-agent
  5. 如果上一条命令返回“amazon-ssm-agent is stopped”消息,则运行以下命令。

    1. 启动服务。

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

      sudo systemctl status amazon-ssm-agent

Raspbian

本部分包括有关如何在 Raspbian Jessie 和 Raspbian Stretch (包括 Raspberry Pi (32 位) 设备) 上安装 SSM 代理的信息。

开始前的准备工作

要将 Raspbian 设备设置为 Systems Manager 托管实例,您需要创建托管实例激活。完成激活后,您将收到一个激活代码和 ID。此代码/ID 组合具有 Amazon EC2 访问 ID 和私有密钥的功能,可提供从托管实例对 Systems Manager 服务的安全访问。在安全位置存储激活代码和 ID。有关激活流程的更多信息,请参阅在混合环境中设置 AWS Systems Manager

连接到您的 Raspbian 设备并执行下列步骤来安装 SSM 代理。使用 Systems Manager 对每个将运行命令的实例执行这些步骤。

在 Raspbian 设备上安装 SSM 代理

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

    mkdir /tmp/ssm
  2. 使用以下命令下载和运行 SSM 安装程序。

    sudo curl https://s3.amazonaws.com/ec2-downloads-windows/SSMAgent/latest/debian_arm/amazon-ssm-agent.deb -o /tmp/ssm/amazon-ssm-agent.deb
  3. 运行以下命令安装 SSM 代理:

    sudo dpkg -i /tmp/ssm/amazon-ssm-agent.deb
  4. 运行以下命令停止 SSM 代理。

    sudo service amazon-ssm-agent stop
  5. 运行以下命令,以使用您完成托管实例激活过程时收到的托管实例激活代码和 ID 注册代理。

    sudo amazon-ssm-agent -register -code "code" -id "ID" -region "region"
  6. 运行以下命令启动 SSM 代理。

    sudo service amazon-ssm-agent start

注意

如果在 SSM 代理错误日志中看到以下错误,说明计算机 ID 在重启后发生变更:

Unable to load instance associations, unable to retrieve associations unable to retrieve associations error occurred in RequestManagedInstanceRoleToken: MachineFingerprintDoesNotMatch: Fingerprint does not match

运行以下命令使计算机 ID 在重启后保持不变。

umount /etc/machine-id systemd-machine-id-setup