Tuần 8 - Ngày 3: AWS Systems Manager (SSM)
Mục tiêu học tập
- Hiểu SSM ecosystem
- Nắm Session Manager, Patch Manager, Run Command, Parameter Store
- Áp dụng SSM cho EC2 + on-prem management
1. Tổng quan Systems Manager
AWS Systems Manager (SSM) = unified interface to manage AWS + on-prem infrastructure.
Đặc điểm
- Manage EC2 + on-prem servers
- No SSH keys needed (Session Manager)
- Centralized patch management
- Configuration as data (Parameter Store)
- Compliance scanning
- Operational insights
Requirements
- SSM Agent installed (preinstalled on Amazon Linux, Windows Server AMIs)
- IAM role attached (
AmazonSSMManagedInstanceCorepolicy) - Network connectivity to SSM endpoints (VPC Endpoint optional)
2. Key Capabilities
Session Manager
- Browser-based shell to EC2 + on-prem
- No SSH, no bastion host, no open ports
- Audit log of sessions to S3/CloudWatch
- IAM-controlled access
Benefits
- Security: no port 22 open
- Audit: every session logged
- Cross-OS: Linux SSH + Windows RDP
Run Command
- Execute commands on multiple instances without SSH
- Pre-defined documents (e.g.,
AWS-RunShellScript) - Targets: instance IDs, tags, resource groups
- Audit log via CloudTrail
Use cases
- Install software across fleet
- Apply patches
- Run scripts on Auto Scaling groups
Patch Manager
- Automated patching of OS + applications
- Patch baselines: rules for which patches to apply
- Patch groups: target instances by tag
- Maintenance windows: when to patch (off-hours)
- Cross-OS support
State Manager
- Maintain desired state of instances
- E.g., always ensure CloudWatch Agent installed
- Run on schedule (cron)
Inventory
- Collect software + config inventory from instances
- Centralized view of installed software, network config, files
- Use case: license tracking, compliance
Maintenance Windows
- Schedule maintenance tasks (patching, runbook)
- Cron-based
- Avoid disrupting production
Parameter Store
- Store configuration + secrets
- Already covered in Tuần 6 Day 2
3. SSM Session Manager Setup
Basic setup
- Attach IAM role with
AmazonSSMManagedInstanceCoreto EC2 - SSM Agent running (default for AL2, Windows Server)
- Open AWS Console → SSM → Session Manager → Start session
Advantages over SSH
- No SSH key management
- No port 22 in Security Group
- No bastion host needed
- Audit trail
- Works with private subnet instances (no internet needed if VPC Endpoint configured)
Logging
- Configure to log session to CloudWatch Logs or S3
- Capture all commands + output
- Use case: compliance, forensics
4. Patch Manager
Patch Baselines
- AWS-managed baselines: per OS
- Custom baselines: customer-defined rules
- Approval rules: auto-approve critical patches after N days
Workflow
- Configure patch baseline
- Tag instances with
Patch Group - Define maintenance window (e.g., Sunday 2 AM)
- SSM applies patches during window
- Compliance report
Patch Compliance
- Compliance dashboard shows % patched
- Identify non-compliant instances
5. Run Command
Example: Install Apache on all EC2 with tag Role=web
aws ssm send-command \
--document-name "AWS-RunShellScript" \
--targets "Key=tag:Role,Values=web" \
--parameters 'commands=["yum install -y httpd","systemctl start httpd"]'
Built-in documents
AWS-RunShellScript(Linux)AWS-RunPowerShellScript(Windows)AWS-UpdateSSMAgentAWS-ConfigureAWSPackage(install AWS-distributed packages)
Custom documents
- YAML/JSON
- Reusable runbooks
6. Automation Documents
Định nghĩa
Automation documents = scripts orchestrate AWS actions (similar to Step Functions but simpler).
Use cases
- Patch + reboot fleet
- Snapshot all RDS at end of day
- Update AMI in Launch Templates
- Compliance remediation (via Config integration)
Trigger sources
- Manual execution
- Maintenance Windows
- EventBridge (event-driven automation)
- Config rules (remediation)
7. SSM Inventory
Collected data
- AWS components, applications, files, network config, services, Windows updates, Windows registry, Windows roles
Storage
- Aggregate to S3 via Resource Data Sync
- Query với Athena, visualize với QuickSight
Use case
- Software license tracking
- Vulnerability patching priority
- Compliance audit
8. AppConfig
Định nghĩa
AppConfig = manage application configuration changes (feature flags, gradual rollout).
Đặc điểm
- Validation before deploy
- Gradual rollout (10%, 50%, 100%)
- Rollback if errors
- A/B testing
- Integrate với Lambda, ECS, EC2
Use case
- Feature flags
- Configuration changes without redeploy
- Canary config rollout
9. OpsCenter
Định nghĩa
OpsCenter = central place to view + investigate operational issues.
Aggregates
- Config compliance violations
- CloudWatch alarms
- AWS Health events
- Trusted Advisor recommendations
Use case
- Single pane of glass for ops team
10. Common Patterns
Pattern 1: SSH-less infrastructure
- No bastion host
- All access via Session Manager
- IAM-controlled per user
Pattern 2: Automated patching
- Tag instances by environment
- Patch Manager applies based on tags + baseline
- Maintenance window during off-hours
- Compliance dashboard tracks
Pattern 3: Config drift detection + auto-fix
- AWS Config rule "ssm-agent-installed"
- Non-compliant → trigger SSM Automation document
- Document installs SSM Agent
Pattern 4: Centralized configuration
- Parameter Store hierarchy:
/myapp/{env}/{component}/... - Apps fetch at runtime
- Update without redeploy
11. Multi-Account, Hybrid
Hybrid (on-prem)
- Install SSM Agent on-prem
- Register as managed instance (with activation code)
- Treat on-prem servers like EC2 in SSM
Multi-account
- IAM cross-account roles
- Run Command from management account to member accounts
- Resource Groups for grouping
Câu hỏi ôn tập
-
SSM Session Manager khác SSH ở điểm gì?
Xem đáp án
Session Manager: (1) Không cần port 22 mở, không cần key pairs, (2) Không cần bastion host, (3) Toàn bộ session được log (CloudWatch, S3), (4) Access kiểm soát qua IAM (không phải SSH keys), (5) Hoạt động cho instances trong private subnet không có public IP (qua SSM endpoints). SSH truyền thống cần inbound port 22, key management phức tạp, ít audit. Session Manager là zero-trust access approach.
-
Patch Manager dùng để làm gì?
Xem đáp án
Tự động patch OS và software trên EC2 instances (và on-premises servers). Define Patch Baseline (danh sách patches approved/rejected theo severity). Maintenance Window schedule khi patch được apply. Compliance report cho biết instances nào đã patch, còn thiếu patches gì. Hỗ trợ Windows, Amazon Linux, Ubuntu, RHEL, SUSE. Giảm manual effort patch management across fleet của instances.
-
Run Command có thể target instances bằng cách nào?
Xem đáp án
Run Command target instances theo: (1) Instance IDs cụ thể, (2) Resource Group tags (ví dụ: Environment=Production), (3) Tag key-value (ví dụ: Patch=true), (4) All managed instances trong account. Chạy cùng command trên hàng nghìn instances song song (controlled by rate) mà không cần SSH từng cái. Output lưu vào S3 hoặc CloudWatch Logs.
-
Parameter Store khác AppConfig ở điểm gì?
Xem đáp án
Parameter Store: key-value storage cho config và secrets, giá trị là strings, SecureString (KMS-encrypted), StringList. Simple retrieval. AWS AppConfig: designed cho feature flags và application configuration với deployment strategies (canary, linear rollout), validation (JSON schema, Lambda validator), rollback nếu CloudWatch alarm trigger. AppConfig không crash apps với bad config; Parameter Store là simple key-value without deployment safety.
-
SSM Agent có preinstalled trên AMIs nào?
Xem đáp án
SSM Agent preinstalled trên: Amazon Linux 2, Amazon Linux 2023, Windows Server 2008-2022 AMIs from AWS. Cũng có trên Ubuntu 16.04+ và RHEL 7.4+ AWS AMIs từ 2017. Với AMIs khác hoặc on-premises servers cần cài thủ công. Instance cũng cần IAM role với
AmazonSSMManagedInstanceCorepolicy và network access đến SSM endpoints (qua internet hoặc VPC Interface Endpoints).
Bài tập thực hành
- Attach IAM role với SSM policy vào EC2
- Connect via Session Manager (no SSH key needed)
- Run Command: install package trên 3 instances
- Setup Patch Manager baseline + maintenance window
- Tạo Parameter Store hierarchy cho app config
- (Optional) Register on-prem server với SSM
Tài liệu tham khảo chính thức
Tiếp theo: Trusted Advisor