如何在启动时在 Amazon EC2 Lunix 实例上安装 AWS Systems Manager 代理(SSM 代理)?

上次更新日期:2021 年 2 月 23 日

如何在启动时在 Amazon Elastic Compute Cloud (Amazon EC2) Linux 实例上安装 AWS Systems Manager 代理(SSM 代理)?

简短描述

默认情况下,SSM 代理已安装在基于 Amazon Linux 且日期等于或晚于 2017 年 9 月的 AMI 上。此外,SSM 代理也已默认安装在 Amazon Linux 2、Ubuntu Server 16.04、Ubuntu Server 18.04 LTS、Ubuntu Server 20.04 LTS 和 Ubuntu Server 20.10 AMI 上。

您必须手动为通过其他版本的 Linux AMI 创建的 Amazon EC2 实例安装 SSM 代理。这包括非基础映像,例如 Amazon Elastic Container Service (Amazon ECS) 优化的 AMI。您可以在启动前,通过向 Amazon EC2 Linux 实例添加用户数据来安装 SSM 代理。

安装 SSM 代理之前,请查看以下信息:

解决方法

1.    创建一个与 SSM 代理搭配使用的 IAM 实例配置文件

2.    按照使用启动实例向导启动实例中的步骤 1-5 操作。

3.    在 Configure Instance Details(配置实例详细信息)页面中的 IAM role(IAM 角色)下拉列表中,选择在步骤 1 中创建的实例配置文件。

4.    在配置实例详细信息页面上,展开高级详细信息

5.    对于 User data(用户数据),选择 As text(以文本形式)。在 User data(用户数据)框中,按照您的 Lunix 分配要求输入信息。

Amazon Linux 2、RHEL 7 和 CentOS 7(64 位)

#!/bin/bash
cd /tmp
sudo yum install -y https://s3.amazonaws.com/ec2-downloads-windows/SSMAgent/latest/linux_amd64/amazon-ssm-agent.rpm
sudo systemctl enable amazon-ssm-agent
sudo systemctl start amazon-ssm-agent

RHEL 8 和 CentOS 8

#!/bin/bash
cd /tmp
sudo dnf install -y https://s3.amazonaws.com/ec2-downloads-windows/SSMAgent/latest/linux_amd64/amazon-ssm-agent.rpm
sudo systemctl enable amazon-ssm-agent
sudo systemctl start amazon-ssm-agent

注意:为了使 SSM 代理能够正常运行,必须在您的 RHEL 8 或 CentOS 8 实例上安装 Python 2 或 Python 3。要验证是否安装了 Python,请将以下命令添加到前面的命令示例中:

sudo dnf install python3

Amazon Linux、CentOS 6(64 位)

#!/bin/bash
cd /tmp
sudo yum install -y https://s3.amazonaws.com/ec2-downloads-windows/SSMAgent/latest/linux_amd64/amazon-ssm-agent.rpm
sudo start amazon-ssm-agent

Ubuntu 16(Deb 安装程序)、Debian 8 和 9

#!/bin/bash
mkdir /tmp/ssm
cd /tmp/ssm
wget https://s3.amazonaws.com/ec2-downloads-windows/SSMAgent/latest/debian_amd64/amazon-ssm-agent.deb
sudo dpkg -i amazon-ssm-agent.deb
sudo systemctl enable amazon-ssm-agent

Ubuntu 14(Deb 安装程序)

#!/bin/bash
mkdir /tmp/ssm
cd /tmp/ssm
wget https://s3.amazonaws.com/ec2-downloads-windows/SSMAgent/latest/debian_amd64/amazon-ssm-agent.deb
sudo dpkg -i amazon-ssm-agent.deb
sudo start amazon-ssm-agent

Suse 12

#!/bin/bash
mkdir /tmp/ssm
cd /tmp/ssm
wget https://s3.amazonaws.com/ec2-downloads-windows/SSMAgent/latest/linux_amd64/amazon-ssm-agent.rpm
sudo rpm --install amazon-ssm-agent.rpm
sudo systemctl enable amazon-ssm-agent
sudo systemctl start amazon-ssm-agent

有关更多信息,请参阅用户数据和控制台。

6.    完成添加其他参数,如存储、标签和安全组。

7.    启动您的实例。