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

AWS Systems Manager Distributor

AWS Systems Manager Distributor 允许您将自己的软件打包或查找 AWS 提供的代理软件包(如 AmazonCloudWatchAgent),以便在 AWS Systems Manager 托管实例上安装。Distributor 会将软件包等资源发布到 AWS Systems Manager 托管实例。发布软件包会将软件包文档(您在 Distributor 中添加软件包时创建的 Systems Manager 文档)的特定版本播发到通过托管实例 ID、AWS 账户 ID、标签或 AWS 区域标识的托管实例。

在 Distributor 中创建软件包(这将创建 AWS Systems Manager 文档)后,可以使用以下方式之一安装软件包。

我的组织如何从 Distributor 获益?

Distributor 具备下列优势:

  • 一个软件包,多个平台

    一个文档可以附加在不同操作系统(例如 Windows、Ubuntu Server、Debian 或 Red Hat Enterprise Linux)上安装的 ZIP 文件。有关支持的平台的更多信息,请参阅 支持的软件包平台和架构

  • 跨托管实例组控制软件包访问权限

    您可以使用 Run Command 或 状态管理器 控制哪些托管实例能够获取软件包以及获取软件包的哪个版本。托管实例可以按实例 ID、AWS 账号、标签或 AWS 区域进行分组。您可以使用 状态管理器 关联向不同的实例组提供不同版本的软件包。

  • 包含众多 AWS 代理软件包并且随时可用

    Distributor 包含许多可供您随时部署到托管实例的 AWS 代理软件包。您可以在 Distributor 的 Packages (软件包) 列表页面中找到 Amazon 发布的软件包,例如,AmazonCloudWatchAgentAmazonEC2HibernateAgent

  • 自动部署

    要使您的环境保持最新,请使用 状态管理器 计划在首次启动目标实例时要在其上自动部署的软件包。

谁应该使用 Distributor?

  • 需要创建新软件包或将现有软件包(包括 AWS 发布的软件包)同时部署到多个 AWS Systems Manager 托管实例的任何 AWS 客户。

  • 创建软件包的软件开发人员。

  • 负责确保 AWS Systems Manager 托管实例始终使用最新软件包的管理员。

Distributor 有哪些功能?

  • 将软件包部署到 Windows 和 Linux 实例

    Distributor 可将软件包部署到 Amazon EC2 Windows 和 Linux 实例。有关支持的实例操作系统类型的列表,请参阅支持的软件包平台和架构

  • 一次性或按计划自动部署软件包

    您可以选择一次性、定期或每当默认软件包版本更改为其他版本时部署软件包。

  • 支持通过控制台、CLI、PowerShell 和开发工具包等方式访问 Distributor 功能

    您可以通过 AWS Systems Manager 控制台、AWS CLI、AWS Tools for PowerShell或您选择的 AWS 开发工具包来使用 Distributor。

  • IAM 访问控制

    通过使用 IAM 策略,您可以控制组织的哪些成员能够创建、更新、部署或删除软件包或软件包版本。例如,您可能需要授予管理员部署软件包但不能更改软件包或创建新软件包版本的权限。

  • 支持日志记录和审计功能

    您可以通过与其他 AWS 服务集成来审计和记录您的 AWS 账户中的 Distributor 用户操作。有关更多信息,请参阅审计和记录 Distributor 活动

什么是软件包?

软件包 是包含以下内容的可安装软件或资产的集合。

  • 每个目标操作系统平台的软件的 ZIP 文件。每个 ZIP 文件必须包含以下内容。

    • 一个 install 和一个 uninstall 脚本。基于 Windows 的实例需要 PowerShell 脚本(名为 install.ps1uninstall.ps1 的脚本)。基于 Linux 的实例需要 Shell 脚本(名为 install.shuninstall.sh 的脚本)。SSM 代理 读取并执行 installuninstall 脚本中的指令。

    • 可执行文件。SSM 代理 必须找到此可执行文件才能在目标实例上安装软件包。

  • 用于描述软件包内容的 JSON 格式的清单文件。清单不包含在 ZIP 文件中,但它存储在构成软件包的 ZIP 文件所在的 Amazon S3 存储桶中。清单标识软件包版本并将软件包中的 ZIP 文件映射到目标实例属性,例如操作系统版本或架构。有关如何创建清单的信息,请参阅步骤 2:创建 JSON 软件包清单

当您在 Distributor 控制台中选择简单软件包创建时,Distributor 将根据软件可执行文件名、目标平台和架构为您生成安装和卸载脚本、文件哈希以及 JSON 软件包清单。

支持的软件包平台和架构

Distributor 支持将软件包分发到作为 Systems Manager 托管实例支持的以下平台的任何分发版。版本值必须与您设定为目标的操作系统 AMI 的版本完全匹配。有关确定此版本的更多信息,请参阅步骤 2:创建 JSON 软件包清单的步骤 4。

平台 清单文件中的代码值 架构

Windows Server

windows

x86_64 或者 386

Debian

debian

x86_64 或者 386

Ubuntu Server

ubuntu

x86_64 或者 386

arm64(Ubuntu Server 16 及更高版本,A1 实例类型)

Red Hat Enterprise Linux (RHEL)

redhat

x86_64 或者 386

arm64(RHEL 7.6 及更高版本,A1 实例类型)

CentOS

centos

x86_64 或者 386

Amazon Linux 和 Amazon Linux 2

amazon

x86_64 或者 386

arm64(Amazon Linux 2,A1 实例类型)

SUSE Linux Enterprise Server (SLES)

suse

x86_64 或者 386

openSUSE

opensuse

x86_64 或者 386

openSUSE Leap

opensuseleap

x86_64 或者 386