AWS SSM Session Manager Zero-SSH Deployment¶
概念概覽
核心模式¶
核心知識¶
核心模式¶
SSM Session Manager 可完全取代 SSH:Security Group 只開 outbound,無 inbound port,無需管理 SSH key,任何有 IAM 權限的人皆可存取。
send-command 可靠性¶
- 若
--parameters包含複雜 bash 指令,**用file://前綴傳 JSON 檔案**比 inline 字串更可靠,避免 shell escaping 問題 send-command非同步,需 polling 等待結果,延遲數秒到數十秒是正常行為
IAM 最小權限組合¶
- EC2 需要的 IAM:
AmazonSSMManagedInstanceCore+ ECR pull + S3 read(視需求組合)
經驗教訓¶
-
SSM send-command 的 inline --parameters 在包含複雜指令時容易因 escaping 失敗,改用 file:// JSON 檔案傳遞更穩定
-
SSM 適合臨時共享環境:無 inbound port 表示不需要 Elastic IP 或安全群組規則維護
常見陷阱¶
-
send-command 有非同步延遲,不能假設指令立即完成
-
SSM 需要 EC2 能主動連外(outbound 443),若在完全封閉的 VPC 需另設 VPC Endpoint
最佳實踐¶
-
複雜 shell 指令用 file:// JSON 傳遞給 send-command
-
Security Group 僅開 outbound,完全靠 SSM 管理進入
相關概念¶
- ec2-terraform-module----dangling-------dangling---
- ECR Image Deployment Pattern
- EKS Node Group Creation with eksctl
- PowerShell Windows Cross-Shell Scripting Pitfalls
來源 Sessions¶
| 日期 | Session | 貢獻摘要 |
|---|---|---|
| 2026-04-07 | 9632bcf1-7666-464a-9364-4b237ee0291b | 記錄以 SSM Session Manager 完全取代 SSH 管理 EC2 的架構模式,以及 send-command 的可靠性技巧 |