# AWS - System Manager Distributor


# System Manager Distributor

SSM Distributor 是專門用在 EC2/On-Premise 主機 分發、版本管理、更新軟體套件的服務

可以把它想成 AWS 原生套件管理系統,軟體安裝檔集中儲存與部署平台


# SSM Distributor 解決的問題

以前公司環境常遇到

  • 每台 EC2 要手動安裝 agent, 工具,runtime
  • 不同環境版本不一致
  • 安裝檔散落 S3,GitHub,EFS
  • 無法中央管理『安裝什麼版本』

Distributor 提供完整的

  • 軟體封裝 (package)
  • 軟體版本部署 (versioned package)
  • 自動化部署 (搭配 State Maanger/Run Command)
  • 中央控管 (誰部署什麼版本)
  • 加密與驗證

# Distributor 支援的軟體類型

你可以分發

類型 支援
EXE/MSI/ZIP 支援
Linux RPM/DEB/Shell Scripts 支援
自家 Agent (Custom Sofftware) 支援
非 AWS 軟體 (Datadog, CrowdStrike) 支援
大型應用軟體 支援

# Distributor 的套件怎麼用

Distributor 套件本質上是

1
2
3
4
package.zip
|-manifest.json (定義如何安裝)
|-installer scripts (bash/powershell)
|-payload(二進位執行檔)

每個 package 有

  • 版本 (versioning)
  • 平台 (Windows/Linux)
  • 安裝方式 (install,update,uninstall)

# Distributor + State Manager

最常見的用法

  • 確保所有 EC2 自動安裝指定版本的軟體

流程

1
2
3
Distributor Package
-> State Manager Association
-> 所有 Managed Instance 自動安裝

應用場景

  • 安裝 SSM Agent 代理程式
  • 更新 CloudWatch Agent
  • 安裝 Security Agent (如 CrowdStrike)
  • 部署公司內部工具

# Reference

  • AWS - AWS Systems Manager Distributor