Amazon Systems Manager Distributor - Amazon Systems Manager
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

Amazon Systems Manager Distributor

Distributor 是 Amazon Systems Manager 的一项功能,可以帮助您将软件打包并发布到 Amazon Systems Manager 托管式节点。您可以打包和发布自己的软件,也可以使用 Distributor 查找和发布 AmazonCloudWatchAgent 等 Amazon 提供的代理软件包,或者 Trend Micro 等第三方软件包。发布软件包会将特定版本的软件包文档公布给通过节点 ID、Amazon Web Services 账户 ID、标签或 Amazon Web Services 区域 标识的托管式节点。要开始使用 Distributor,请打开 Systems Manager 控制台。在导航窗格中,选择 Distributor

在 Distributor 中创建软件包后,可以使用以下方式之一安装该软件包:

重要

第三方卖家分发的程序包不由 Amazon 管理,而是由程序包供应商发布。建议开展额外的尽职调查,确保遵守您的内部安全控制措施。安全性是 Amazon 和您的共同责任。这被描述为责任共担共担模式。要了解更多信息,请参阅责任共担模式

我的组织如何从 Distributor 获益?

Distributor 具备下列优势:

  • 一个软件包,多个平台

    在 Distributor 中创建软件包时,系统会创建 Amazon Systems Manager 文档(SSM 文档)。您可以将 .zip 格式文件附加到此文档中。运行 Distributor 时,系统会处理 SSM 文档中的指令,并将.zip 格式文件中的软件包安装到指定目标上。Distributor 支持 Windows、Ubuntu Server、Debian Server 和 Red Hat Enterprise Linux 等多种操作系统。有关支持的平台的更多信息,请参阅 支持的软件包平台和架构

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

    您可以使用 Run Command 或 State Manager 控制哪些托管式节点能够获取软件包,以及获取该软件包的哪个版本。Run Command 和 State Manager 是 Amazon Systems Manager 的功能。托管式节点可以按实例或设备 ID、Amazon Web Services 账户 账号、标签或 Amazon Web Services 区域 进行分组。您可以使用 State Manager 关联向不同的实例组提供不同版本的软件包。

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

    Distributor 包含许多可供您随时部署到托管式节点的 Amazon 代理软件包。可以在 Distributor Packages 列表页面中查找 Amazon 发布的软件包。示例包括 AmazonCloudWatchAgentAWSPVDriver

  • 自动部署

    要使您的环境保持最新,请使用 State Manager,在首次启动这些计算机时,安排要在目标托管式节点上自动部署的软件包。

谁应该使用 Distributor?

  • 希望创建新软件包或将现有软件包(包括 Amazon 发布的软件包)同时部署到多个 Systems Manager 托管式节点的任何 Amazon 客户。

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

  • 负责保持 Systems Manager 托管式节点始终使用最新软件包的管理员。

Distributor 具有哪些功能?

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

    借助 Distributor,您可以将软件包部署到适用于 Linux 和 Windows Server 的 Amazon Elastic Compute Cloud (Amazon EC2) 实例和 Amazon IoT Greengrass 核心设备。有关支持的实例操作系统类型的列表,请参阅 支持的软件包平台和架构

    注意

    Distributor 在 macOS 操作系统上不受支持。

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

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

  • 完全重新安装软件包或执行就地更新

    要安装新的软件包版本,可以根据您提供的更新脚本 完全卸载当前版本并在其位置安装新版本,或者仅使用新组件和更新的组件更新当前版本。软件包应用程序在重新安装期间不可用,但在就地更新期间保持可用。对于安全监控应用程序或需要避免应用程序停机的其他情况,就地更新是特别有用的。

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

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

  • IAM 访问控制

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

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

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

什么是软件包?

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

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

    • installuninstall 脚本。基于 Windows Server 的托管式节点需要使用 PowerShell 脚本(名为 install.ps1uninstall.ps1 的脚本)。基于 Linux 的托管式节点需要使用 Shell 脚本(名为 install.shuninstall.sh 的脚本)。Amazon Systems Manager SSM Agent 读取并执行 installuninstall 脚本中的指令。

    • 可执行文件。SSM Agent 必须找到此可执行文件才能在目标托管式节点上安装软件包。

  • 用于描述软件包内容的 JSON 格式的清单文件。清单不包含在 .zip 文件中,而是存储在与构成软件包的 .zip 文件相同的 Amazon Simple Storage Service (Amazon S3) 存储桶中。该清单指定软件包版本,并将软件包中的 .zip 格式文件映射到目标托管式节点属性,例如操作系统版本或架构。有关如何创建清单的信息,请参阅 步骤 2:创建 JSON 软件包清单

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

支持的软件包平台和架构

您可以使用 Distributor 将软件包发布到以下 Systems Manager 托管式节点平台。版本值必须与您设定为目标的操作系统 Amazon Machine Image (AMI) 的发行版本完全匹配。有关确定此版本的更多信息,请参阅 步骤 2:创建 JSON 软件包清单 的步骤 4。

注意

Systems Manager 不支持 Amazon IoT Greengrass 核心设备的以下所有操作系统。有关更多信息,请参阅 Amazon IoT Greengrass 开发人员指南中的设置 Amazon IoT Greengrass Version 2 核心设备

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

Windows Server

windows

x86_64386

Debian Server

debian

x86_64386

Ubuntu Server

ubuntu

x86_64386

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

Red Hat Enterprise Linux (RHEL)

redhat

x86_64386

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

CentOS

centos

x86_64386

Amazon Linux 1、Amazon Linux 2 和 Amazon Linux 2023

amazon

x86_64386

arm64(Amazon Linux 2 和 AL2023、A1 实例类型)

SUSE Linux Enterprise Server (SLES)

suse

x86_64386

openSUSE

opensuse

x86_64386

openSUSE Leap

opensuseleap

x86_64 或者 386

Oracle Linux

oracle

x86_64