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 创建日期(控制台)
通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/。
-
在左侧导航窗格中,选择 Instances (实例)。
-
选择一个实例。
-
在说明选项卡上,检查 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
)。
如果成功,该命令将返回类似以下内容的信息,您可以在其中检查 CreationDate
和 Name
字段以获取信息。
{
"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 程序包)
-
原定设置下,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 的版本。
-
运行以下命令确定 SSM Agent是否在运行。
sudo snap list amazon-ssm-agent
-
如果上一条命令返回 amazon-ssm-agent is
stopped
、inactive
或 disabled
,则运行以下命令将启动服务。
sudo snap start amazon-ssm-agent
-
检查代理的状态。
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
-
如果您需要在本地服务器上安装 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
-
运行以下命令之一以确定 SSM Agent是否在运行。
Ubuntu Server 16.04:
sudo systemctl status amazon-ssm-agent
Ubuntu Server 14.04:
sudo status amazon-ssm-agent
-
如果上一条命令返回 amazon-ssm-agent is
stopped
、inactive
或 disabled
,则运行以下命令之一将启动服务。
Ubuntu Server 16.04:
sudo systemctl enable amazon-ssm-agent
Ubuntu Server 14.04:
sudo start amazon-ssm-agent
-
运行以下命令之一以检查代理状态。
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
-
在实例上创建临时目录。
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
-
运行以下命令确定 SSM Agent是否在运行。
sudo status amazon-ssm-agent
-
如果上一条命令返回 amazon-ssm-agent is
stopped
、inactive
或 disabled
,则运行以下命令。
-
启动该代理。
sudo start amazon-ssm-agent
-
检查代理的状态。
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 发布说明页面。