AWS SSM與相關服務心得整理

AWS Systems Manager、Session Manager、Parameter Store 關聯整理

一句話總結:AWS Systems Manager 是總管理平台;Session Manager 負責安全連主機;Parameter Store 負責集中保存設定值與密碼。

1. 整體關係

服務 / 元件 角色 白話理解
AWS Systems Manager / SSM 總管理平台 AWS 的主機管理中心,用來集中管理很多台機器。
SSM Agent 主機上的代理程式 讓 EC2 或內部主機可以跟 Systems Manager 溝通。
Session Manager 安全登入功能 不用 SSH Key、不開 22 port,也能連進主機。
Parameter Store 設定與密碼保管功能 集中保存系統設定、DB 密碼、API Key、Token。
IAM Role 權限控管 控制 EC2 能不能被 SSM 管理,也控制 App 能不能讀參數。
KMS 加密服務 幫 SecureString 類型的機密資料加密。

2. 圖形化總覽

AWS Systems Manager / SSM
│
├─ Session Manager
│   └─ 安全連進主機
│
├─ Parameter Store
│   └─ 集中保存設定值與密碼
│
├─ Run Command
│   └─ 批次對多台主機下指令
│
├─ Patch Manager
│   └─ 批次更新修補程式
│
└─ Fleet Manager
    └─ 查看主機清單與狀態
  

3. 核心關聯圖

AWS Systems Manager

主機管理中心

集中管理 EC2 與內部主機

Session Manager

安全登入主機

不用 SSH Key、不開 22 port

Parameter Store

保存設定與密碼

支援 SecureString + KMS

Run / Patch

批次管理主機

下指令、更新、維護

重點:Session Manager 和 Parameter Store 都是 Systems Manager 裡面的功能,不是完全獨立的概念。

4. SSM 怎麼管理主機

使用者 / 管理者
      │
      │ 透過 AWS Console / CLI
      ▼
AWS Systems Manager
      │
      │ 發送管理指令
      ▼
SSM Agent
      │
      │ 在主機上執行與回報
      ▼
EC2 / On-Premises Server
  
元件 作用
Systems Manager 負責集中管理與發送指令。
SSM Agent 裝在主機上,負責接收指令、執行動作、回報結果。
IAM Role 讓主機有權限跟 Systems Manager 溝通。
Network 主機要能連到 Systems Manager 服務端點。

5. Session Manager 的關聯

User
 │
 │ 不用 SSH Key
 │ 不用開 Port 22
 │ 不用 Bastion Host
 ▼
AWS Systems Manager
 │
 ▼
Session Manager
 │
 ▼
SSM Agent
 │
 ▼
EC2 / On-Premises Server
  
傳統 SSH Session Manager
需要開 22 port 不需要開 22 port
需要管理 SSH Key 不需要 SSH Key
常需要 Bastion Host 通常不需要 Bastion Host
操作紀錄要另外設計 可以整合 S3 或 CloudWatch Logs
安全性偏網路控管 安全性偏 IAM 集中控管
白話記法:Session Manager 就是用 Systems Manager 的方式連進主機,避免直接暴露 SSH。

6. Parameter Store 的關聯

Application / Lambda / EC2
        │
        │ 需要設定值或密碼
        ▼
AWS Systems Manager
        │
        ▼
Parameter Store
        │
        ├─ String
        │   └─ 一般設定
        │
        ├─ StringList
        │   └─ 多個設定值
        │
        └─ SecureString
            └─ 密碼 / API Key / Token
               可搭配 KMS 加密
  
資料類型 適合放什麼
String 一般設定值,例如環境名稱、系統參數、URL。
StringList 多個字串值,例如多個 IP、多個參數清單。
SecureString 機密資料,例如 DB 密碼、API Key、Token。
白話記法:Parameter Store 就是把設定和密碼集中放,不要散落在程式碼或每台主機裡。

7. 實務搭配方式

                AWS Systems Manager
                         │
        ┌────────────────┼────────────────┐
        │                │                │
        ▼                ▼                ▼
Session Manager   Parameter Store   Run Command / Patch
登入 EC2          存 DB 密碼          批次下指令與更新
        │                │                │
        ▼                ▼                ▼
不用開 22 port    App 啟動時讀取       多台主機一起維護
不用 SSH Key      SecureString 加密    降低人工操作
  
需求 使用功能 原因
要安全登入 EC2 Session Manager 不用開 SSH,也不用管理 Key。
EC2 要被 SSM 管理 SSM Agent + IAM Role 主機需要能跟 Systems Manager 溝通。
App 不想把 DB 密碼寫死 Parameter Store SecureString 密碼集中保存,並可用 KMS 加密。
要一次對多台主機下指令 Run Command 減少人工登入每台主機操作。
要批次更新 OS Patch Patch Manager 集中控管主機修補作業。
要查看哪些主機被管理 Fleet Manager 快速確認主機狀態與管理範圍。

8. 最好記版本

SSM

管主機

集中管理 EC2 與內部主機。

SSM Agent

當橋樑

讓主機可以跟 Systems Manager 溝通。

Session Manager

連主機

不用 SSH Key,也不用開 22 port。

Parameter Store

放設定與密碼

集中保存設定值、密碼、API Key。

9. 管理角度整理

管理問題 解法
主機太多,不好管理 用 Systems Manager 集中管理。
SSH Key 難控管 用 Session Manager 取代傳統 SSH。
開 22 port 有安全風險 用 Session Manager,Security Group 不開 inbound 22 port。
設定散在各台機器 用 Parameter Store 集中保存。
密碼不想寫在程式裡 用 SecureString + KMS。
多台主機要重複執行指令 用 Run Command 批次執行。
主機修補程式不好控管 用 Patch Manager 統一管理。

10. 最後總結圖

                         AWS Systems Manager / SSM
                              主機管理中心
                                      │
        ┌─────────────────────────────┼─────────────────────────────┐
        │                             │                             │
        ▼                             ▼                             ▼
Session Manager              Parameter Store              Run / Patch 管理
安全登入主機                  保存設定與密碼                批次管理主機
        │                             │                             │
        ▼                             ▼                             ▼
不用 SSH / 22 port            App 讀取設定                  多台主機一起維護
不用 Bastion Host             密碼集中管理                  更新 / 下指令 / 查狀態
        │                             │                             │
        └───────────────┬─────────────┴─────────────┬───────────────┘
                        ▼                           ▼
                   SSM Agent                    IAM Role
                  主機上的代理                   權限控管
                        │
                        ▼
                   EC2 / 主機
  
最後一句話:Systems Manager 是總管,SSM Agent 是橋樑,Session Manager 負責連主機,Parameter Store 負責放設定和密碼。

沒有留言:

張貼留言

AWS Security and Compliance 總整理

AWS Security and Compliance 總整理 一、核心概念 AWS 安全與合規不是靠單一服務,而是透過多層防護來完成。 從外部流量防護、身分權限、資料加密、設定稽核、威脅偵測,到集中管理與事件調查, 每一個服務...